CZ20001058A3 - A method and system for prefetching data - Google Patents
A method and system for prefetching data Download PDFInfo
- Publication number
- CZ20001058A3 CZ20001058A3 CZ20001058A CZ20001058A CZ20001058A3 CZ 20001058 A3 CZ20001058 A3 CZ 20001058A3 CZ 20001058 A CZ20001058 A CZ 20001058A CZ 20001058 A CZ20001058 A CZ 20001058A CZ 20001058 A3 CZ20001058 A3 CZ 20001058A3
- Authority
- CZ
- Czechia
- Prior art keywords
- information
- objects
- pumping
- requested
- server
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000005086 pumping Methods 0.000 claims abstract description 220
- 238000012545 processing Methods 0.000 claims description 25
- 238000004891 communication Methods 0.000 claims description 13
- 238000011156 evaluation Methods 0.000 claims description 7
- 230000036316 preload Effects 0.000 claims description 5
- 238000000926 separation method Methods 0.000 claims description 4
- 238000012546 transfer Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 15
- 230000006399 behavior Effects 0.000 description 9
- 102100031132 Glucose-6-phosphate isomerase Human genes 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000001934 delay Effects 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 101100190466 Caenorhabditis elegans pid-3 gene Proteins 0.000 description 1
- 102100037791 Macrophage migration inhibitory factor Human genes 0.000 description 1
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 1
- 240000002853 Nelumbo nucifera Species 0.000 description 1
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
Způsob a systém je určen pro předčerpávání dat pro klienty (22) přidružené k hierarchii proxy serverů (21, 23, 24) a vylepšený přenos dat ze serverů (20) s obsahem na klienty (22). Způsob pro předčerpávání dat identifikuje vzory přístupů k datům a předčerpává výběrové informace na základě dynamické interpretace vzorů přístupů k datům. Server (20) s obsahem nebo proxy server(21,23, 24) identifikuje vzory odkazů přístupů k datům klientů (22) přidružených k serveru (20) s obsahem nebo hierarchii proxy serverů (21,23, 24). Vzory přístupu k datům jsou přednostně ukládány do statistické tabulky. Server (20) s obsahem generuje informace s pokyny ohledně předčerpávání na základě vstupů ze statistické tabulky. Informace s pokyny ohledně předčerpávání okomentují požadované informace nebo objekty požadované klienty (22). Informace s pokyny ohledně předčerpávání jsou optimálně aktualizovány při průchodu požadovaných informací hierarchií proxy serverů (21, 23,24). Informace s pokyny ohledně přesčerpávání komentují požadované informace požadované klienty (22). Konečné rozhodnuti o předčerpání výběrových informací pro klienty (22)je provedeno na základě informací s pokyny ohledně předčerpávání a předčerpávacích hodnot z pokynů. PředČerpávácí hodnota z pokynů je vypočítána na základě lokálních faktorů specifických pro uzel, jako například omezení úložného prostoru a doba přístupu.The method and system is designed to pre-draw data for clients (22) associated with the proxy server hierarchy (21, 23, 24) and improved data transfer from content servers (20) to clients (22). The data pumping method identifies patterns data access and pre-draws selective information on based on dynamic interpretation of data access patterns. Content server or proxy server (20,23,24) identifies client data access patterns (22) associated with the content server or proxy hierarchy (20) servers (21, 23, 24). Data access patterns are preferred stored in a statistical table. Content server (20) generates pre-pumping instructions on based on statistical table entries. Information with instructions regarding pre-pumping comments on requested information or objects requested by clients (22). Information with instructions for pre-pumping are optimally updated at the desired information through the proxy server hierarchy (21, 23, 24). Information on overfilling instructions they comment on the required information requested by clients (22). Final decision on pre-withdrawal of selective information for clients (22) is based on guidance information on pre-pumping and pre-pumping values from the guidelines. The pre-pumping value from the instructions is calculated based on local node-specific factors such as storage constraints and access time.
Description
ZPŮSOB A SYSTÉM PRO PŘEDČERPÁVÁNÍ INFORMACÍMETHOD AND SYSTEM FOR PUMPING INFORMATION
Oblast technikyTechnical field
Vynález se týká způsobu a zařízení pro dynamické získávání informací nebo objektů pro klienty, kde klienti jsou přednostně spojeny s hierarchií proxy serverů, jako například s tou, která může být zapojena do předčerpávání objektů na www.The invention relates to a method and apparatus for dynamically retrieving information or objects for clients, wherein the clients are preferably associated with a hierarchy of proxy servers, such as that which may be involved in prefetching objects on the Web.
Dosavadní stav technikyBACKGROUND OF THE INVENTION
Slovník termínůDictionary of terms
Internet: Síť sítí a směrovačů, která používá rodinu protokolů TCP/IP.Internet: A network and router network that uses the TCP / IP family.
Klient: Klient je počítač, který vydává příkazy serveru, který provádí úlohu spojenou s příkazem.Client: A client is a computer that issues commands to a server that performs a task associated with a command.
Server: Libovolný počítač, který provádí úlohu na příkaz jiného počítače, je server. Webovský server typicky podporuje jednoho nebo více klientů.Server: Any computer that performs a task at the command of another computer is a server. A web server typically supports one or more clients.
World Wide Web {WWW nebo web) : Internetová aplikace, • která umožňuje uživatelům hledajícím informace na internetu přepínat spojení ze serveru na server a z databáze do databáze volbou (klepáním na) požadovaných zvýrazněných slov nebo vět (známých jako hyperodkazy). Internetový www server podporuje klienty a poskytuje informace klientům. Web, který lze považovat za Internet, se všemi zdroji adresovanými jako URL, používá HTML k zobrazování informacíWorld Wide Web: An Internet application that allows users looking for information on the Internet to switch connections from server to server and from database to database by selecting (tapping) the desired highlighted words or sentences (known as hyperlinks). The Internet www server supports clients and provides information to clients. A site that can be considered the Internet, with all resources addressed as URLs, uses HTML to display information
79 27479 274
0 a poskytuje rozhraní „ukaž a · ♦ · · · · •099 00 ··0 and provides a 'show and' interface • 099 00 ··
0 I « ’0 I «’
Β 0 0 « ·« odpovídajících daným URL klepni k dalším URL.Β 0 0 «·« matching the given URL click to the next URL.
Univerzální lokátor jednoznačné identifikace zdroje (URL): URL je způsob nebo adresování informací na internetu a lze jej považovat za verzi emailové adresy webovského dokumentu. K URL lze přistupovat hyperodkazem. Příkladem identifikace URL je http://www.philipyu.com:80/table.html. URL má čtyři části. Počínaje zleva na příkladě, udává první Část protokol, který se má použít (v tomto případě http), oddělený od zbytku lokátoru Další část je název uzlu nebo IP adresa cílového uzlu; tato část je oddělena dvojitým lomítkem // vlevo a vpravo jedním lomítkem / (eventuálně Číslo portu je nepovinná část a je odděleno nalevo od názvu uzlu a napravo jednoduchým lomítkem /. Čtvrtá část je vlastní název souboru nebo název programu (v tomto příkladě table.html), s použitím dalších jednoduchých lomítek k oddělení adresářů a podadresářů běžným způsobem. V tomto příkladě znamená přípona .html, že se jedná o HTML soubor.Universal Resource Unique Identifier (URL): A URL is a way or address of information on the Internet and can be considered as a version of the email address of a Web document. URL can be accessed by hyperlink. An example of a URL identification is http://www.philipyu.com:80/table.html. The URL has four parts. Starting from the left in the example, the first part specifies the protocol to be used (in this case http), separated from the rest of the locator. The next part is the node name or IP address of the destination node; this part is separated by a double slash // left and right one slash / (alternatively the port number is an optional part and is separated to the left of the node name and to the right by a single slash /. The fourth part is the actual file name or program name (table.html in this example) ), using other simple slashes to separate directories and subdirectories in the normal way, in this example, the .html suffix means that it is an HTML file.
HyperText Markup Language (HTML): HTML je jazyk používaný webovými servery k vytváření a spojování dokumentů, které jsou prohlíženy webovými klienty. HTML generuje hypertextové dokumenty.HyperText Markup Language (HTML): HTML is the language used by web servers to create and merge documents that are viewed by web clients. HTML generates hypertext documents.
Hypertextový přenosový protokol (HTTP): HTTP je příklad bezestavového protokolu, ve kterém se každý požadavek od klienta na server ošetřuje nezávisle. Server nemá žádný záznam o předchozích spojení. Na začátku URL udává http:, že požadující klient a cílový server by měli ohledně zadaného zdroje komunikovat s použitím protokolu HTTP.Hypertext Transfer Protocol (HTTP): HTTP is an example of a stateless protocol in which each client-to-server request is handled independently. The server has no record of previous connections. At the beginning of the URL, http :, the requesting client and destination server should communicate using the HTTP protocol for the specified resource.
Internetový prohlížeč nebo webový prohlížeč: Nástroj grafického rozhraní, ve kterém běží internetové protokoly jako například HTTP a který zobrazuje výsledky na obrazovce uživatele. Prohlížeč se může chovat jako průvodce internetem «Web browser or web browser: A graphical interface tool that runs Internet protocols such as HTTP and displays results on the user's screen. Browser can act as internet guide «
• 0 ·• 0 ·
0 ·0 ·
• 0 tt * * • 0 · «000 ·· ♦ 00• 0 tt * * • 0 · 000 ·· ♦ 00
0» ·· s plochou s obrázky, adresáři a prohledávacími nástroji pro surfování internetem. V této aplikaci je webový prohlížeč klientská služba, která komunikuje s www.0 »·· with desktop with images, directories and search tools for surfing the Internet. In this application, the web browser is a client service that communicates with www.
Klientská mezipaměť: Klientské mezipaměti se typicky používají jako primární skupina (mezipaměti) objektů, ke kterým přistupuje klient. V prostředí webu jsou klientské mezipaměti typicky implementovány webovskými prohlížeči a mohou zachycovat v mezipaměti objekty, ke kterým se přistupuje během aktuální relace, tj. dočasná mezipaměť, nebo mohou zachycovat objekty mezi relacemi.Client Cache: Client caches are typically used as the primary group (caches) of objects that a client accesses. In a Web environment, client caches are typically implemented by Web browsers and can cache objects that are accessed during the current session, that is, a temporary cache, or they can capture objects between sessions.
Zachytávací proxy servery: Specializované servery v síti, které se chovají jako agenti zastupující klienta k vyhledání objektu, eventuálně vrácení zachycené kopie. Zachytávací proxy servery typicky slouží jako sekundární mezipaměti nebo mezipaměti vyšší úrovně, protože se vyvolávají následkem nenalezení položky v mezipaměti klientů.Capture Proxy Servers: Specialized servers on the network that act as agents representing the client to locate an object, possibly returning a captured copy. Capture proxy servers typically serve as secondary or higher-level caches because they are invoked as a result of not finding an item in the client cache.
Meta značení: Spojení informaci s daným objektem. Například v HTTP lze informace spojit jak s požadavky, tak s odezvami v polích HTTP záhlaví. Například HTTP klient může určit URL, ze kterého se požadovala vrácená stránka.Meta tagging: Linking information to a given object. For example, in HTTP, information can be associated with both requests and responses in HTTP header fields. For example, the HTTP client might specify the URL from which the returned page was requested.
Kvůli vzrůstu popularity www (webu) v internetu značně vzrostl provoz. Web se nyní stal jedním z hlavních úzkých hrdel výkonnosti sítě. Uživatel webu může například pociťovat značné prodlevy pokud dokumenty nebo informace požaduje uživatel, který je připojen k serveru prostřednictvím pomalého síťového spoje. Přenos informací webovou sítí k uživateli dále zvyšuje úroveň provozu na síti. Zvýšený provoz snižuje šířku pásma dostupnou pro požadavky jiných uživatelů a to přispívá k dalším potenciálním zpožděním.Due to the increase in the popularity of www (the web) in the Internet, traffic has increased considerably. The Web has now become one of the main bottlenecks in network performance. For example, a site user may experience significant delays if a user who is connected to the server through a slow network link requests documents or information. Transferring information over the Web to the user further increases the level of network traffic. Increased traffic reduces the bandwidth available for other users' requests and this contributes to further potential delays.
• · · ···· • ♦ · · » · • 0 * · • 0 ·*• · 0 0 0 * * * * * * * *
Aby se snížily prodlevy přístupu klientů, ukládaly se nebo zachycovaly v předchozím stavu techniky kopie oblíbených dokumentů s informacemi blíže k uživateli na síťových uzlech, ze kterých jsou prodlevy v přístupu přípustnější. Zachycování do mezípaměti lze implementovat na různých místech v síti. Například velká univerzita nebo společnost může mít svou vlastní lokální mezipaměť, ze které mohou všichni uživatelé, kteří jsou přihlášení k této síti, čerpat dokumenty. Lokální mezipaměť může být implementována ve formě specializovaného serveru.To reduce client access delays, prior art copies of favorite documents with information closer to the user have been stored or captured on network nodes from which access delays are more permissible. Caching can be implemented at various locations in the network. For example, a large university or company may have its own local cache from which all users who are logged on to this network can access documents. The local cache can be implemented as a dedicated server.
Specializovaný server, kterému se říká zachytávací proxy, se může chovat jako agent zastupující klienty kvůli vyhledání jakékoli potenciálně zachycené kopie požadovaných informací. Zachytávací proxy obvykle slouží jako sekundární mezípaměti nebo mezípaměti vyšší úrovně, protože zachytávací proxy servery se zabývají pouze nenalezenými položkami z mezípaměti klientů. Mezípaměti klientů jsou vestavěny do různých webových prohlížečů. Mezípaměti klientů mohou ukládat buďto pouze přístupy k dokumentům během aktuální relace {dočasná mezipaměť, jako například Mosaic), nebo mohou zachycovat dokumenty mezi relacemi.A specialized server, called a capture proxy, can act as an agent to represent clients for any potentially captured copy of the requested information. Capture proxies typically serve as secondary or higher-level caches because capture proxy servers only handle items that are not found in the client cache. Client caches are built into various web browsers. Client caches can either store only document accesses during the current session (temporary cache, such as Mosaic), or they can intercept documents between sessions.
Předchozí práce na zachytávání webových dokumentů v mezipamětích byla zejména v oblasti zachycování reakcí na požadavky. Zachycování reakcí na požadavky znamená, že rozhodnutí o zachycení v mezípaměti se provede po vyžádání objektu. Například publikace Proxies: Limitations andPrevious work on capturing web documents in the cache was mainly in the field of capturing responses to requests. Capturing responses to requests means that the capture decision is made after the object is requested. For example, Proxies: Limitations and
Abrams a kol., Caching Potentials, Proč. 4thAbrams et al., Caching Potentials, Proc. 4th
International World Wide Web Conference, 1996, popisuje různé strategie zachycování mezípaměti reakcí na požadavky, které byly prozkoumány pro web.The International World Wide Web Conference, 1996, describes various strategies for capturing response responses that have been explored for the Web.
• · » · · 4 • fc ·· ·«·· fcfc > · · 4 • fc ··4 4 fc 4 4 fc 4 4 fc
V síti poskytovatele internetových služeb (ISP) nebo v síti společnosti mohou různé regionální proxy servery nebo proxy servery na úrovni oddělení v hierarchii dodržovat jiné referenční chování nebo na nich bude různě velký síťový provoz a zpoždění. Přítomnost hierarchie proxy dále komplikuje rozhodování o předčerpání o tom, zda mají předčerpání provádět všechny mezilehlé proxy, klient, nebo jejich podmnožina. Existuje tudíž potřeba způsobu a systému předčerpání, který je schopen účinně zkoordinovat aktivity předčerpání s ohledem na hierarchii proxy serverů a spojené klienty.In an Internet Service Provider (ISP) network or in a company network, different regional or departmental proxy servers in the hierarchy may follow different reference behaviors or have different network traffic and delays. The presence of a proxy hierarchy further complicates the prefetch decision about whether all intermediate proxies, the client, or a subset thereof should perform the prefetch. Thus, there is a need for a prepayment method and system that is capable of effectively coordinating the prepayment activities with respect to the hierarchy of proxy servers and associated clients.
Podstata vynálezuSUMMARY OF THE INVENTION
Tento vynález tudíž zajišťuje způsob předčerpávání výběrových informací ze serveru s obsahem, aby je zpřístupnil jednomu nebo více klientům spojeným se serverem s obsahem prostřednictvím komunikační sítě a jednoho nebo více proxy serverů, přičemž způsob obsahuje kroky:Thus, the present invention provides a method of prefetching selection information from a content server to make it available to one or more clients associated with a content server through a communications network and one or more proxy servers, the method comprising the steps of:
požadování informací od alespoň jednoho z proxy serverů; založení informací s pokyny ohledně předčerpávání pro uvedené klienty na základě minulých čerpání nebo přístupů k požadovaným informacím libovolným z uvedených klientů;requesting information from at least one of the proxy servers; establishing pre-withdrawal information for said clients based on past withdrawals or access to the requested information by any of said clients;
přidání komentáře k požadovaným informacím s uvedenými informacemi s pokyny ohledně předčerpání; a předčerpání výběrových informací z libovolného z uvedených serverů na základě informací s pokyny ohledně předčerpávání a požadovaných informací.adding a comment to the required information with that information with instructions for pre-pumping; and prefetching the selection information from any of said servers based on the prefetch information and the requested information.
Typicky požadované informace obsahují požadované • · • ·Typically, the required information includes the required information.
Φ *' ♦ · « • * · · · · · • · · · · · · • ♦· ·· ·· objekty a výběrové informace obsahují kandidátní objekty na předčerpání, jako například internetová data. V tomto případě může požadovaný objekt odkazovat na výběrový objekt prostřednictvím odkazu hypertextového přenosového protokolu (HTTP) spojeného s internetovými daty, přičemž proxy server identifikuje vztah výběrového objektu s požadovaným objektem prostřednictvím HTTP protokolu univerzálního lokátoru zdroje požadovaného objektu neboli URL, uloženého v záhlaví objektu požadovaného objektu.The objects and selection information contain candidate prefetch objects such as Internet data. In this case, the desired object may refer to the select object via a hypertext transfer protocol (HTTP) link associated with the Internet data, wherein the proxy server identifies the relationship of the select object to the desired object via the universal protocol locator of the requested object or URL stored in the object header of the requested object. .
Přednostně krok založení informací s pokyny ohledně předčerpávání obsahuje kroky: sledování vzorů datových odkazů spojených s uvedenými klienty; zorganizování vzorů datových odkazů do skupin identifikátorů objektů, přičemž skupiny identifikátorů objektů jsou organizovány podle vztahů mezi požadovanými objekty a kandidátními objekty na předčerpání; a zjištění toho, která z uvedených skupin má dostatečné vztahy mezi kandidátními objekty na předčerpání a požadovanými objekty, aby se zajistilo předčerpání uvedených kandidátních objektů na předčerpání jako výběrových informací. Vzorek datových odkazů uvedených klientů je tudíž s výhodou založen na minulých čerpáních nebo předchozích přístupech k požadovaným informacím, přičemž vzor datových odkazů je zvolen tak, aby představoval jakékoli běžné trendy v minulých čerpáních nebo přístupech jinými z uvedených klientů spojených s jedním z uvedených proxy serverů. Ty lze pak použít k definici informací s pokyny ohledně předčerpávání.Preferably, the step of establishing information with prefetch instructions comprises the steps of: tracking data link patterns associated with said clients; organizing data reference patterns into object identifier groups, wherein the object identifier groups are organized according to the relationships between the requested objects and the candidate prefetch objects; and determining which of said groups has sufficient relationships between the pre-pumping candidate objects and the required objects to ensure that said pre-pumping candidate objects are pumped as selection information. Thus, the data link pattern of said clients is preferably based on past draws or previous accesses to the requested information, wherein the pattern of data links is selected to represent any common trends in past draws or hits by other of said clients associated with one of said proxy servers. These can then be used to define information with pre-pumping instructions.
Kroky sledování a organizování přednostně obsahují založení databází pro uložení odkazových datových vzorů v proxy serverech; uspořádání polí v každé z uvedených databází, přičemž pole obsahují identifikátory objektů aPreferably, the tracking and organizing steps comprise establishing databases to store the reference data patterns in the proxy servers; arranging fields in each of said databases, the fields comprising object identifiers; and
4 »0 0 0· ·0 počty objektů, přičemž identifikátory objektů od sebe rozlišují požadované objekty; počty objektů udávají kolikrát byly požadovány požadované objekty podle sledování jednoho z uvedených serverů; a spojení přístupových seznamů s uvedenými databázemi, přičemž každý z uvedených přístupových seznamů obsahuje jeden nebo více kandidátních objektů na předčerpání spojené s každým požadovaným objektem.4 »0 0 0 · · 0 number of objects, where object identifiers distinguish between required objects; the number of objects indicates how many times the requested objects have been requested by monitoring one of said servers; and associating access lists with said databases, each of said access lists comprising one or more candidate pre-pumping objects associated with each desired object.
Takovou databázi lze použít k definici vztahu mezi požadovanými objekty a kandidátními objekty na předčerpání a ke sledování přístupové statistiky u požadovaných objektů a kandidátních objektů na předčerpání; statistika přístupů obsahuje četnost přístupů k rodičovským objektům požadovaných objektů a četnost přístupů k synovským objektům kandidátních objektů na předčerpání; četnost přístupů k rodičovským objektům znázorňuje, kolikrát je určitý z požadovaných objektů požadován alespoň jedním z uvedených klientů; četnost přístupů k synovským objektům znázorňuje, kolikrát se skutečně požaduje jeden nebo více z uvedených kandidátních objektů na předčerpání bezprostředně následovně za přístupem k určitému objektu. To umožňuje zvolit předčerpávací seznam s kandidátními objekty na předčerpání na základě poměru četnosti přístupů k synovským objektům k četnosti přístupů k rodičovským objektům spojenou s četností přístupů k synovským objektům, přičemž předčerpávací seznam obsahuje pouze kandidátní objekty na předčerpání s poměry, které překračují prahovou pravděpodobnost.Such a database may be used to define the relationship between the requested objects and the candidate prefetch objects and to monitor access statistics for the requested objects and the candidate prefetch objects; access statistics include the frequency of accesses to the parent objects of the requested objects and the frequency of accesses to the filial objects of the candidate pre-pumping objects; the frequency of accesses to the parent objects indicates how many times a particular object is requested by at least one of said clients; the frequency of accesses to the filial objects indicates how many times one or more of said candidate objects are actually required to be pumped immediately following access to a particular object. This makes it possible to select a pre-pumping list with pre-pumped candidate objects based on the ratio of the access rate to the child object to the access rate to the parental object associated with the access frequency to the child object.
Obecně se předčerpá pouze podskupina kandidátních objektů na předčerpání a přijme na jednom z uvedených proxy serverů nebo jednom z uvedených klientů, přičemž typicky výběr této podskupiny kandidátních objektů na předčerpání je jako výběrová informace založena na faktorech, jako je • « · • · · • · • •fefe ·· * · · fe· ♦· fefe ·· dostupná velikost ukládacího prostoru na jednom z uvedených proxy serverů a/nebo době přístupu na jednom z uvedených proxy serverů. Kandidátní objekty na předčerpání jsou tudíž předčerpány podle priority spojené s některou odpovídající předčerpávací hodnotou.Generally, only a subset of pre-pumped candidate objects is pre-pumped and received at one of said proxy servers or one of said clients, typically the selection of the pre-pumped candidate pile is based on factors such as selection information such as Fefe · fefe · fefe · available storage space on one of the specified proxy servers and / or access time on one of the specified proxy servers. The candidate pre-pumping objects are therefore pre-pumped according to the priority associated with any corresponding pre-pumping value.
V upřednostňovaném provedení obsahuje krok okomentování požadovaných informací krok umístění informací s pokyny ohledně předčerpávání' do návěští prefetch, které má formát platformy pro volbu internetového obsahu (PICS), nebo protokolu pro návěští slučitelného s formátem PICS. V konkrétní implementaci tohoto (PICS) formátu je definována kategorie identifikátoru objektu a kategorie identifikátoru odkazujícího objektu (referrer) a uvedený způsob dále obsahuje krok návratu kategorie identifikátoru odkazujícího objektu na server s obsahem kvůli identifikaci všech kandidátních objektů na předčerpání, na které se kutečně odkazovalo. Organizace informací s pokyny ohledně předčerpávání podle protokolu PICS nebo protokolu slučitelného s PICS využívá již mnoha prohlížeči podporovaný formát.In a preferred embodiment, the step of commenting on the requested information includes the step of placing information with prefetching information in a prefetch label having a format of the Internet Content Selection Platform (PICS) or a label protocol compatible with the PICS format. In a particular implementation of this (PICS) format, an object identifier category and a referrer identifier category are defined, and the method further comprises the step of returning the referring object identifier category to the content server to identify all candidate pre-pumping objects that have actually been referenced. Organizing information with PICS pre-pumping instructions or PICS-compatible protocols already uses a format supported by many browsers.
Typicky existuje hierarchie uvedených proxy serverů. Definicí odesílajícího uzlu a přijímajícího uzlu v této hierarchii jsou informace s pokyny ohledně předčerpání přednostně upraveny oproti počátečnímu stavu do konečného stavu, přičemž počáteční stav je určen odesílajícím uzlem, konečný stav je určen přijímajícím uzlem. Informace s pokyny ohledně předčerpání v konečném stavu pak tvoří základ konečného rozhodování o předčerpání (za předpokladu, že předčerpání výběrových informací je zahájeno přijímajícím uzlem).Typically, there is a hierarchy of said proxy servers. By defining the sending node and the receiving node in this hierarchy, the prefetch information is preferably adjusted from the initial state to the final state, the initial state being determined by the sending node, the final state being determined by the receiving node. Information with instructions on final drawdown then forms the basis of the final drawdown decision (assuming that the drawdown of the sampling information is started by the receiving node).
V · » V ’»
0 0···· • · · · 0 0··0 0 ···· · · · · 0 0 ··
0« 00 0· ·♦0 «00 0 · · ♦
Jinými slovy, informace s pokyny ohledně předčerpání lze interpretovat a aktualizovat v průběhu jejich přenosu hierarchií proxy serverů ke klientům. Proxy server přednostně aktualizuje informace s pokyny ohledně předčerpávání pokud existují lokální odkazy na požadované informace a pokud počet serveru na lokální úrovní překročí minimální prahový počet (tj. spolehlivé statistiky jsou tudíž dostupné lokálně). Informace s pokyny ohledně předčerpávání mohou být také aktualizovány na základě zachycování stavu v hierarchii proxy serverů (např. kvůli vyznačení toho, kde v hierarchii může být zachycen konkrétní kandidátní objekt na předčerpání).In other words, information with prefetch instructions can be interpreted and updated as they transmit the hierarchy of proxy servers to clients. Preferably, the proxy server updates the prefetch information if there are local references to the requested information and if the number of servers at the local level exceeds the minimum threshold number (i.e., reliable statistics are available locally). The prefetch information may also be updated based on state interception in the hierarchy of proxy servers (eg to indicate where a particular prefetch candidate object may be intercepted in the hierarchy).
Vynález dále zajišťuje systém pro zpracování dat pro předčerpávání výběrových informací ze serveru s obsahem sítí, přičemž uvedený systém obsahuje jeden nebo více proxy serverů spojených se sítí a klientů pro komunikaci se serverem s obsahem a jedním nebo více z proxy serverů sítí; přičemž uvedený systém obsahuje:The invention further provides a data processing system for pumping selection information from a network content server, said system comprising one or more network-connected proxy servers and clients for communicating with the content server and one or more of the network proxy servers; said system comprising:
prostředky pro požadování informací od alespoň jednoho z proxy serverů;means for requesting information from at least one of the proxy servers;
prostředky pro založení informací s pokyny ohledně předčerpávání pro uvedené klienty na základě minulých čerpání nebo přístupů k požadovaným informacím kterýmkoli z uvedených klientů;means for establishing information with instructions for pre-drawing for said clients based on past drawing or access to the requested information by any of said clients;
prostředky pro okomentování požadovaných informací uvedenými informacemi s pokyny ohledně předčerpávání; a prostředky pro předčerpání výběrových informací ze kteréhokoli z uvedených serverů na základě informací s pokyny ohledně předčerpávání a požadovaných informací.means for commenting on the requested information with said information with pre-pumping instructions; and means for prefetching the selection information from any of said servers based on the prefetch information and the requested information.
V upřednostňovaném provedení požadované informace obsahují požadované objekty a výběrové informace obsahují • toto • to * • · to toto • to • to ··« ·· kandidátní objekty na předčerpání, kde každý z uvedených proxy serverů a alespoň jeden z klientů má paměť, která má alespoň logické oddělení mezi hlavní mezipamětí a předčerpávací mezipamětí, kde předčerpané výběrové informace jsou uloženy v předčerpávací mezipamětí.In a preferred embodiment, the requested information includes the requested objects and the selection information comprises the candidate pre-pumping objects, wherein each of said proxy servers and at least one of the clients have memory that it has at least a logical separation between the main cache and the prefetch cache, where the prefetched information is stored in the prefetch cache.
Upřednostňuje se, předčerpávaly objekty a předčerpávací mezipamětí aby předčerpávací prostředky ukládaly předčerpané objekty v na základě schématu priorit, přičemž schéma priorit ukládá nejdříve objekty s nejvyšší předčerpávací hodnotou, s ohledem na dostupnou paměť předčerpávací mezipamětí, přičemž předčerpávací hodnota je založena na jednotlivé nebo souhrnné pravděpodobnosti odkazu na předčerpané objekty jedním nebo více klienty. Předčerpávací hodnota může být zejména založena na očekávané pravděpodobnosti přístupu, že konkrétní z klientů přistoupí ke kandidátskému objektu na předčerpání na informačním seznamu s pokyny ohledně předčerpávání a na nákladech přístupu k objektu založených na potřebné velikosti úložného prostoru k uložení zvolených z kandidátských objektů na předčerpání.It is preferred that the objects and the pumping cache be pumped so that the pumping resources store the pumped objects in a priority scheme, wherein the priority scheme stores the objects with the highest pumping value first, considering the available memory of the pumping cache. pre-pumped objects by one or more clients. In particular, the overdraft value may be based on the expected probability of access for a particular client to access the overdraft object on the overdraft information list and the cost of accessing the object based on the required storage space to be selected from the overdue candidate objects.
V upřednostňovaném provedení předčerpávací prostředky obsahují předčerpávací manipulátor obsahující výpočetní prostředky pro výpočet uvedené předčerpávací hodnoty a vyhodnocovací prostředky pro vyhodnocování předčerpávací hodnoty vypočtené výpočetními prostředky; přičemž uvedené výpočetní prostředky vypočítávají předčerpávací hodnotu pro každý identifikátor předčerpávaného objektu ze informačního seznamu s pokyny ohledně předčerpávání; uvedené vyhodnocovací prostředky vyhodnocují předčerpávací hodnoty více kandidátních objektů na předčerpání a upřednostňují zachycování kandidátních objektů na předčerpání doIn a preferred embodiment, the pumping means comprises a pumping manipulator comprising computing means for calculating said pumping value and evaluating means for evaluating the pumping value calculated by the computing means; wherein said computing means calculates a pumping value for each pumping object identifier from the pumping information information list; said evaluation means evaluate the pre-pumping values of several pre-pumping objects and prefer to capture the pre-pumping objects into
XI • · · ·· to toto· • · to · · to · · · · • ·· to to · ···« toto ·* ·· mezipamětí spojených s nej vyššími předčerpávacími hodnotami z informačního seznamu s pokyny ohledně předčerpávání. Předčerpávací prostředky mohou obsahovat první předčerpávací manipulátor alespoň v jednom z uvedených proxy serverů a druhý předčerpávací manipulátor alespoň v jednom z uvedených klientů (tj. předčerpávání se může provádět na více různých místech v hierarchii).XI this to this cache that is associated with the highest pre-pumping values from the pre-pumping information list. The pre-pump means may comprise a first pre-pump manipulator in at least one of said proxy servers and a second pre-pump manipulator in at least one of said clients (ie, pre-pump may be performed at several different locations in the hierarchy).
Upřednostňované provedení také obsahuje manipulátor požadavků na klientské objekty uložený v paměti jednoho z uvedených klientů, přičemž ovladač požadavků na klientské objekty hledá v hlavní mezipamětí a v předčerpávací mezipamětí požadovaný objekt před požadováním požadovaného objektu z proxy serveru nebo ze sítě, přičemž manipulátor požadavků na klientské objekty upozorňuje server s obsahem nebo proxy server pokud je objekt umístěn v předčerpávací mezipamětí generováním a zprávy o požadavku na předčerpaný objekt na serveru, který udává, že k předčerpanému objektu právě přistoupil klient. Podobně se upřednostňuje, aby alespoň jeden z uvedených proxy serverů obsahoval manipulátor zpráv o požadavcích na předčerpaný objekt k postoupení odkazů na předČerpané zprávy po vyvolání rutiny správce mezipamětí pokud je požadovaný objekt umístěn v předčerpávací mezipamětí. To zajišťuje, že server může udržovat přesný záznam o přístupové statistice i když není přímo kontaktován kvůli synovskému objektu, protože je dostupný z předčerpávací mezipamětí na klientovi nebo na proxy serveru.The preferred embodiment also includes a client object request handler stored in the memory of one of said clients, wherein the client object request handler searches in the main cache and in the pumping cache for the desired object before requesting the desired object from a proxy server or network. notifies the content server or proxy server if the object is located in the pumping cache by generating and a request message for the pumping object on the server that indicates that the pumping object has just been accessed by the client. Similarly, it is preferred that at least one of said proxies includes a message handler for requesting a pumped object to forward links to the pumped messages after invoking the cache manager routine if the requested object is located in the pumped cache. This ensures that the server can maintain an accurate record of access statistics even if it is not directly contacted for the filial object because it is accessible from the pre-pumping cache on the client or proxy server.
Vynález dále zajišťuje server s obsahem nebo proxy server pro použití v takovém systému pro zpracování dat, kde požadované informace obsahují požadované objekty a kde výběrové informace obsahují kandidátské objekty na • · • · ·The invention further provides a content server or proxy server for use in such a data processing system, wherein the requested information comprises the desired objects and wherein the selection information comprises the candidate objects for the data processing.
« · « ·«·« ·« ··« » ·· ·· * fc « ·· fc ·· »fc předčerpání, přičemž uvedený server obsahuje:F c c c c c c c c c c c c c c c c c
statistickou tabulku ukládající identifikátory rodičovských objektů a spojené identifikátory synovských objektů, přičemž statistická tabulka obsahuje první počty rodičovských objektů, přičemž první počty představují četnost, se kterou je na rodičovské objekty odkazováno klienty, přičemž statistická tabulka obsahuje druhé počty synovských objektů, přičemž druhé počty představují četnost, se kterou je na odpovídající synovské objekty odkazováno poté co je odkazováno na zvolené z uvedených rodičovských objektů; a generující prostředky pro generování informačního seznamu s pokyny ohledně předčerpávání na základě informací ve statistické tabulce.a statistical table storing the identifiers of the parent objects and the associated identifiers of the filial objects, the statistical table comprising the first numbers of the parent objects, the first numbers representing the frequency to which the parent objects are referenced by the clients; with which the corresponding filial objects are referenced after referring to the selected one of said parent objects; and generating means for generating an information list with instructions for prefetching based on the information in the statistical table.
V jednom provedení přijímají generující prostředky vstupy prvních počtů, druhých počtů, identifikátorů synovských objektů a identifikátory rodičovských objektů ze statistické tabulky, přičemž generující prostředky obsahují vyhodnocovací prostředky pro vyhodnocení vztahu přístupů mezi rodičovskými objekty a jejich přidruženými synovskými objekty, přičemž vyhodnocovací prostředky umísťují identifikátory synovských objektů na informační seznam s pokyny ohledně předčerpávání pokud je na synovské objekty odkazováno s přiměřenou četností bezprostředně a za sebou před odkazy klienty na odpovídající rodičovské objekty. Adekvátní četnosti mohou být založeny na poměru přístupů k synovským objektům k přístupům k odpovídajícím rodičovským objektům. To typicky obsahuje výpočet poměru druhého počtu k prvnímu počtu pro každý z uvedených identifikátorů rodičovských objektů; porovnání poměru s prahovou hodnotou v pokynech; a seskupení nebo spojení synovských objektů a přidružených rodičovských objektů na informačním seznamu s • toto «· • to • to « ·« to • to toto to · · • to · • ·· · »· toto pokyny ohledně předčerpávání pokud poměr překročí prahovou hodnotu v pokynech.In one embodiment, the generating means receives inputs of the first counts, second counts, filial object identifiers, and parental object identifiers from the statistical table, the generating means comprising evaluating means for evaluating the access relationship between the parent objects and their associated filial objects, to an information list with instructions on pre-pumping when filial objects are referenced with a reasonable frequency immediately and in succession before client references to the corresponding parent objects. Adequate frequencies can be based on the ratio of accesses to filial objects to accesses to corresponding parent objects. This typically includes calculating a ratio of the second count to the first count for each of said parent object identifiers; comparing the ratio with the threshold in the instructions; and grouping or associating the filial objects and associated parent objects in the information list with this pre-pumping instruction if the ratio exceeds the threshold value. in the instructions.
Přednostně server dále obsahuje aktualizační prostředky statistiky pro aktualizaci statistické tabulky na základě právě požadovaného synovského objektu; aktualizační prostředky statistiky nejdříve hledají identitu odkazujícího se z uvedených rodičovských objektů, přičemž na odkazující se objekt, nebo objekt referrer, bylo odkazováno před skutečným odkazem na synovský objekt, přičemž právě požadovaný synovský objekt aktualizuje svůj odpovídající druhý počet ve statistické tabulce. Statistická tabulka by se také měla aktualizovat po přijetí zprávy o požadavku na předčerpaný objekt od manipulátoru zpráv o požadavku na předčerpané objekty.Preferably, the server further comprises statistics update means for updating the statistical table based on the currently requested filial object; the statistics update means first searches for the identity referring from said parent objects, wherein the referring object or referrer object was referenced before the actual reference to the filial object, and the just filial object being updated updates its corresponding second number in the statistical table. Also, the statistics table should be updated after receiving the pumped object request message from the pumped object request handler.
Upřednostňuje se, že tam, kde je server proxy server, dále obsahuje aktualizační předčerpávací prostředky pro příjem a aktualizaci informačního seznamu s pokyny ohledně předčerpávání. Aktualizační předčerpávací prostředky porovnávají první počty s prvními lokálními prahovými počty a vyvolávají generující prostředky pro každý z identifikátorů synovských objektů, pro který první počty překročí první lokální prahové počty, přičemž aktualizační předčerpávací prostředky udržují původní seznam s pokyny ohledně předčerpávání pokud první počty nepřekročí první lokální prahové počty. V propracovanějším přístupu porovnávají aktualizační předčerpávací prostředky první počty s prvními a druhými lokálními prahovými počty a (i) udrží původní informační seznam s pokyny ohledně předčerpávání pokud první počty nepřekročí první lokální prahové počty; (ii) upravují původní informační seznam s pokyny ohledně předčerpávání pokud první počty překročíIt is preferred that, where the proxy server is, it further includes update prefetching means for receiving and updating the prefetch information list. The update prefetch resources compare the first counts with the first local threshold counts and generate generating resources for each of the filial object identifiers for which the first counts exceed the first local threshold counts, while the update prefetch resources maintain the original prefetch list if the first counts do not exceed the first local thresholds. counts. In a more sophisticated approach, the update pre-pumping means compares the first counts with the first and second local threshold counts, and (i) maintains the original information list with the instructions for prefetching if the first counts do not exceed the first local threshold counts; (ii) amend the original information list with instructions for pre-pumping if the first numbers exceed
X*1 první lokální prahové počty, ale nikoli druhé lokální prahové počty; a (iii) nahradí původní informační seznam s pokyny ohledně předčerpávání, pokud první počty překročí jak první, tak druhé lokální prahové počty.X * 1 first local threshold counts, but not second local threshold counts; and (iii) replace the original pre-pumping information list if the first counts exceed both the first and second local threshold counts.
Server dále přednostně obsahuje: manipulátor proxy objektů pro vrácení požadovaného objektu proxy serveru na nižší úrovni nebo klientovi, který požadoval požadovaný objekt, přičemž manipulátor proxy objektů vrací požadovaný objekt a aktualizuje podle toho statistickou tabulku, pokud není požadovaný objekt předčerpaný objekt; a správce předčerpávací mezípaměti pro správu předčerpávací mezípaměti. Manipulátor proxy objektů tudíž vrací požadovaný objekt z předčerpávací mezípaměti požadujícímu klientovi nebo proxy serveru a označí objekt jako odstranitelný z předčerpávací mezípaměti pokud byl požadován objekt ve shodě s požadavkem na předčerpání. Manipulátor proxy objektů pošle požadavek na objekt na jiný server pokud požadovaný objekt není v hlavní mezípaměti nebo předčerpávací mezípaměti. Manipulátor proxy objektů podle toho aktualizuje statistickou tabulku, pokud požadovaný objekt není spojený s požadavkem na předčerpání a pokud je požadovaný objekt umístěn v předčerpávací mezípaměti nebo v hlavní mezípaměti.Preferably, the server further comprises: a proxy object handler for returning a desired downstream proxy object or to a client that requested the desired object, wherein the proxy object handler returns the requested object and updates the statistics table accordingly if the desired object is not a pumped object; and a pre-cache memory manager for managing the pre-cache memory. Therefore, the proxy object handler returns the requested object from the pre-cache to the requesting client or proxy server and marks the object as removable from the pre-cache if the object was requested in accordance with the pre-draw request. The object proxy handler sends an object request to another server if the requested object is not in the main cache or pre-pump cache. Accordingly, the object proxy manipulator updates the statistics table if the requested object is not associated with a prefetch request and if the requested object is located in the prefetch cache or in the main cache.
Při pohledu z jiného hlediska vynález zajišťuje způsob předčerpávání výběrových objektů ze serveru s obsahem, aby se okamžitě zpřístupnily výběrové objekty pro klienty spojené s jedním nebo více proxy serverů prostřednictvím komunikační sítě; způsob obsahuje kroky:In another aspect, the invention provides a method of prefetching selection objects from a content server to instantly make selection objects available to clients associated with one or more proxy servers through a communication network; the method comprises the steps of:
a) požadování požadovaných objektů od alespoň jednoho z uvedených proxy serverů;a) requesting requested objects from at least one of said proxy servers;
b) identifikace vzorů datových odkazů nebo odpovídajících klientů na základě minulých čerpání nebo iJ ::b) identification of data link templates or corresponding clients based on past draws or iJ:
φ • * φφ • · « « · φ φ · ♦ ·φ · · φ · φ ·
ΦΦΦΦ ΦΦ «V přístupů k požadovaným objektům klienty; c) přetvoření informací s pokyny ohledně předčerpávání do seznamu informací s pokyny ohledně předčerpání ze vzorů datových odkazů;V ΦΦ «In accessing required objects by clients; (c) transforming prefetch information into a list of prefetch information from data link templates;
d) okomentování požadovaných objektů informacemi s pokyny ohledně předčerpávání;(d) commenting on the required objects with information on pre-pumping;
e) předčerpání výběrových objektů alespoň z jednoho z uvedených serverů na základě informací s pokyny ohledně předčerpávání a právě požadovaných objektů.e) pre-pumping selective objects from at least one of said servers based on information with instructions on pre-pumping and currently requested objects.
Výběrové informace, které jsou předčerpané, tudíž obsahují kandidátní objekty na předčerpání; a krok založení informací s pokyny ohledně předčerpání dále obsahuje založení informací s pokyny ohledně předčerpávání na odesílajícím uzlu v hierarchii uvedených proxy serverů; kde kandidátní objekt na předčerpání se pošle hierarchií uvedených proxy serverů; a výběrové informace, které se předčerpají na přijímajícím uzlu v hierarchii, jsou založeny na informacích s pokyny ohledně předčerpávání.Thus, the selection information that is pre-pumped contains candidate pre-pumped objects; and the step of establishing the prefetch information further comprises establishing the prefetch information on the sending node in the hierarchy of said proxy servers; wherein the candidate prefetch object is sent by a hierarchy of said proxy servers; and the selection information that is prefetched at the receiving node in the hierarchy is based on the information with prefetching instructions.
Typicky je se sítí spojena hierarchie proxy serverů, přičemž hierarchie proxy serverů obsahuje server na nižší úrovni těsněji spojený s klienty, nežli jiné proxy servery. V jednom upřednostňovaném provedení se informace s pokyny ohledně předčerpávání aktualizují prostřednictvím hierarchie proxy serverů pokud existují lokální odkazy na požadovaný objekt a pokud počet ze serveru na lokální úrovni překročí minimální prahový počet; eventuálně (nebo navíc) mohou být informace s pokyny ohledně předčerpání aktualizovány analyzováním stavu zachycování v mezipaměti výše v hierarchii, přičemž nejvyšší úroveň hierarchie je nejblíže spojena se sítí.Typically, a hierarchy of proxy servers is associated with the network, wherein the hierarchy of proxy servers comprises a lower level server more closely associated with clients than other proxy servers. In one preferred embodiment, the prefetch information is updated via a hierarchy of proxy servers when there are local references to the requested object and if the number from the local level server exceeds the minimum threshold number; alternatively (or in addition) information with prefetch instructions may be updated by analyzing the cached capture state above the hierarchy, with the highest level of hierarchy being closest to the network.
0 « 0 lb • 000 0 0 lb • 00
0000 0·0000 0 ·
0·0 ·
Při pohledu z jiného hlediska poskytuje vynález systém na zpracování pro vylepšení toku dat ze serverů na klienty sítí, přičemž systém na zpracování obsahuje:In another aspect, the invention provides a processing system for improving data flow from servers to network clients, the processing system comprising:
proxy servery spojené se sítí; server s obsahem spojený se sítí;network-connected proxy servers; network-connected content server;
klienti nakonfigurované ke komunikaci s jedním nebo více z uvedených proxy serverů;clients configured to communicate with one or more of said proxy servers;
statistickou tabulku, která je uložena alespoň v jednom z uvedených proxy serverů, přičemž statistická tabulka ukládá identifikátory rodičovských objektů a identifikátory spojených synovských objektů, přičemž statistická tabulka obsahuje první počty rodičovských objektů, přičemž první počty představují četnost, se kterou se na rodičovské objekty odkazují klienti, přičemž statistická tabulka obsahuje druhé počty synovských objektů, přičemž druhé počty představují četnost, se kterou je na odpovídající synovské objekty odkazováno po odkazování na vybrané objekty z uvedených rodičovských objektů; a generující prostředky pro generování informačního seznamu s pokyny ohledně předčerpávání přijímáním vstupů prvních počtů a odpovídajících druhých počtů kvůli odvození seznamu s pokyny ohledně předčerpání, přičemž uvedené generující prostředky obsahují:a statistical table that is stored in at least one of said proxy servers, wherein the statistical table stores the parental object identifiers and the associated filial object identifiers, the statistical table comprising the first numbers of the parent objects, the first numbers representing the frequency to which the parent objects refer to clients wherein the statistical table comprises second numbers of filial objects, the second numbers representing the frequency with which the corresponding filial objects are referenced after referring to selected objects from said parent objects; and generating means for generating a prefetch information list by receiving inputs of first counts and corresponding second counts to derive a prefetch list, said generating means comprising:
výpočetní prostředky pro výpočet poměru druhého počtu k prvnímu počtu pro každý z uvedených identifikátorů rodičovských objektů;computing means for calculating a ratio of the second count to the first count for each of said parent object identifiers;
porovnávací prostředky pro porovnání poměru s prahovou hodnotou z pokynů, přičemž porovnávací prostředky seskupují nebo sdružují synovské objekty a spojené rodičovské objekty v informačním seznamu s pokyny ohledně předčerpávání pokud poměr překročil prahovou hodnotu z pokynů; a předčerpávací prostředky pro předčerpávání synovských objektů na základě informací s pokyny ohledně předčerpání a /comparative means for comparing the ratio to the threshold of the instructions, the comparative means grouping or associating the filial objects and associated parental objects in the information list with the prefetch instructions when the ratio exceeds the threshold from the instructions; and pre-pumping means for pre-pumping filial objects based on information with pre-pumping instructions and /
0 ·0 ·
00
0 00 0
00
9 • · * ·9 •
0 0 0 00 0 0 0
0 0 0 00 0 0 0
0« 00 rodičovských objektů skutečně požadovaných klienty.0 «00 parent objects actually requested by clients.
V upřednostňovaném provedení má každý z uvedených proxy serverů první procesor, první paměť a první úložné prostředky k ukládání dat; první paměť má alespoň logické oddělení mezi první hlavní mezipamětí a první předčerpávací mezipamětí; server s obsahem má druhý procesor, druhou paměť a druhé úložné prostředky k ukládání dat; a alespoň jeden z klientů má třetí procesor, třetí paměť a třetí úložné prostředky k ukládání dat, přičemž třetí paměť má alespoň logické oddělení mezí druhou hlavní mezipamětí a druhou předčerpávací mezipamětí, přičemž manipulační předčerpávací prostředky ukládají synovské objekty do první předčerpávací mezipamětí nebo druhé předčerpávací mezipamětí.In a preferred embodiment, each of said proxy servers has a first processor, a first memory, and a first data storage means; the first memory having at least a logical separation between the first main cache and the first pre-pumping cache; the content server having a second processor, a second memory, and a second data storage means; and at least one of the clients has a third processor, a third memory, and a third storage means, the third memory having at least a logical separation between the second main cache and the second prefetch cache, the manipulation prefetch resources storing the child objects in the first prefetch cache or the second prefetch cache .
V upřednostňovaném provedení obsahují předčerpávací prostředky výpočetní prostředky pro výpočet předčerpávací hodnoty a vyhodnocovací prostředky k vyhodnocování předčerpávací hodnoty vypočtené výpočetními prostředky; uvedené výpočetní prostředky vypočítávají předčerpávací hodnotu pro každý identifikátor synovského objektu ze seznamu s pokyny ohledně předčerpávání a upřednostňují zachycování synovských objektů s nejvyššími předčerpávacími hodnotami ze seznamu s pokyny ohledně předčerpávání, přičemž manipulační předčerpávací prostředky spravují dostupný prostor v předčerpávací mezipamětí.In a preferred embodiment, the pre-pumping means comprises computing means for calculating the pre-pumping value and evaluation means for evaluating the pre-pumping value calculated by the computing means; said computing means calculating a pumping value for each identifier of the filing object of the prefetch instruction list and preferring to capture the filing objects with the highest prefetch values from the prefetch instruction list, wherein the manipulation prefetching means manages the available space in the prefetch cache.
Přednostně systém dále obsahuje: předčerpávací aktualizační prostředky pro aktualizaci seznamu s pokyny ohledně předčerpávání; přičemž předčerpávací aktualizační prostředky porovnávají první počty s prvními lokálními prahovými počty a druhými lokálními prahovými počty, přičemž první lokální prahové počty jsou založeny na statistice • ·Preferably, the system further comprises: pre-pumping update means for updating the pre-pumping instruction list; wherein the pre-pump update means compares the first counts with the first local threshold counts and the second local threshold counts, wherein the first local threshold counts are based on statistics.
IQ • · » ·φ·· ·« • · · · • · · · ···· «··* ·« *· · · · z jednoho serveru, druhé lokální prahové počty jsou založené na statistice z jiného serveru, přičemž uvedené předčerpávací aktualizační prostředky vyvolávají generující prostředky pro každý z identifikátorů synovských objektů, pro který první počty překročí jak první lokální prahové počty, tak druhé lokální prahové počty; předčerpávací aktualizační prostředky zachovají původní informační seznam s pokyny ohledně předčerpávání pokud první počty nepřekročí první lokální prahové počty.IQ from one server, the other local thresholds are based on statistics from another server, where said pre-pumping update means generating generating means for each of the filial object identifiers for which the first counts exceed both the first local threshold counts and the second local threshold counts; the pre-pump update means retain the original pre-pump information list if the first counts do not exceed the first local threshold counts.
Upřednostňuje se, aby takový systém dále obsahoval: aktualizační prostředky statistiky pro aktualizaci statistické tabulky;It is preferred that such a system further comprises: statistics update means for updating the statistical table;
manipulátor proxy objektů, který je uložen na jednom z uvedených proxy serverů, přičemž manipulátor proxy objektů vyvolává rutinu aktualizace seznamu s pokyny ohledně předčerpávání, manipulátor proxy objektů vrací požadovaný objekt proxy serveru na nižší úrovni pokud proxy server na nižší úrovni požadoval požadovaný objekt, přičemž manipulátor proxy objektů vrací požadovaný objekt a vyvolává aktualizační prostředky statistiky pokud požadovaný objekt není předčerpaný objekt;a proxy object handler stored on one of said proxy servers, wherein the proxy object handler invokes a prefetch list update routine, the proxy object handler returns the desired lower level proxy object if the lower level proxy server requested the requested object, and the manipulator object proxy returns the requested object and invokes statistics update means if the requested object is not a pre-drawn object;
správce předčerpávací mezipaměti pro správu předčerpávací mezipaměti spojené s jedním z uvedených proxy serverů, přičemž manipulátor proxy objektů vyvolává správce předčerpávací mezipaměti pokud server na nižší úrovni nepožadoval požadovaný objekt;a prefetch cache manager for managing the prefetch cache associated with one of said proxy servers, wherein the proxy object handler invokes the prefetch cache manager if the downstream server did not request the requested object;
manipulátor požadavků na proxy objekty je uložen na jednom z uvedených proxy serverů, přičemž manipulátor požadavků na proxy objekty vrací objekty požadujícímu z uvedených klientů a označuje objekty jako odstranitelné z předčerpávací mezipaměti pokud jsou objekty v předčerpávací mezipaměti a pokud byl objekt požadován • fcfc • fc • fcfc fcfcfcfc fcfc • fc · • fcfc fc fcfc fcfc • « fc • » · • · · • fc fcfc shodně s požadavkem na předčerpání; manipulátor požadavků na proxy objekty posílá požadavek na objekt na jiný server pokud požadovaný objekt není v hlavní mezipaměti nebo předčerpávací mezipaměti, přičemž manipulátor požadavků na proxy objekty komunikuje s aktualizačními prostředky statistiky pokud není požadovaný objekt spojen s požadavkem na předčerpání a pokud je požadovaný objekt umístěn v předčerpávací mezipaměti nebo v hlavní mezipaměti.the proxy object handler is stored on one of said proxy servers, wherein the proxy object handler returns objects to the requesting client and marks the objects as removable from the pre-cache if the objects are in the pre-cache and if the object was requested • fcfc • fc • fcfc fcfcfcfc fcfc fcfc fc fcfc fcfc fcfc in accordance with the pre-pumping requirement; the proxy object handler sends an object request to another server if the requested object is not in the main cache or pre-pumping cache, the proxy object request handler communicates with the statistics update means when the requested object is not associated with the prefetch request and if the requested object is located or in the main cache.
Také se upřednostňuje, aby systém dále obsahoval: aktualizační prostředky statistiky pro aktualizaci statistické tabulky;It is also preferred that the system further comprises: statistics update means for updating the statistical table;
manipulátor zpráv o požadavku na předčerpaný objekt, který je uložen na jednom z uvedených proxy serverů, přičemž manipulátor zpráv o požadavku na předčerpaný objekt vyvolává aktualizační prostředky statistiky, přičemž manipulátor zpráv o požadavku na předčerpaný objekt postupuje zprávu o požadavku na předčerpaný objekt po vyvolání rutiny správce mezipaměti pokud je požadovaný objekt umístěn v předčerpávací mezipaměti.The prepay object message handler stored at one of said proxy servers, wherein the prepay object message handler invokes statistics update means, wherein the prepay object message handler passes the prepay object request message after invoking an administrator routine. If the requested object is located in the pre-pumping cache.
Vynález dále zajišťuje zpracovávající systém pro vylepšení toku dat ze serverů na klienty sítí, přičemž zpracovávající systém obsahuje:The invention further provides a processing system for improving data flow from servers to network clients, the processing system comprising:
proxy servery spojené se sítí; server s obsahem spojený se sítí;network-connected proxy servers; network-connected content server;
klienty nakonfigurované ke komunikaci s jedním nebo více z uvedených proxy serverů;clients configured to communicate with one or more of said proxy servers;
statistickou tabulku, která je uložena na serveru s obsahem a alespoň jednom z uvedených proxy serverů, přičemž statistická tabulka ukládá identifikátory rodičovských objektů a identifikátory spojených synovských objektů, přičemž statistická tabulka obsahuje první počty • 0 0 ·a statistical table that is stored on the content server and at least one of said proxy servers, the statistical table storing the identifiers of the parent objects and the identifiers of the associated filial objects, the statistical table containing the first counts • 0 0 ·
0 0 00 0 0
0 0 00 0 0
0· ·· • 0 • 0 • * * •000 ·ί • 0 0 · 00 ·· rodičovských objektu, přičemž první počty představují četnost, se kterou na rodičovské klienty odkazují klienti, přičemž statistická tabulka obsahuje druhé počty synovských objektů, přičemž druhé počty představují četnost, se kterou je na odpovídající synovské objekty časově bezprostředně odkazováno poté co je odkazováno na zvolené z uvedených rodičovských objektů;0 · 0 · 0 · 0 * * 000 000 · 0 · 0 0 · 00 ·· of the parent object, the first numbers representing the frequency with which the clients refer to the parent clients, the statistical table containing the second number of filial objects, the second the numbers represent the frequency with which the corresponding filial objects are referenced immediately after reference to the selected one of said parent objects;
generující prostředky přijímající vstupy prvních počtů, druhých počtů, identifikátorů synovských objektů a identifikátorů rodičovských objektů ze statistické tabulky, přičemž generující prostředky obsahují vyhodnocovací prostředky pro vyhodnocování přístupového vztahu mezi rodičovskými objekty a jejich spojenými synovskými objekty, přičemž vyhodnocovací prostředky umísťují identifikátory synovských objektů na informační seznam s pokyny ohledně předčerpávání, pokud je na synovské objekty odkazováno s adekvátními četnostmi bezprostředně a za sebou před odkazy klienty na odpovídající rodičovské objekty; a · předčerpávací prostředky pro předčerpávání synovských objektů na základě informací s pokyny ohledně předčerpávání a rodičovských objektů skutečně požadovaných klienty.generating means receiving inputs of first counts, second counts, filial object identifiers and parental object identifiers from the statistical table, the generating means comprising evaluation means for evaluating the access relationship between the parent objects and their associated filial objects, the evaluation means placing the filial object identifiers on the information list with instructions on pre-pumping when filial objects are referred to with adequate frequencies immediately and in succession before client references to the corresponding parent objects; and • pre-pumping means for pre-pumping filial objects based on information with instructions regarding pre-pumping and parental objects actually requested by clients.
V upřednostňovaném provedení předčerpávací prostředky dále obsahují přidělovací prostředky pro přidělování priorit úložného prostoru synovským objektům určeným na informačním seznamu s pokyny ohledně předčerpávání a selektivní úložné prostředky pro ukládání výběrových synovských objektů podle priorit úložného prostoru. Přidělovací prostředky přednostně přidělují priority úložného prostoru na základě očekávané pravděpodobnosti toho, že k synovskému objektu na informačním seznamu s pokyny ohledně předčerpávání budou přistupovat konkrétní z klientů a na základě nákladů na přístup k synovskému objektu na základě velikosti potřebného • to ··In a preferred embodiment, the pre-pumping means further comprises allocating means for allocating storage priorities to the son objects specified in the prefetch information information list, and selective storage means for storing the selective son objects according to the storage priorities. Preferably, the allocation means allocates storage priorities based on the expected likelihood of accessing the child's object on the prefetch information list and based on the cost of accessing the child's object based on the size needed to
ZI ···♦ toto • to * ♦ «to · · · • toto· · • to ·· • to • · • to úložného prostoru pro uložení zvolených objektů ze synovských objektů.ZI this to this storage space to store selected objects from filial objects.
Informace mohou být tudíž předčerpány v hierarchii proxy kvůli snížení přístupové doby k objektům sítí (tj. internetem) pro klienty. Zvolené informace se předčerpají ze serveru s obsahem, aby se ihned zpřístupnily zvolené informace pro klienty spojené se serverem s obsahem v síti. Klienti jsou přednostně spojeni s proxy servery v síti. Klienti požadují informace od alespoň jednoho z proxy serverů. Server s obsahem generuje informace s pokyny ohledně předčerpávání pro klienty na základě minulých datových přístupových vzorů požadovaných informací klienty. Server s obsahem okomentuje požadované informace informacemi s pokyny ohledně předčerpávání. Jeden nebo více proxy serverů může dynamicky aktualizovat informace s pokyny ohledně předčerpávání na základě dynamické statistiky používání. Informace s pokyny ohledně předčerpávání se aktualizují při průchodu' objektu hierarchií proxy serverů, aby se zohlednily provedené operace předčerpávání, stav zachycování na vyšších úrovních hierarchie proxy a další lokální podmínky, jako například lokální vzory odkazů. Výběrové informace se mohou předčerpávat ze serveru s obsahem nebo z libovolného z proxy serverů na základě informací s pokyny ohledně předčerpávání a požadovaných informací. Informacím s pokyny ohledně předčerpávání může být přiřazena předčerpávací hodnota na základě pravděpodobnosti přístupů k odkazům a podmínek úložného prostoru. Výběrové informace s nej vyššími předčerpávacími hodnotami v informačním seznamu s pokyny ohledně předčerpání se zachycují do mezipamětí nejdříve a potenciálně tak dlouho, dokud se předčerpávací mezipaměť nezaplní.Thus, the information may be prefetched in the proxy hierarchy to reduce access time to network objects (ie, the Internet) for clients. The selected information is pumped from the content server to make the selected information immediately available to clients associated with the content server on the network. The clients are preferably connected to proxy servers in the network. Clients request information from at least one of the proxy servers. The content server generates prefetch information for clients based on past data access patterns of the requested information by the clients. The content server comments the information requested with the prefetch instructions. One or more proxy servers may dynamically update the prefetch information based on dynamic usage statistics. The prefetch information is updated as the object passes through the proxy hierarchy object to reflect the prefetch operations performed, the capture status at the higher levels of the proxy hierarchy, and other local conditions, such as local reference patterns. The selection information may be pumped from the content server or from any of the proxy servers based on the pumping instructions and the requested information. Pre-pump instruction information may be assigned a pre-pump value based on the probability of link access and storage conditions. The selection information with the highest pumping values in the pumping information information list is cached first and potentially until the pumping cache is full.
- Lá v V v ** * v * * « « · · · · v··· to totototo totototo·· • to· ···· ···· to··· ·· ·· to* ·· toto- Lá v V v ** * v * * «« · · · · v ··· to totototo totototo ·· • to · ···· ···· to ··· ·· ···
Přehled obrázků na výkresechBRIEF DESCRIPTION OF THE DRAWINGS
Vynález bude blíže vysvětlen prostřednictvím konkrétních příkladů provedení znázorněných na výkresech, na kterých představuje obr. 1 blokové schéma ukazující servery s obsahem (tj .BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing content servers (i.e.
místa na webu), síť (tj. internet), hierarchii proxy serverů a klienty;web sites), network (ie internet), hierarchy of proxy servers and clients;
obr. 2 další blokové schéma serveru s obsahem, klienta a proxy serveru, podrobněji než na obr. 1.FIG. 2 is a further block diagram of the content server, client, and proxy server, in more detail than FIG. 1.
obr. 3A blokové schéma znázorňující způsob dynamického předčerpávání dat ze serveru s obsahem prostřednictvím hierarchie proxy serverů;FIG. 3A is a block diagram illustrating a method of dynamically prefetching data from a content server through a hierarchy of proxy servers;
obr. 3B ilustrativní příklad statistické tabulky;FIG. 3B illustrates an illustrative example of a statistical table;
obr. 4 blokové schéma znázorňující činnost serveru s obsahem;FIG. 4 is a block diagram illustrating operation of a content server;
obr. 5 blokové schéma znázorňující aktualizaci statistiky;FIG. 5 is a block diagram illustrating an update of statistics;
obr. 6 blokové schéma znázorňující generování informací s pokyny ohledně předčerpávání;FIG. 6 is a block diagram illustrating the generation of information with prefetch instructions;
obr. 7 blokové schéma znázorňující činnost klienta;FIG. 7 is a block diagram illustrating client operation;
obr. 8 blokové schéma znázorňující předčerpávání;FIG. 8 is a block diagram illustrating pre-pumping;
• 0 « * • 00 ···· 0* • · · · • · 0 ·• 0 «* • 00 ···· 0 * • · · · · · · ·
00 · · · 0 · 0« 00 00 00 obr. 9 blokové schéma znázorňující činnost manipulátoru požadavků na klientské objekty;FIG. 9 is a block diagram illustrating the operation of the client object request handler; FIG.
obr. 10 je blokové schéma znázorňující činnost proxy serveru;FIG. 10 is a block diagram illustrating operation of a proxy server;
obr. 11 blokové schéma, znázorňující činnost manipulátoru požadavků na proxy objekty;FIG. 11 is a block diagram illustrating operation of a proxy object request handler;
obr. 12 blokové schéma, znázorňující činnost manipulátoru zpráv o požadavku na předčerpaný objekt;FIG. 12 is a block diagram illustrating operation of a request handler for a pre-pumped object;
obr. 13 blokové schéma, znázorňující manipulátoru proxy objektů; a činnost obr. 14 blokové schéma, znázorňující činnost aktualizační rutiny informací s pokyny ohledně předčerpávání'.FIG. 13 is a block diagram illustrating a proxy object manipulator; and operation of FIG. 14 is a block diagram illustrating the operation of the update information routine with prefetch instructions.
Příklady provedení vynálezuDETAILED DESCRIPTION OF THE INVENTION
Obr. 1 ukazuje systém pro zpracování dat, který obsahuje klienty 22, hierarchii proxy serverů proxy serverů 24, síť 25, a servery 20 s obsahem.Giant. 1 shows a data processing system comprising clients 22, a proxy hierarchy of proxy servers 24, a network 25, and content servers 20.
Klienti mohou požadovat informace ve formě rodičovských objektů, synovských objektů, požadovaných objektů, výběrových objektů, stránek, požadovaných informací a výběrových informací. Rodičovské objekty jsou ve vztahu se synovskými objekty tak, aby rodičovské objekty mohly mít historicky za sebou následující požadavky na jeden nebo více přidružených synovských objektů. Požadované objekty jsou • ·· * to ·· to to ·> · • to ·« • to • · · • tototo toto to · • to • toto · ·· to· analogické s rodičovskými objekty, zatímco zvolené objekty jsou analogické se synovskými objekty. Požadované objekty jsou objekty, které jsou skutečně požadovány jedním nebo více klienty. Mezitím jsou výběrové objekty, jsou seskupeny s nebo přidruženy k požadovaným objektům tak, aby mohly být výběrové objekty časově následně požadovány po požadovaných objektech. Požadované informace obsahují požadované objekty, rodičovské objekty a jiné formy dat požadovaných klienty. Výběrové informace obsahují synovské objekty, výběrové objekty a jiné formy dat, které mohou být předčerpávány.Clients can request information in the form of parent objects, filial objects, required objects, selection objects, pages, requested information, and selection information. Parent objects are related to the child objects so that the parent objects can historically have the following requirements for one or more associated child objects. Required objects are analogous to parent objects, while selected objects are analogous to filial objects. objects. Required objects are objects that are actually requested by one or more clients. Meanwhile, the selection objects are grouped with or associated with the desired objects so that the selection objects can be subsequently requested for the desired objects. Required information includes required objects, parent objects, and other forms of data requested by clients. Selection information includes filial objects, selection objects, and other forms of data that can be prefetched.
Klienti 22 mohou požadovat informace od serverů 20 s obsahem nebo od proxy serverů 24. Proxy servery 24 se však pro klienty 22 obvykle chovají jako prostředníci vzhledem k síti 25 a serverům 20 s obsahem. Proxy servery 24 mohou s výhodou vykonávat požadavky klientů na informace bez kontaktování serverů 20 s obsahem, pokud hierarchie proxy serverů obsahuje požadované informace nebo má schopnost dokončit požadovanou úlohu. Systém pro zpracování dat z obr. 1 lze aplikovat na internet. Například server 20 s obsahem může tvořit webovské místo, zatímco síť 25 může tvořit internet.The clients 22 may request information from the content servers 20 or from the proxy servers 24. However, the proxy servers 24 typically act as intermediaries for the clients 22 relative to the network 25 and the content servers 20. The proxy servers 24 may advantageously execute client requests for information without contacting the content servers 20 if the hierarchy of proxy servers contains the requested information or has the ability to complete the desired task. The data processing system of Fig. 1 can be applied to the Internet. For example, the content server 20 may constitute a website, while the network 25 may constitute the Internet.
Obr. 1 znázorňuje logická spojení 26, jako protiklad fyzickým spojením, mezi prvky systému pro zpracování dat. Logická spojení 26 představují informační tok objektů a požadavků v systému pro zpracování dat. Logická spojení 26 typicky nepředstavují fyzická spojení mezi proxy servery 24. Logická spojení 26 se mohou měnit kvůli pracovnímu zatížení a/nebo fyzickým událostem jako je selhání uzlu nebo komunikačního spoje. Různé typy objektů mohou sledovat různé logické přenosové cesty, aby dosáhly klienty 22.Giant. 1 illustrates logical connections 26, as opposed to physical connections, between elements of a data processing system. The logical connections 26 represent the information flow of objects and requests in the data processing system. Logical connections 26 typically do not represent physical connections between proxy servers 24. Logical connections 26 may vary due to workload and / or physical events such as node or communication link failure. Different object types can track different logical transmission paths to reach clients 22.
• φ · · φ ««· • φφφφ · · φ · · • φ φ · · φ · φφφ• φ · φ · · · · · • · φ · • ·
Ι*Φ· ΦΦ ΦΦ ·· ΦΦ ΦΦΙ * Φ · ΦΦ · ·· ΦΦ ΦΦ
Zatímco ve skutečnosti lze v praxi použít libovolný počet klientů 22 a proxy serverů 24, ilustrativní příklad z obr. 1 se vyznačuje čtyřmi klienty 22 a čtyřmi hierarchickými úrovněmi proxy serverů 24. V praxi je povolen libovolný počet úrovní v hierarchii proxy serverů a klienti 22 mohou být logicky připojeny k libovolné úrovni hierarchie proxy serverů. Například hierarchie proxy serverů 24 by mohla být jediný proxy server. Tento vynález lze provést pouze s jedním klientem 22 a jedním proxy serverem 24.While in practice any number of clients 22 and proxy servers 24 can be used, the illustrative example of Figure 1 is characterized by four clients 22 and four hierarchical levels of proxy servers 24. In practice, any number of levels in the hierarchy of proxy servers is allowed and clients 22 can be logically connected to any level of the proxy server hierarchy. For example, the hierarchy of proxy servers 24 could be a single proxy server. The present invention can be implemented with only one client 22 and one proxy server 24.
Jak je vidět, proxy server nejvyšší úrovně je navržen jako proxy server 30 úrovně nula. Úroveň nula je volné označení, které pouze definuje stav jednoho proxy serveru vzhledem k jinému proxy serveru v ilustrativním příkladě obr. 1. Proxy server nejvyšší úrovně může být logicky připojen k síti 25. Proxy servery 21 vyšší úrovně jsou blíže logicky spojeny se sítí 25, nežli proxy servery 23 na nižší úrovni. (Tudíž bude oceněno, že v této terminologii, která považuje proxy server na nulté úrovni za server na vrcholu hierarchie proxy serverů, že je úroveň nula vyšší, nežli úroveň jedna, která je zase vyšší nežli úroveň dva, a tak dále) .As can be seen, the top-level proxy server is designed as a zero-level proxy server 30. Level zero is a loose designation that only defines the state of one proxy server relative to another proxy server in the illustrative example of FIG. 1. The top-level proxy server may be logically connected to the network 25. The higher-level proxy servers 21 are more logically connected to the network 25, than lower-level proxy servers 23. (Thus, it will be appreciated that in this terminology which considers a zero-level proxy server to be at the top of the proxy server hierarchy, the level is zero higher than level one, which in turn is higher than level two, and so on).
První proxy server 35 úrovně jedna a druhý proxy server 37 úrovně jedna jsou logicky připojeny k proxy serveru 30 úrovně nula. První proxy server 35 úrovně jedna je připojen k prvnímu proxy serveru 40 úrovně dva a ke druhému proxy serveru 43 úrovně dva. První proxy server 40 na úrovni dva je logicky připojen k prvnímu proxy serveru 50 na úrovni tři a druhému proxy serveru 55 na úrovni tři.The first level one proxy server 35 and the second level one proxy server 37 are logically connected to the zero level proxy server 30. The first level one proxy server 35 is connected to the first level two proxy server 40 and to the second level two proxy server 43. The first level two proxy server 40 is logically connected to the first level three proxy server 50 and the second level three proxy server 55.
Klienti 22 obsahují prvního klienta 600, druhéhoClients 22 include a first client 600, a second
- zo ·»·· *· ·· ·« ·· klienta 603, třetího klienta 700 a čtvrtého klienta 7 03. První klient 600 a druhý klient 603 jsou logicky připojeni k prvnímu proxy serveru 50 na úrovni tři. Třetí klient 700 a čtvrtý klient 703 jsou logicky připojeny ke druhému proxy serveru 55 úrovně tři.The client 603, the third client 700 and the fourth client 7 03. The first client 600 and the second client 603 are logically connected to the first level three proxy server 50. The third client 700 and the fourth client 703 are logically connected to the second level three proxy server 55.
Systém pro zpracování dat je nyní popsán z pohledu druhého klienta 603. Druhý klient 603 je připojen ke svému proxy na bezprostředně vyšší úrovni. Jak je znázorněno, proxy na bezprostředně vyšší úrovni je první proxy 50 na úrovni tři. Druhý klient 603 je pak připojen k prvnímu proxy serveru 40 na úrovni dva, prvnímu proxy serveru 35 na úrovni jedna a proxy serveru 30 na úrovni nula, v uvedeném pořadí. Druhý klient 603 může přistupovat k různým serverům 20 s obsahem sítí 25. Přestože typická komunikační cesta pro druhého klienta 603 je prostřednictvím proxy na bezprostředně vyšší úrovni (tj. prvního proxy serveru 50 na úrovni tři), druhý klient 603 nebo proxy server na nižší úrovni může komunikovat přímo s jinými proxy servery 24 na vyšší úrovni nebo se sítí 25. Druhý klient 603 může dokonce mít svůj vlastní klientský proxy server k provádění zachycování.The data processing system is now described from the perspective of the second client 603. The second client 603 is connected to its proxy at an immediately higher level. As shown, the immediately higher level proxy is the first level 50 proxy. The second client 603 is then connected to the first level two proxy server 40, the first level one proxy server 35, and the zero level proxy server 30, respectively. The second client 603 can access different network content servers 20. Although the typical communication path for the second client 603 is through an immediately higher level proxy (i.e., the first proxy server 50 at level three), the second client 603 or the lower level proxy server may communicate directly with other higher level proxy servers 24 or with network 25. The second client 603 may even have its own client proxy server to perform interception.
Z pohledu druhého klienta 603, nejsou jisté proxy servery částí jeho proxy hierarchie. Například druhý proxy server 55 na úrovni tři a druhý proxy server 43 na úrovni dva a druhý proxy server 37 na úrovni jedna, nejsou součástí hierarchie proxy serverů druhého klienta.From the perspective of the second client 603, certain proxy servers are not part of its proxy hierarchy. For example, the second proxy server 55 at level three and the second proxy server 43 at level two and the second proxy server 37 at level one are not part of the hierarchy of proxy servers of the second client.
Klienti 22 mohou obsahovat, ale nejsou omezeni na, osobní počítače, pracovní stanice, set top boxy, a podobně.Clients 22 may include, but are not limited to, personal computers, workstations, set top boxes, and the like.
Síť 25 může obsahovat, ale nemusí obsahovat, internet, www, intranet, lokální sítě (LANy), a podobně.The network 25 may include, but is not limited to, the Internet, www, intranet, local area network (LAN), and the like.
0 0 0 0 0 0 0 * 0 0000 00000 00 0 0 0 0 0 0 * 0 0000 0000 0
90 0090 000090 0090 0000
9000 00 0· 0· 00 009000 00 0 · 00 · 00 00
Proxy servery 24 a server 20 s obsahem může obsahovat různé komerčně dostupné počítače. Například proxy server 24 může být proveden jako server Internet Connection Server (ICS) prodávaný společností IBM Corporation. Podobně server 20 s obsahem může být proveden jako Lotus Go Web server, Lotus Domino server, a podobně (také dostupný od společnosti IBM Corporation). Proxy server 24 nebo server 20 s obsahem může běžet na libovolném výpočetním uzlu, který obsahuje, ale není omezen na, produkty jako například pracovní stanice S/390 SYSPLEX, SP2, nebo RS6000 (také dostupné do společnosti IBM Corporation). Stručně řečeno, proxy server 24 nebo server 20 s obsahem může obsahovat libovolný obecný počítač a spojený software, který může pro klienty 22 zajišťovat přístup ke stránkám World-Wide-Web, vzdálený přenos souborů, podporu elektronické pošty a podporu transakcí.The proxy servers 24 and the content server 20 may include various commercially available computers. For example, the proxy server 24 may be an Internet Connection Server (ICS) marketed by IBM Corporation. Similarly, the content server 20 may be embodied as a Lotus Go Web server, a Lotus Domino server, and the like (also available from IBM Corporation). The proxy server 24 or content server 20 can run on any computing node that includes, but is not limited to, products such as S / 390 SYSPLEX, SP2, or RS6000 (also available from IBM Corporation) workstations. Briefly, the proxy server 24 or content server 20 may include any generic computer and associated software that can provide clients 22 with access to the World Wide Web site, remote file transfer, e-mail support, and transaction support.
Systém zpracovávající data z obr. 1 může používat atributy běžné hierarchie proxy k udržování účinnosti datového přenosu. Například pokud není požadovaný objekt dostupný lokálně na proxy serveru na nižší úrovni, provede se požadavek na nedostupný objekt na další proxy na vyšší úrovni. Pokud proxy na vyšší úrovni předtím zachytil objekt ve své mezipamětí, proxy na vyšší úrovni pošle dále požadovaný objekt klientovi prostřednictvím proxy serveru na nižší úrovni. Jinak se proxy server na vyšší úrovni pokusí získat objekt od svého proxy serveru na další vyšší úrovní. Po získání požadovaného objektu se tento pošle dále proxy na nižší úrovni nebo klientovi požadujícímu objekt.The data processing system of Fig. 1 may use the attributes of a conventional proxy hierarchy to maintain data transfer efficiency. For example, if the requested object is not available locally on a lower-level proxy, a request for an unavailable object is made to the next higher-level proxy. If a higher-level proxy has previously captured an object in its cache, the higher-level proxy will forward the requested object to the client through the lower-level proxy. Otherwise, the higher-level proxy server will try to get the object from its next-level proxy server. After obtaining the requested object, it is forwarded to the lower-level proxy or to the client requesting the object.
Obr. 2 ukazuje podrobnější příklad systému pro zpracování dat ukázaného na obr. 1. Systém pro zpracování • φ · t * « · ·Giant. 2 shows a more detailed example of the data processing system shown in FIG. 1. The processing system • φ · t * «· ·
0 · 0 · 0···0 0 0 00 0400 00000 · 0 · 0 ··· 0 0 0 00 0400 0000
0000 00 00 00 40 »« dat obsahuje proxy server 24, server 20 s obsahem, síť 25 a klienta 22. Systém pro zpracování dat přednostně obsahuje předčerpávací jednotku 250, statistické tabulky 261, aktualizační jednotku 252 statistiky, hlavní mezipaměti 297 a předčerpávací mezipaměti 298.The data processing system comprises a proxy server 24, a content server 20, a network 25 and a client 22. The data processing system preferably includes a pre-pumping unit 250, a statistical table 261, a statistics update unit 252, a main cache 297 and a pre-pumping cache 298. .
Předčerpávací jednotka 250 přednostně obsahuje první předčerpávací manipulátor 248 v proxy serveru 24 a druhý předčerpávací manipulátor 241 v klientovi 22. Statistické tabulky 261 obsahují první statistickou tabulku 293 spojenou s proxy serverem 24 a druhou statistickou tabulku 267 spojenou se serverem 20 s obsahem. Aktualizační jednotka 252 statistiky obsahuje první aktualizační jednotku 264 statistiky pro aktualizaci první statistické tabulky 293 a druhou aktualizační jednotku 269 statistiky pro aktualizaci druhé statistické tabulky 267. Hlavní mezipaměti 297 obsahují první hlavní mezipaměť 294 v každém proxy serveru 24 a druhou hlavní mezipaměť 246 v každém klientovi 22. Předčerpávací mezipaměti' 298 obsahují první předčerpávací mezipaměť 296 v proxy serveru 24 a druhou předčerpávací mezipaměť 249 v klientovi 22.Pre-pump unit 250 preferably includes a first pre-pump manipulator 248 in the proxy server 24 and a second pre-pump manipulator 241 in the client 22. Statistical tables 261 include a first statistical table 293 associated with the proxy server 24 and a second statistical table 267 associated with the content server 20. The statistics update unit 252 includes a first statistics update unit 264 for updating the first statistics table 293 and a second statistics update unit 269 for updating the second statistics table 267. The main caches 297 include the first main cache 294 in each proxy server 24 and the second main cache 246 in each client. The pre-pumping cache 298 includes a first pre-pumping cache 296 in the proxy server 24 and a second pre-pumping cache 249 in the client 22.
Proxy server 24 je výpočetní uzel, který může obsluhovat požadavky sítí 25. Proxy server 24 obsahuje první procesor 280, první paměť 290 a první úložnou jednotku 281. První paměť 290 může obsahovat například paměť s přímým přístupem (RAM). První úložná jednotka 281 může obsahovat například úložné zařízení s přímým přístupem (DASD). První paměť 290 ukládá logiku 295 proxy serveru, která je provedena jako počítačem spustitelný kód. Logika 295 proxy serveru se zavádí z první úložné jednotky 281 do první paměti 290 ke spuštěni prvním procesorem 280. Podrobnosti k činnosti logiky 295 proxy serveru jsou ukázány na obr. 10.The proxy server 24 is a computing node that can handle requests from networks 25. The proxy server 24 includes a first processor 280, a first memory 290, and a first storage unit 281. The first memory 290 may include, for example, a direct access memory (RAM). For example, the first storage unit 281 may include a Direct Access Storage Device (DASD). The first memory 290 stores proxy server logic 295 that is executed as computer executable code. The proxy server logic 295 is loaded from the first storage unit 281 into the first memory 290 to be started by the first processor 280. Details of the operation of the proxy server logic 295 are shown in FIG. 10.
« · • fefe fe · ♦ · · • ♦ fefe fe · fefefefe • fe • fe • · fe · • ·· F f ef ef ef ef ef ef ef ef ef ef ef ef ef · ef
Logika 295 proxy serveru obsahuje manipulátor 283 požadavků na proxy objekty, manipulátor 284 proxy objektů, první předčerpávací manipulátor 248, předčerpávací manipulátor 285 zpráv o požadavku na předčerpaný objekt, předčerpávací aktualizační prostředky 291, první aktualizační rutinu 264 statistiky, první statistickou tabulku 293, první hlavní mezipaměť 294 a první předčerpávací mezipaměť 296.Proxy server logic 295 includes proxy request handler 283, proxy object handler 284, first pumping handler 248, pumping object handler 285, pumping object request messages, pumping update resources 291, first statistics update routine 264, first statistics table 293, first major cache 294 and first pre-pumping cache 296.
Podrobnosti o činnosti manipulátoru 283 požadavků na proxy objekty jsou zobrazeny na obr. 11. Podrobnosti provozu manipulátoru 284 proxy objektů jsou ukázány na obr. 13. Činnost manipulátoru 285 zpráv o požadavku na předčerpaný objekt je ukázán na obr. 12. Podrobnosti činnosti aktualizační jednotky 252 statistiky (tj. první aktualizační rutiny 264 statistiky) jsou ukázány na obr. 5.The details of the operation of the proxy object request handler 283 are shown in FIG. 11. The operation details of the proxy object handler 284 are shown in FIG. 13. The operation of the pre-pumped object request handler 285 is shown in FIG. statistics (i.e., the first statistics update routines 264) are shown in Figure 5.
Činnost předčerpávací jednotky 250 (t j. prvního předčerpávacího manipulátoru 248) je ukázána podrobně na obr. 8. Činnost předčerpávací aktualizační jednotky 291 nebo aktualizační rutiny informací s pokyny ohledně předčerpávání, je ukázána na obr. 14. Logika 295 proxy serveru udržuje první hlavní mezipaměť 294 a první předčerpávací mezipaměť 296.The operation of the pumping unit 250 (i.e., the first pumping manipulator 248) is shown in detail in FIG. 8. The operation of the pumping update unit 291 or information routing information routine is shown in FIG. 14. The proxy server logic 295 maintains the first main cache. 294 and the first pre-pumping cache 296.
Server 20 s obsahem je výpočetní uzel, který může obsluhovat požadavky sítí 25. Server 20 s obsahem obsahuje druhý procesor 260, druhou paměť 263 a druhou úložnou jednotku 265. Druhá paměť 263 může obsahovat například paměť s přímým přístupem (RAM). Druhá úložná jednotka 265 může obsahovat například úložné zařízení s přímým přístupem (DASD). Druhá paměť 263 ukládá logiku 268 serveru s obsahem fc · · • t · »The content server 20 is a computing node that can handle requests from networks 25. The content server 20 includes a second processor 260, a second memory 263, and a second storage unit 265. The second memory 263 may include, for example, a direct access memory (RAM). For example, the second storage unit 265 may include a Direct Access Storage Device (DASD). The second memory 263 stores server logic 268 containing fc · · • t · »
- 3U > * fc <- 3U> * fc <
fc · I fcfc fcfc • fcfc « · ι •fcfcfc *4 • · ' • · ·· nebo software serveru s obsahem.fcfcfcfcfcfcfcfcfcfcfc * 4 or content server software.
Činnost logiky 268 serveru s obsahem je ukázána následně podrobněji s odkazem na obr. 4. Logika 268 serveru s obsahem je provedena jako počítačem spustitelný kód, který je zaveden ze druhé úložné jednotky 265 do druhé paměti 263 pro spuštění druhým procesorem 260. Logika 268 serveru s obsahem obsahuje druhou statistickou tabulku 267, druhou aktualizační jednotku 269 statistiky pro aktualizaci druhé statistické tabulky 267, a generující jednotku 266 pro generování informací s pokyny ohledně předčerpávání. Druhá statistická tabulka 267 ukládá data podle informací potenciálních informací o s požadovanými informacemi.The operation of the content server logic 268 is shown in more detail below with reference to FIG. 4. The content server logic 268 is executed as computer executable code that is loaded from the second storage unit 265 to the second memory 263 for execution by the second processor 260. The table of contents includes a second statistical table 267, a second statistics update unit 269 for updating the second statistical table 267, and a generating unit 266 for generating information with prefetching instructions. The second statistical table 267 stores data according to potential information information with the requested information.
Statistické tabulky 261 přispívají k vytváření informací s pokyny ohledně předčerpávání, které jsou založeny na skutečném chování odkazů klientů. Podrobnosti o statistických tabulkách 261 jsou znázorněny na obr. 3B.Statistical tables 261 contribute to the generation of information with prefetch instructions based on the actual behavior of the client references. Details of the statistical tables 261 are shown in Fig. 3B.
požadovaných klienty a předčerpávání spojenýchrequired clients and pre-pumping related
Činnost druhé aktualizační jednotky 269 statistiky je ukázána podrobněji s odkazem na obr. 5. Generující jednotkaThe operation of the second statistics update unit 269 is shown in more detail with reference to Fig. 5. The generating unit
266 generuje informace z informací ve druhé s pokyny ohledně předčerpávání statistické tabulce 267 a z požadovaných informací. Generující jednotka 266 může být provedena jako gererující rutina informací s pokyny ohledně předčerpávání (PHI) jak je zobrazeno na obr. 6.266 generates information from the information in the second with instructions on prefetching the statistical table 267 and the required information. The generating unit 266 may be performed as a gererizing routine of information with prefetch instructions (PHI) as shown in Fig. 6.
Klient 22 přednostně obsahuje třetí procesor 240, třetí paměť 245 a třetí úložnou jednotku 242. Třetí paměť 245 může obsahovat například paměť s přímým přístupem. Třetí úložná jednotka 242 může například obsahovat úložné zařízení s přímým přístupem (DASD). Třetí paměť 245 ukládá logiku 244 klienta nebo software klienta. Činnost logiky 244 klienta je • · «The client 22 preferably comprises a third processor 240, a third memory 245, and a third storage unit 242. The third memory 245 may comprise, for example, a direct access memory. For example, the third storage unit 242 may include a Direct Access Storage Device (DASD). The third memory 245 stores client logic 244 or client software. Client logic activity 244 is • · «
0 '0 '
0 «0 «
0* «0 * «
* ♦ ** ♦ *
0 0 · · ·0 0 · · ·
0 0 0 0 ·* následně ukázána podrobněji s odkazem na obr. 7. Logika klienta 244 je provedena jako počítačem spustitelný kód, který je zaveden ze třetích úložných prostředků 242 do třetí paměti 245 pro spuštění třetím procesorem 240.The client logic 244 is executed as a computer executable code that is loaded from the third storage means 242 to the third memory 245 for execution by the third processor 240.
Logika 244 klienta obsahuje manipulátor 247 požadavků na klientské objekty, druhý předčerpávací manipulátor 241, druhou hlavní mezipaměť 246 a druhou předčerpávací mezipaměť 249. Manipulátor 247 požadavků na klientské objekty získává požadované objekty pro klienta ze druhé hlavní mezipaměti 246, druhé předčerpávací mezipaměti 249, proxy serveru 24, nebo serveru 20 s obsahem. Podrobnosti k činnosti manipulátoru 247 požadavků na klientské objekty jsou zobrazeny na obr. 9.Client logic 244 includes client object request handler 247, a second pre-pump handler 241, a second main cache 246, and a second pre-pump cache 249. The client object request handler 247 obtains requested objects for the client from the second main cache 246, the second pre-pump cache 249 24, or the content server 20. Details of the operation of the client object request handler 247 are shown in Figure 9.
Logika 244 klienta udržuje druhou hlavní mezipaměť 246 a druhou předčerpávací mezipaměť 249. Druhá hlavní mezipaměť 246 se používá k ukládání často odkazovaných objektů, zatímco druhá předčerpávací mezipaměť 249 se používá k ukládání objektů předtím, než je na ně skutečně odkázáno. Předčerpávané objekty jsou objekty, na které nebylo bezprostředně nebo předtím ještě odkazováno ve spojení s odkazovanými objekty. V upřednostňovaném provedení jsou hlavní mezipaměti 297 spravovány běžným algoritmem LRU (použit naposledy). Odborníci také ocení, že k údržbě hlavních mezipaměti 297 lze uplatnit libovolnou jinou strategii nahrazování.Client logic 244 maintains a second main cache 246 and a second prefetch cache 249. The second main cache 246 is used to store frequently referenced objects, while the second prefetch cache 249 is used to store objects before actually referring to them. Pre-pumped objects are objects that have not been immediately or previously referenced in conjunction with referenced objects. In a preferred embodiment, the main caches 297 are managed by a conventional LRU algorithm (last used). Those skilled in the art will also appreciate that any other replacement strategy can be used to maintain the main caches 297.
Hlavní mezipaměti 297 a předčerpávací mezipaměti 298 mohou být logicky odděleny. Logické oddělení předčerpávaných objektů od skutečně požadovaných objektů v hlavní mezipaměti 297 je kvůli tomu, aby předčerpávané objekty nezabíraly příliš úložného prostoru. K dosažení tohoto cíle jsou dostupné různé alternativy logicky oddělené předčerpávací mezipaměti a hlavní mezipaměti. Například jednoduchá mezipaměť může mít uplatněnu horní mez na více předčerpávaných objektů a/nebo horní mez uplatněnou na prostor, který zabírají předčerpané objekty. Hlavní mezipaměť 297 a předčerpávací mezipaměť 298 jsou navrženy k podpoře různých cílů. Hlavní mezipaměť 297 má zachycovat populární objekty, které mají tendenci být opakovaně požadovány. Předčerpávací mezipaměť 298 se používá pouze k podpoře určité relace prohlížení předčerpáváním objektů, které se budou nepravděpodobněji v této relaci příště používat. V upřednostňovaném provedení, pokud vydá uzel na nižší úrovni v hierarchii požadavek na předčerpání objektu do předčerpávací mezipaměti uzlu na vyšší úrovni, pošle se objekt na uzel na nižší úrovni a označí se jako odstranitelný z předčerpávací mezipaměti 298 uzlu vyšší úrovně, protože byl dosažen cíl předčerpání. Jakmile je na předčerpávaný objekt skutečně odkazováno, může být posunut do hlavní mezipaměti 297 podle pravidel správy hlavní mezipaměti 297. V upřednostňovaném provedení, s použitím pravidel náhrady LRU, je jednou použitý předčerpaný objekt přesunut do hlavní mezipaměti.The main cache 297 and the pre-pumping cache 298 may be logically separated. Logically separating the pumped objects from the actually requested objects in the main cache 297 is to prevent the pumped objects from occupying too much storage space. To achieve this, various alternatives are available for the logically separated pre-pumping cache and the main cache. For example, a single cache may have an upper limit applied to multiple pre-pumped objects and / or an upper limit applied to the space occupied by the pre-pumped objects. The main cache 297 and the pre-pumping cache 298 are designed to support various targets. The main cache 297 is intended to capture popular objects that tend to be repeatedly requested. The prefetch cache 298 is only used to support a particular browsing session by prefetching objects that are unlikely to be used next time in that session. In the preferred embodiment, if a downlevel node in the hierarchy issues an object pumping request to a higher level node pumping cache, the object is sent to the lower level node and marked as removable from the higher level node pumping cache 298 because the pumping target has been reached . Once the prefetched object is actually referenced, it can be moved to the main cache 297 according to the main cache management rules 297. In a preferred embodiment, using the LRU replacement rules, once the prefetched object used is moved to the main cache.
Lze sestavit alternativní kritérium pro přijetí objektu z předčerpávací mezipaměti 298 do hlavní mezipaměti 297. V publikaci od Abrams a kol., Caching Proxies: Limitations and Potentials, Proč. 4th International World Wide Web Conference, 1996, byly popsány některé principy náhrad v mezipaměti, které v rozhodovacím procesu neberou v úvahu velikosti objektů. Běžným odborníkům jsou známy jiné principy náhrad v mezipaměti.An alternative criterion for accepting an object from the pre-pumping cache 298 to the main cache 297 can be constructed. In Abrams et al., Caching Proxies: Limitations and Potentials, Proc. The 4th International World Wide Web Conference, 1996, describes some cached replacement principles that do not take into account the size of objects in the decision-making process. Other cached replacement principles are known to those of ordinary skill in the art.
Obr.Giant.
3A je blokové schéma, znázorňující způsob3A is a block diagram illustrating a method
Φ · · dynamického předčerpávání dat pro klienty ze serveru 20 s obsahem nebo hierarchie proxy serverů. Nejdříve v bloku 100 klient požaduje informace od proxy serveru nebo serveru 20 s obsahem. Za druhé, v bloku 102 se na serveru 20 s obsahem a proxy serverech identifikuje přístup k historickým datům nebo vzory datových odkazů. V praxi může být pořadí dokončení bloku 100 a bloku 102 obrácené.Dynamic client data pumping from the content server 20 or the hierarchy of proxy servers. First, in block 100, the client requests information from the proxy server or the content server 20. Second, block 102 identifies access to historical data or data link patterns on content server 20 and proxy servers. In practice, the completion order of block 100 and block 102 may be reversed.
Za třetí, v bloku 104 server 20 s obsahem generuje informace s pokyny ohledně předčerpávání (PHI) u souvisejících přístupů k požadovaným informacím na základě datových odkazových vzorů identifikovaných v bloku 102. Za čtvrté, v bloku 1Q5 mohou informace s pokyny ohledně předčerpávání okomentovat požadované informace. Informace s pokyny ohledně předčerpávání se mohou například přenášet jako meta data přibalená k požadovaným informacím (tj. k objektu). S ohledem na krok založení nebo generování informací s pokyny ohledně předčerpávání, sledují servery 20 s obsahem vzory používání/odkazování od velkého počtu současně připojených uživatelů nebo klientů. V praxi servery 20 s obsahem určují, která skupina objektů se týká požadovaných informací nebo požadovaného objektu. Servery 20 s obsahem generují a poskytují informace s pokyny ohledně předčerpávání (PHI) s požadovaným objektem. V kroku předčerpání nebo těsně před ním mohou proxy servery interpretovat PHI s uvážením místních podmínek a rozhodnout se, které zvolené objekty se mají předčerpat.Third, in block 104, the content server 20 generates prefetch information (PHI) for related accesses to the requested information based on data reference patterns identified in block 102. Fourth, in block 1Q5, the prefetch information may comment on the requested information . For example, information with prefetch instructions may be transmitted as meta data packaged with the requested information (i.e., the object). Referring to the step of establishing or generating information with prefetching, the content servers 20 follow usage / referencing patterns from a large number of concurrently connected users or clients. In practice, the content servers 20 determine which group of objects relates to the requested information or the desired object. Content servers 20 generate and provide information with prefetching (PHI) instructions with the desired object. In the pre-pumping step or just before it, the proxy servers may interpret the PHI taking into account local conditions and decide which selected objects should be pumped.
Za páté, v bloku 106 se aktualizují informace s pokyny ohledně předčerpávání při průchodu požadovaných informací hierarchií proxy serverů. Aktualizace v bloku 106 odráží provedené operace předčerpání a stav zachycení v mezípaměti na vyšších úrovních hierarchie, a jiné lokální podmínky, to to 1 toto·· ·· • · to • to • ·· ♦ «to ·* jako jsou lokální vzory odkazů. Proxy servery mohou upravit PHI tak, aby zohlednily své rozhodnutí o předčerpání a různé lokální podmínky před posláním objektu na další proxy (na nižší úrovni) nebo na klientskou stanici. Při průchodu objektu hierarchií proxy serverů nastaví posílající uzel počáteční PHI, zatímco přijímající uzel může odvodit koncové PHI z počátečního PHI. Konečné PHI definují, které zvolené objekty se mají předčerpat na základě požadovaných objektů. Operace a rozhodnutí o předčerpání zahajuje přijímač, nikoli odesilatel.Fifth, in block 106, information is updated with instructions for prefetching as required information passes through the hierarchy of proxy servers. Updating the block 106 reflects an operation state and prefetching are buffered at the higher levels hierarchy, and other local conditions, such that a 1 ·· ·· · • a • s • ·· ♦ «* · it as local reference patterns. Proxy servers can modify PHI to reflect their prefetch decision and various local conditions before sending the object to another proxy (at a lower level) or to the client station. When passing through an object hierarchy of proxy servers, the sending node sets the initial PHI, while the receiving node can derive the final PHI from the initial PHI. Final PHIs define which selected objects are to be pumped based on the required objects. Operations and decisions on pre-pumping are initiated by the receiver, not the sender.
Nakonec v bloku 108 jsou výběrové informace předčerpány na základě informací s pokyny ohledně předčerpávání a požadovaných informací. Proxy server nebo klient se rozhodne, zda se má předčerpávat podskupina objektů uvedená v PHI na základě PHI informací v přijatém objektu, lokálně udržovaných informací o odkazech (pokud jsou dostupné) a jiných lokálních podmínek jako je velikost dostupného prostoru, a doba přístupu.Finally, at block 108, the selection information is pre-pumped based on the pre-pumped information and the requested information. The proxy server or client decides whether to prefetch a subset of the objects specified in the PHI based on the PHI information in the received object, locally maintained link information (if available) and other local conditions such as the amount of available space, and access time.
Generování informací s pokyny ohledně předčerpávání v bloku 104 přednostně používá protokol PICS nebo formát slučitelný s PICS (viz. níže). PHI generované v bloku 104 jsou uloženy s každým zachyceným objektem v mezipamětí jako část jeho meta dat, takže jakmile je zachycený objekt požadován, lze prozkoumat PHI informace objektu kvůli zahájení příslušných předčerpávacích operací. PHI informace mohou být zajištěny protokolem PICS. PICS protokol poskytuje informace o kritičnosti každého PHI objektu a jeho vlastnosti jako je velikost a stav zachycení v mezipamětí výše v hierarchii.Generating the prefetch information in block 104 preferably uses a PICS protocol or a PICS-compatible format (see below). The PHIs generated in block 104 are stored with each intercepted object in the cache as part of its meta data, so that once the intercepted object is requested, the object's PHI information can be examined to initiate appropriate pumping operations. PHI information can be provided by the PICS protocol. The PICS protocol provides information about the criticality of each PHI object and its properties such as the size and state of the cached intercept above in the hierarchy.
Aktualizace informací s pokyny ohledně předčerpávání to • to ·· • to to * •to·· ·· to ·· • to toto lze dosáhnout prostřednictvím hierarchie proxy serverů. Proxy servery mohou shromažďovat lokální informace a rozdělovat nebo decentralizovat rozhodnutí o předčerpávání směrem dolů v hierarchy proxy serverů. Dále informace o tom, který bezprostřední proxy server předčerpal objekt, by mohly mít vliv na rozhodování o předčerpání proxy serverů na nižší úrovni a klientskou stanici kvůli optimalizaci využití úložného prostoru a šířky pásma.Update information with instructions on pre-pumping to • to ·· • to to * • to ·· ·· to ·· • this can be achieved through the proxy server hierarchy. Proxy servers can gather local information and distribute or decentralize downward pumping decisions in the hierarchy of proxy servers. In addition, information about which immediate proxy server has pumped the object could influence the decision to pumped down proxy servers and the client station to optimize storage usage and bandwidth.
Proxy servery v hierarchii proxy serverů spolu spolupracují tak, aby zajistily rozhodování o předčerpávání orientované na přijímač. Rozhodnutí o předčerpávání se může provést ve spoluprácí každého proxy a klienta. Informace s pokyny ohledně předčerpávání ve formátu meta informací komentují (tj. doplňují) požadované objekty. Informace s pokyny ohledně předčerpávání poskytují informace o potenciálních kandidátech na předčerpání. Mezilehlé proxy servery mohou upravovat meta informace nebo informace s pokyny ohledně předčerpávání na základě lokálních podmínek a ukládat meta informace s objektem, jakmile je zachycen, takže předčerpání lze spustit při pozdějším odkaze na objekt.Proxy servers in the proxy server hierarchy work together to ensure receiver-oriented pre-pumping decisions. The prefetch decision can be made in cooperation of each proxy and client. Information with prefetch instructions in the meta information format comments (ie complements) the required objects. Information with pre-pumping instructions provides information on potential pre-pumping candidates. Intermediate proxy servers may modify meta information or prefetch information based on local conditions and store meta information with the object as soon as it is captured so that prefetch can be triggered at a later reference to the object.
Obr. 3B znázorňuje datový formát statistické tabulky 261. Statistická tabulka 261 by se měla obecně odkazovat buďto na první statistickou tabulku 293, nebo na druhou statistickou tabulku 267. Jeden nebo více proxy serverů 24 udržují první statistickou tabulku 293. Server 20 s obsahem může udržovat druhou statistickou tabulku 267. Formáty pro první statistickou tabulku 293 a druhou statistickou tabulku 267 jsou přednostně podstatně podobné nebo stejné, aby se prosadila aktualizace statistické tabulky 261 na jiných proxy serverech v hierarchii proxy • · · • · • · » ·» * · · · · . :Giant. 3B illustrates the data format of the statistical table 261. The statistical table 261 should generally refer to either the first statistical table 293 or the second statistical table 267. One or more proxy servers 24 maintain the first statistical table 293. The content server 20 may maintain the second statistical table The formats for the first statistical table 293 and the second statistical table 267 are preferably substantially similar or the same in order to enforce the update of the statistical table 261 on other proxy servers in the proxy hierarchy. . :
• ·»·* ··· • ·· ···· · ···· ·· ·· ·· serverů. Statistická tabulka 261 pomáhá poskytovat informace s pokyny ohledně předčerpávání (PHI) na základě současného chování odkazů prohlížeče z pohledu proxy serveru nebo serveru 20 s obsahem, se kterým je spojena statistická tabulka 261. Statistická tabulka 261 je schopná sledovat odkazy všech komunikujících klientů pod ní v hierarchii proxy serverů.• · · * server server server server server server..... Server. Server server server. Statistics Table 261 helps provide information with prefetch (PHI) instructions based on the current behavior of browser links from the perspective of the proxy or content server 20 associated with Statistics Table 261. Statistics Table 261 is able to track links of all communicating clients below it. hierarchy of proxy servers.
Například na obr. 1 sleduje první statistická tabulka 293 na prvním proxy serveru 50 úrovně tři souhrnné chování přístupu k datům prvního klienta 600 a druhého klienta 603. Mezitím první statistická tabulka 293 na druhém proxy serveru 55 úrovně tři sleduje souhrnné chování přístupu k datům třetího klienta 700 a čtvrtého klienta 703. První statistická tabulka na prvním proxy serveru 40 úrovně dva sleduje souhrnné chování prvního klienta 600, druhého klienta 603, třetího klienta 700 a čtvrtého klienta 703. Přestože proxy na nižší úrovni, jako například první proxy server 50 úrovně tři, může být lépe schopen sledovat zájmy klienta 600, nemusí být proxy na nižší úrovni schopna získat dostatek statistiky odkazů od dostatečně velikého vzorku klientů, aby mohla zajistit smysluplné informace s pokyny ohledně předčerpávání (PHI).For example, in Fig. 1, the first statistic table 293 on the first level 50 proxy server 50 monitors the aggregate data access behavior of the first client 600 and the second client 603. Meanwhile, the first statistic table 293 on the second level three proxy server 55 monitors the aggregate data access behavior 700 and the fourth client 703. The first statistical table on the first level two proxy 40 tracks the aggregate behavior of the first client 600, the second client 603, the third client 700, and the fourth client 703. Although a lower-level proxy such as the first level 50 proxy three, it may be better able to track client interests 600, a lower-level proxy may not be able to get enough link statistics from a large enough sample of clients to provide meaningful information with prefetch instructions (PHI).
V upřednostňovaném provedení, jakmile je požadován objekt O ze serveru 20 s obsahem, server 20 poskytne počáteční informace s pokyny ohledně předčerpávání PHI na základě informací v jeho druhé statistické tabulce 267. Při průchodu objektu O hierarchií proxy serverů může libovolný proxy server 24 na cestě do klienta 22 upravovat informace s pokyny ohledně předčerpávání (PHI) v záhlaví objektu kvůli přizpůsobení PHI na lokální situaci v první statistické tabulce 293, pokud existuje dostatek lokálních odkazů na • φ • · φ · « φφφφ φφ • « φ • Φ φφ φ φ * • φ « • Φ 4In a preferred embodiment, once an O object is requested from the content server 20, the server 20 provides initial information with instructions on PHI prefetch based on the information in its second statistical table 267. When passing through the object O of the hierarchy of proxy servers, any proxy server 24 Client 22 to modify the prefetch information (PHI) in the header of the object to adapt PHI to the local situation in the first statistics table 293 if there are enough local references to • • • • • • • • • • • • φ «• Φ 5
Φ· Φ» objekt 0. První statistická tabulka 293 může nahradit druhou statistickou tabulku 267 na základě faktorů jako například: dobře indexované zájmy nebo přednosti konkrétního klienta proxy serverem na nižší úrovni.The first statistical table 293 may replace the second statistical table 267 based on factors such as: well-indexed interests or the strengths of a particular client by a downstream proxy.
V upřednostňovaném provedení udržuje server 20 s obsahem druhou statistickou tabulku 267, což je databáze četností přístupů k datům klientů 22 s ohledem na požadované informace. Databáze by mohla být rozšířená tak, aby obsahovala četnosti datových přístupů požadujících proxy serverů 24. Podobně jeden nebo více proxy serverů 24 udržuje první statistickou tabulku 293. Statistická tabulka 261 má například první pole 383 s první datovou strukturou 304 a druhou datovou strukturou 306. Jak je ukázáno, první datová struktura 304 a druhá datová struktura 306 jsou záznamy;. Každý záznam ve statistické tabulce 261 se skládá z několika polí,obsahujících identifikátory 301 rodičovských objektů (tj. Objectld), první počty 302 (t j. TCount), datové ukazatele 303 do seznamu přístupů (tj. Alist).In a preferred embodiment, the content server 20 maintains a second statistical table 267, which is a database of frequencies of access to client data 22 with respect to the requested information. The database could be extended to include data access frequencies of requesting proxy servers 24. Similarly, one or more proxy servers 24 maintain a first statistical table 293. For example, the statistical table 261 has a first field 383 with a first data structure 304 and a second data structure 306. it is shown that the first data structure 304 and the second data structure 306 are records; Each entry in the statistical table 261 consists of several fields containing parent object identifiers 301 (i.e., Objectld), first counts 302 (i.e., TCount), data pointers 303 to the access list (i.e., Alist).
Pole 301 identifikátoru rodičovského objektu obsahuje identifikátor objektu. Identifikátor 301 rodičovského objektu obsahuje například URL objektu pro internet nebo související aplikace. První pole 302 s počtem obsahuje počet, kolikrát se vyžádá rodičovský objekt spojený s identifikátorem rodičovského objektu podle pozorování serveru. To znamená, že první pole 302 s počtem obsahuje četnosti skutečných požadavků na požadované objekty. První počet 302 představuje četnost přístupů k rodičovským objektům. Datový ukazatel 303 do seznamu přístupů obsahuje datový ukazatel do seznamu 370 přístupů.The parent object identifier field 301 includes an object identifier. For example, the parent object identifier 301 includes an object URL for the Internet or related applications. The first count field 302 includes the number of times the parent object associated with the parent object identifier is requested according to the server observation. That is, the first count field 302 contains frequencies of actual requests for the requested objects. The first number 302 represents the frequency of accesses to the parent objects. The access list data pointer 303 includes the access list data pointer 370.
Statistická tabulka 261 má seznam 370 přístupů, který φ φ · φ φ φ φ · · φφ • φ • · • φ φφφφ ·· φφφ φStatistical table 261 has a list of 370 accesses, which φ φ φ · · • φ · · · · · ·
φ φφ například obsahuje první záznam 340 přístupu, druhý záznam 350 přístupu, třetí záznam 360 přístupu a čtvrtý záznam 380 přístupu. Jak je znázorněno, identifikátor rodičovského objektu spojený s první datovou strukturou 304 má seznam 370 přístupů, který se skládá z propojeného seznamu prvního záznamu 340 přístupu, druhého záznamu 350 přístupu a třetího záznamu 360 přístupu. Pole 313 s datovým ukazatelem na další záznam obsahuje ukazatel na další přístupový záznam v přístupovém seznamu 370 spojeném s identifikátorem 301 určitého rodičovského objektu. Seznam přístupů pro identifikátor 301 rodičovského objektu spojený s druhou datovou strukturou 306 pouze obsahuje čtvrtý přístupový záznam 380.For example, φ φφ includes a first access record 340, a second access record 350, a third access record 360, and a fourth access record 380. As shown, the parent object identifier associated with the first data structure 304 has an access list 370 that consists of a linked list of the first access record 340, the second access record 350 and the third access record 360. The next record data pointer field 313 includes a pointer to the next access record in the access list 370 associated with the identifier 301 of the particular parent object. The access list for the parent object identifier 301 associated with the second data structure 306 only includes a fourth access record 380.
Každý záznam nebo datová struktura na seznamu přístupů se skládá z několika polí, včetně identifikátoru 310 synovského objektu (tj. AObjectld), druhého počtu 312 (tj. RCount), a datového ukazatele 313 na další záznam (tj. Nxt). Datové struktury mohou být ve formátu obecné datové struktury, záznamu nebo polí. Jak je znázorněno na obr. 4, datové struktury jsou záznamy, které tvoří propojený seznam v seznamu 370 přístupů.Each record or data structure on the access list consists of several fields, including a child object identifier 310 (i.e., AObjectld), a second number 312 (i.e., RCount), and a data pointer 313 for the next record (i.e., Nxt). The data structures may be in the format of a general data structure, record, or field. As shown in FIG. 4, data structures are records that form a linked list in the access list 370.
V alternativním provedení může datový formát statistické tabulky obsahovat primární pole týkající se množství alternativních sekundárních poli ve stromové struktuře. Primární pole by obsahovalo informace týkající se rodičovských objektů a sekundární pole by obsahovalo informace o synovských objektech odpovídajících rodičovských objektů.In an alternative embodiment, the data format of the statistical table may include a primary field relating to a plurality of alternative secondary fields in the tree structure. The primary field would contain information related to the parent objects, and the secondary field would contain information about the child objects of the corresponding parent objects.
Pole 310 s identifikátorem synovského objektu obsahuje identifikátor (URL) objektu objektu. Identifikátor 301 • · · • » · • fefe fe· «The filial object identifier field 310 contains the object object identifier (URL). Identifier 301 fefe fe
• fe* fefe fe fe · • fefe · • · · ♦ fefe ·· fe fe rodičovského objektu je ve vztahu s jedním nebo více identifikátorů 310 synovských objektů na seznamu přístupů. Identifikátory 310 synovských objektů identifikují potenciální kandidáty na předčerpání, pokud je skutečně odkazováno na rodičovský objekt synovského objektu. Druhý počet 312 obsahuje počet, kolikrát je na synovský objekt odkázáno prostřednictvím jeho rodičovského objektu. Jinými slovy, druhý počet je četnost, se kterou se na synovský objekt odkazuje časově bezprostředně a následně po předchozím odkaze na přidružený rodičovský objekt. Druhý počet 312 představuje četnost přístupů k synovským objektům.The fe feeder object is related to one or more identifiers 310 of the child objects on the access list. The filial object identifiers 310 identify potential prefetch candidates when actually referring to the parent object of the filial object. The second number 312 includes the number of times the child object is referred to by the parent object. In other words, the second count is the frequency with which the filial object is referenced immediately in time and subsequent to the prior reference to the associated parent object. The second number 312 represents the frequency of accesses to the filial objects.
Identifikátory synovských objektů 310 na seznamu 370 přístupů lze získat dynamicky na základě sledování skutečného chování odkazů klientů. Například v HTML může mít webovská stránka HTTP odkazy na jiné webovské stránky. Tyto webovské stránky označené HTTP odkazy jsou potenciální synovské objekty pro (rodičovskou) webovskou stránku obsahující HTTP odkazy. Při prohlížení rodičovského objektu, pokud se klepne na odkaz (HTTP) obsažený v rodičovském objektu, požaduje se odpovídající synovský objekt. Synovský objekt může mít více než jednoho rodiče, protože referenční odkaz na synovský objekt může být obsažen ve více jiných rodičovských objektech. V HTTP protokolu obsahuje požadavek na synovský objekt ve svém záhlaví URL rodiče jako údaj o odkazujícím objektu. Takže server může dynamicky dát do vztahu následující odkaz synovského objektu na svůj rodičovský objekt (pomocí informací o odkazujícím objektu v záhlaví synovského objektu). Pokud klient často klepe na synovský objekt nebo volí synovský objekt, může se synovský objekt stát kandidátem na předčerpání nebo výběrovou informací.The identifiers of the filial objects 310 in the access list 370 can be obtained dynamically by monitoring the actual behavior of the client references. For example, in HTML, an HTTP Web page may have links to other Web pages. These web pages marked with HTTP links are potential child objects for a (parent) web page containing HTTP links. When viewing a parent object, if the link (HTTP) contained in the parent object is clicked, the corresponding child object is requested. A child object can have more than one parent because the reference to the child object can be contained in more than one parent object. In the HTTP protocol, a request for a filial object contains a parent in its URL header as a reference object. Thus, the server can dynamically relate the following child object reference to its parent object (using the referencing object information in the child object header). If the client frequently clicks on the filial object or selects the filial object, the filial object may become a candidate for pumping or selection information.
0 ·0 ·
0· · · · • 0 0 • 4*«« ·· • 0 0 0 0 • ·0 00 · · · · 0 0 • 4 * «« ·· • 0 0 0 0 • · 0 0
0· 000 · 00
Navíc lze kromě dynamického sledování chování prohlížeče ohledně odkazů pravidelně provádět statickou analýzu nebo získávání dat z protokolů webu, kvůli odvození informací o skupinách objektů pro statistickou tabulku 261. Algoritmus získávání dat identifikuje skupiny objektů, na které je odkazováno společně, aby se získaly potenciální kandidáti na předčerpání pro PHI. Jeden způsob získávání dat z protokolů webu k odvození vzoru odkazů je popsán v publikaci: SpeedTracer: A Web Usage Mining and Analysis Tool, od Kun-lung Wu a kol., IBM Research Report 20895, z května 1997 (viz. IBM Systems Journal. v37, nl, str.89105, 1998). Algoritmus SpeedTracer poskytuje informace o často se opakujících skupinách stránek, na které je odkazováno společně v relaci uživatele a o častých cestách průchodu. Algoritmus SpeedTracer je získávání podrobných dat, které může odhalit související odkazy, na které není okamžitě odkazováno společně. Může také provádět lepší předpovědi další skupiny odkazovaných objektů na základě cesty průchodu k danému objektu.In addition, in addition to dynamically tracking browser behavior regarding links, static analysis or retrieving data from site logs can be performed periodically to derive object group information for statistic table 261. The retrieval algorithm identifies groups of objects referenced together to obtain potential candidates for pre-pumping for PHI. One way of obtaining data from web protocols to derive a link pattern is described in: SpeedTracer: A Web Usage Mining and Analysis Tool, by Kun-lung Wu et al., IBM Research Report 20895, May 1997 (see IBM Systems Journal. v37, nl, p.89105, 1998). The SpeedTracer algorithm provides information about frequently repeating groups of pages that are linked together in a user session and about frequent paths. The SpeedTracer algorithm is collecting detailed data that can reveal related links that are not immediately referenced together. It can also make better predictions of the next group of referenced objects based on the path to the object.
Lze použít jiné typy algoritmů získávání dat k určování vzorů přístupů k datům pro statistickou tabulku 261. Jiné algoritmy získávání dat například obsahují klasifikaci a seskupování, které lze také použít při analýze protokolu webu k získání vzorů odkazů. Dále mohou být PHI také dodány poskytovatelem obsahu na základě jeho znalostí vztahů objektů. PHI mohou například obsahovat, ale nejsou omezeny na, opravné balíky a aktualizace pro stažení požadovaného software, Java třídy pro požadovaný JAVA aplet a objekty (jako například GIFy) obsažené v požadovaných objektech.Other types of data retrieval algorithms can be used to determine data access patterns for statistical table 261. For example, other data retrieval algorithms include classification and grouping, which can also be used in web log analysis to retrieve link patterns. In addition, PHIs may also be supplied by the content provider based on its knowledge of object relationships. For example, PHIs may include, but are not limited to, fix packs and updates to download the required software, Java classes for the desired JAVA applet, and objects (such as GIFs) contained in the desired objects.
V upřednostňovaném provedení se při shromažďování statistiky rozlišuje skutečné požadování objektu klientskouIn a preferred embodiment, when collecting statistics, a distinction is made between the actual client request for the object
0 0 « 0 ·0 0 «0 ·
0 *0 *
00
0« • 0 0000 000 «0 0000 00
00
stanicí od požadavku na předčerpání objektu. První počet 302 (tj. TCount) a druhý počet 310 (tj. RCount) ve statistické tabulce 261 vyjadřuje skutečné odkazy, nikoli předčerpávání. Operace předčerpání totiž nebude mít za následek aktualizaci první statistické tabulky 293 nebo druhé statistické tabulky 267, vliv budou mít pouze skutečné odkazy na objekty.station from the request for pre-pumping the object. The first count 302 (i.e., TCount) and the second count 310 (i.e., RCount) in statistical table 261 represent actual references, not pre-pumping. The prefetch operation will not update the first statistical table 293 or the second statistical table 267, only the actual object references will be affected.
Informace s pokyny ohledně předčerpávání nebo informační seznam s pokyny ohledně předčerpávání může používat různé datové struktury pro okomentování požadovaných informací nebo požadovaných objektů. Informace s pokyny ohledně předčerpávání mohou být například sděleny mezi požadujícím uzlem a uzlem serveru s použitím přibalených meta dat. V implementaci HTTP může být výměna informací obsažena jako meta data v záhlaví objektu s použitím existujících webovských protokolů. PICS (platforma pro volbu internetového obsahu) určuje způsob posílání meta informací týkajících se elektronického obsahu. PICS je použitelný k (a) okomentování požadovaných informací, (b) předčerpávání výběrových informací, kandidátů na předčerpávání nebo synovských objektů a (c) potvrzování operací předčerpání po předčerpání informací.The prefetch information or prefetch information list may use different data structures to comment on the required information or objects. For example, prefetch information may be communicated between the requesting node and the server node using the included meta data. In an HTTP implementation, information exchange can be included as meta data in the object header using existing web protocols. PICS (Internet Content Selection Platform) determines how meta information is sent about electronic content. The PICS is useful for (a) commenting on required information, (b) pre-pumping selection information, pre-pumping candidates, or filial objects, and (c) confirming pre-pumping operations after pumping information.
PICS je běžným odborníkům znám jako doporučení podle protokolu Web konsorcia. PICS se nejdříve používal k posílání klasifikačních návěští založených na hodnotách, jako například Míra obnaženosti spojená s tímto obsahem, ale formát a význam meta informací je zcela obecný. V PICS jsou meta informace týkající se elektronického obsahu seskupovány podle klasifikační služby nebo tvůrcem zamýšleného použití informací, a v jedné takové skupině se může přenášet libovolný počet kategorií nebo rozměrů informací. Každá kategorie má rozsah povolených hodnot a pro to · · · to ·· · to ·· · • to ·· • to • to to *PICS is known to ordinary experts as recommended by the Web Consortium Protocol. PICS was first used to send value-based classification labels such as the Exposure Rate associated with this content, but the format and meaning of meta information is quite general. In the PICS, meta information related to electronic content is grouped by the classification service or by the creator of the intended use of the information, and any number of categories or dimensions of information can be transmitted in one such group. Each category has a range of allowed values and for that to
to to toto·· • · · • to to ·· · ·· to· určitou část obsahu může mít konkrétní kategorie jednu hodnotu nebo více hodnot. Navíc skupina meta informací (známá jako návěští PICS) může obsahovat údaje o vypršení. Také existují prostředky pro povolení použití návěští PICS na více než jednu část elektronického obsahu. Každé návěští PICS pro určitou část elektronického obsahu se může přidat nebo odstranit nezávisle.this some of the content may have a single category or multiple values for a particular category. In addition, the meta information group (known as the PICS label) may contain expiration data. There are also means to allow the use of PICS labels on more than one part of the electronic content. Each PICS label for a specific piece of electronic content can be added or removed independently.
Například soubor s obrázkem může být poslán ze serveru s návěštím PICS, jehož pole klasifikační služba udává, že obsahuje klasifikační návěští založené na hodnotách podle klasifikačního systému SafeSurf. Podle upřednostňovaného provedení tohoto vynálezu, při průchodu podnikovým proxy serverem může soubor s obrázkem získat novou aktualizovanou hodnotu kategorie pro návěští PICS, aby se zohlednily lokální podmínky klasifikační služby. Klientský počítač tudíž uvidí pouze hodnotu nové kategorie návěští PICS. Protokol HTTP byl rozšířen tak, aby jeho záhlaví s požadavky a s odezvami podporovaly PICS. Technické instituce, které definují jiné běžné aplikační protokoly, jako je NNTP, nyní také zvažují přidání podpory PICS. Jako část těchto protokolů se může do požadavku zahrnout seznam typů požadovaných návěští PICS. PICS také určuje formát dotazů pro požadování informací PICS od ústředního serveru s návěštími.For example, an image file may be sent from a PICS label server whose classification service field indicates that it contains a value-based classification label according to the SafeSurf classification system. According to a preferred embodiment of the present invention, when passing through an enterprise proxy server, the image file may acquire a new updated category value for the PICS flag to reflect local classification service conditions. Therefore, the client computer will only see the value of the new PICS label category. The HTTP protocol has been extended so that its request and response headers support PICS. Technical institutions that define other common application protocols, such as NNTP, are now also considering adding PICS support. As part of these protocols, a list of the types of PICS labels required may be included in the request. The PICS also determines the query format for requesting PICS information from the central label server.
Následuje vzorové návěští PICS:Here is a sample PICS label:
(PICS-1.,1 http:/the.rating.service labels for http://the.content exp 1997.07.09T08:15-0500 r (n 4 s 3 v 2)) kde n, s a v jsou vysílací názvy pro různé typy metainformací a použitelné hodnoty pro tento obsah jsou 4 (pro η) , 3 (pro s) a 2 (pro v). Pouze software, který rozpoznává ID http://the.rating.service by věděl jak interpretovat tyto kategorie a hodnoty.(PICS-1., 1 http: /the.rating.service labels for http: //the.content exp 1997.07.09T08: 15-0500 r (n4 with 3 in 2)) where n, sav are broadcast names for the different types of metainformation and the applicable values for this content are 4 (for η), 3 (for s) and 2 (for v). Only software that recognizes an http: //the.rating.service ID would know how to interpret these categories and values.
V upřednostňovaném provedení jsou zavedeny tři různé druhy návěští PICS. První druh návěští PICS, označovaný jako předčerpávací návěští (tj. P-návěští), používá uzel serveru k zajištění PHI. Druhý druh návěští PICS, označený jako návěští požadavku (tj . R-návěští) se používá k požadování kandidátních objektů na předčerpání. Třetí druh návěští PICS, označený jako referenční návěští (tj. X-návěští) se používá k zajištění zpětné vazby o účinnosti předčerpání na základě toho, na které předčerpané objekty je skutečně odkazováno.In a preferred embodiment, three different kinds of PICS labels are introduced. The first type of PICS label, referred to as the prefetch label (i.e., the P-label), uses the server node to provide a PHI. The second kind of PICS label, designated as the request label (i.e., the R-label), is used to request candidate objects for prefetch. A third type of PICS label, referred to as a reference label (i.e., an X-label), is used to provide feedback about pre-pumping efficiency based on which pre-pumped objects are actually referenced.
Předčerpávací návěští může obsahovat, není však omezeno na, libovolnou kombinaci následujících kategorií včetně kategorie identifikátoru, kategorie pravděpodobnosti, kategorie velikosti a kategorie zachycování v mezipaměti. Kategorie identifikátoru (tj. ID kategorie) má hodnotu, která nese URL kandidátu na předčerpání. Kategorie pravděpodobnosti (tj. kategorie PROB) má hodnotu, která nese očekávání užitečnosti předčerpání. V upřednostňovaném provedení se používá očekávaná pravděpodobnost odkazu. Pravděpodobnost odkazu udává pravděpodobnost, že bude odkázáno na předčerpaný kandidátní objekt. Kategorie velikost má hodnotu, která nese velikost nebo paměťové požadavky kandidáta na předčerpání. Kategorie zachycení ve vyrovnávací paměti má hodnotu, která nese informace o libovolném proxy serveru na vyšší úrovni, který má kopii kandidátního objektu na předčerpání buďto ve své první hlavní mezipaměti 294, nebo ve své první předčerpávací mezipaměti 296. V upřednostňovaném provedení, je identifikován pouze nejbližší proxy sever na vyšší úrovni.The prefetch label may include, but is not limited to, any combination of the following categories, including identifier category, probability category, size category, and caching category. The identifier category (ie, Category ID) has a value that carries the URL of the candidate for overdraft. The probability category (ie the PROB category) has a value that carries the expectations of the usefulness of the overdraft. In the preferred embodiment, the expected probability of reference is used. The probability of a reference indicates the probability of referencing the pre-drawn candidate object. The size category has a value that carries the size or memory requirements of the candidate for overdraft. The cached category has a value that carries information about any high-level proxy server that has a copy of the candidate prefetch object either in its first main cache 294 or in its first prefetch cache 296. In the preferred embodiment, only the closest identifier is identified. proxy north at a higher level.
Návěští požadavky může obsahovat, není však omezeno na, následující kategorie, včetně kategorie identifikátoru (tj. kategorie ID) . Hodnota kategorie identifikátoru nese URL objektu, který se má předčerpat. V upřednostňovaném provedení, pokud chce (proxy nebo klientský) uzel předčerpat navrhovaný kandidátní objekt na předčerpání, pošle se záhlaví HTTP s požadavkem zpět na server 20 s obsahem hierarchií proxy s použitím požadovaného návěští, aby se přeneslo URL objektu, který se má předčerpat. Jakmile proxy server 24 přijme požadavek na předčerpání od uzlu níže v hierarchii, obslouží požadavek, pokud je objekt v jeho hlavní nebo předčerpávací mezípaměti. Jinak postoupí požadavek na předčerpání dalšímu proxy serveru na vyšší úrovni v hierarchii.The label requests may include, but are not limited to, the following categories, including the identifier category (i.e., the ID category). The identifier category value carries the URL of the object to be prefetched. In a preferred embodiment, if the (proxy or client) node wants to pump the proposed candidate prefetch object, the HTTP header is sent back to the proxy content server 20 using the required label to transmit the URL of the object to be prefetched. When the proxy server 24 receives a prefetch request from a node below in the hierarchy, it handles the request if the object is in its main or prefetch cache. Otherwise, it will forward the prefetch request to the next higher-level proxy in the hierarchy.
Návěští odkazu může obsahovat, ale není omezeno na, následující kategorie, včetně kategorie identifikátoru objektu (kategorie Object-ID) a kategorie identifikátoru odkazujícího objektu (kategorie Referrer-ID). Kategorie identifikátoru objektu má hodnotu, která nese URL předčerpávaného objektu, na který je odkazováno. Kategorie identifikátoru odkazujícího objektu má hodnotu, která nese URL objektu, který obsahuje ve svých PHI objekt určený hodnotou kategorie identifikátoru objektu.The link label may include, but is not limited to, the following categories, including the object identifier category (Object-ID category) and the referring object category (Referrer-ID category). The object identifier category has a value that carries the URL of the object being referenced. The Referral Object Identifier Category has a value that carries the URL of the object that contains in its PHI object specified by the Object Identifier Category value.
V upřednostňovaném provedení, jakmile je na předčerpaný objekt skutečně odkazováno, pošle se požadavek na HTTP záhlaví zpět na server 20 s obsahem hierarchií proxy serverů s použitím návěští odkazu, aby se přeneslo URL předčerpaného požadovaného objektu a jeho požadujícího objektu. Tento typ HTTP záhlaví s požadavkem je níže označován jako zpráva o požadavku na předčerpaný objekt. Jakmile proxy server 24 přijme zprávu o požadavku na předčerpaný objekt od uzlu níže • · to • to · to « • to to · » • to to to to ···· ·· toto toto • to to · v hierarchii, aktualizuje svou první statistickou tabulku 293 a postoupí požadavek dalšímu proxy serveru na vyšší úrovni.In a preferred embodiment, as soon as the prefetched object is actually referenced, an HTTP header request is sent back to the content containing server proxy hierarchy 20 using the link label to transmit the URL of the prefetched requested object and its requesting object. This type of request HTTP header is referred to below as a prefetched request message. As soon as the proxy server 24 receives the prefetched request message from the node below, it updates its first one in the hierarchy. statistics table 293 and forwards the request to the next higher-level proxy server.
Obr. 4 zobrazuje příklad logiky serveru 268, která aktualizuje druhou statistickou tabulku 267 na serveru 20 s obsahem. Aktualizace druhé statistické tabulky 267 je spuštěna požadavkem na objekt od klienta 22. Server 20 přednostně generuje informace s pokyny ohledně předčerpávání pro okomentování nebo vložení do záhlaví objektu před odesláním požadovaného objektu klientovi 22.Giant. 4 illustrates an example of server logic 268 that updates the second statistical table 267 on the content server 20. The update of the second statistical table 267 is triggered by the object request from the client 22. Preferably, the server 20 generates prefetch information for commenting or inserting into the object header before sending the requested object to the client 22.
Počínaje blokem číslo 405, server 20 s obsahem čeká na vstup. Pokud je v rozhodovacím bloku 410 přijatý vstup požadavek na objekt O, vyvolá se aktualizační jednotka 252 statistiky nebo druhá aktualizační rutina 269 statistiky v bloku číslo 415. V bloku číslo 420 se vyvolá generující jednotka 266 pro generování informací 266 s pokyny ohledně předčerpávání nebo generující rutina předčerpávání. Podrobný příklad generující jednotky 266 nebo generující rutiny PHI bude dále popsán s odkazem na obr. 6. V bloku číslo 425 jsou PHI například vkládány do záhlaví objektu požadovaného objektu. Informace s pokyny ohledně předčerpávání mohou jinak okomentovat požadovaný objekt nebo požadované informace v bloku 425. V upřednostňovaném provedení lze PICS protokol použít k okomentování požadovaného objektu. PHI je zachyceno v P-návěŠtí, kde hodnota identifikátoru kategorie vyjadřuje URL kandidáta na předčerpání. V bloku 430 je požadovaný objekt vrácen požadujícímu klientovi nebo požadujícímu proxy serveru. V rozhodovacím bloku 435, pokud je přijatý vstup zpráva o požadavku na předčerpaný objekt (tj. záhlaví HTTP požadavku s návěštím X-návěští, udávajícím, že se skutečně požaduje předčerpaný objekt O),Starting with block number 405, the content server 20 is waiting to enter. If a request for object O is received in decision block 410, the statistics update unit 252 is invoked or the second statistics update routine 269 in block number 415. In block number 420, a generating information generation unit 266 is called with instructions for prefetching or generating routine pre-pumping. A detailed example of a generating unit 266 or generating PHI routines will be further described with reference to FIG. 6. In block number 425, for example, PHIs are inserted in the object header of the desired object. The prefetch information may otherwise comment on the desired object or the required information in block 425. In the preferred embodiment, the PICS protocol may be used to comment on the desired object. The PHI is captured in the P-label where the category identifier value expresses the candidate's pre-pumping URL. At block 430, the requested object is returned to the requesting client or requesting proxy server. In decision block 435, if the received request message is a prefetched object (i.e., an HTTP request header with an X-label indicating that the prefetched object O is actually requested),
4b k e k * » *4b k e k * »*
I fi k k | ****** «4 ·*»* · · · · >·*« 0« *0*0 000* vyvolají se aktualizační prostředky 252 statistiky nebo druhá aktualizační rutina 269 statistiky v kroku 440. Pro jiné typy vstupů, které nejsou zaměřením tohoto vynálezu, jako například požadavek FTP (protokolu pro přenos souborů}, může být vyvolán příslušný jiný manipulátor v bloku s číslem 445.I fi k k ****** The statistics update means 252 or the second statistics update routine 269 in the step 440 are invoked. For other input types that other than the scope of the present invention, such as an FTP (File Transfer Protocol) request, a corresponding other manipulator in block number 445 may be invoked.
Obr. 5 ukazuje, jak aktualizační jednotka 252 statistiky aktualizuje jednu z uvedených statistických tabulek 261. Aktualizační jednotka statistiky 252 se odkazuje na první aktualizační rutinu 264 statistiky pro aktualizaci první statistické tabulky 293 nebo druhou aktualizační rutinu 269 statistické tabulky pro aktualizaci druhé statistické tabulky 267, nebo jak první aktualizační rutinu 264 statistické tabulky, tak druhou aktualizační rutinu 269 statistické tabulky. Statistická tabulka 261 se odkazuje buďto na první statistickou tabulku 293 nebo na druhou statistickou tabulku 267, nebo jak na první statistickou tabulku 293, tak na druhou statistickou tabulku 267. Aktualizační jednotka 252 statistiky nejdříve hledá informace v odkazujícím objektu. Požadovaný objekt je pak umístěn na seznam přístupů nebo předčerpávací seznam odkazujícího objektu.Giant. 5 shows how the statistics update unit 252 updates one of said statistics tables 261. The statistics update unit 252 refers to the first statistics update routine 264 to update the first statistics table 293 or the second statistics update routine 269 to update the second statistics table 267, or how the first statistic table update routine 264, and the second statistic table update routine 269. The statistical table 261 refers to either the first statistical table 293 or the second statistical table 267, or both the first statistical table 293 and the second statistical table 267. The statistical update unit 252 first searches for information in the referencing object. The requested object is then placed on the access list or referral object's predefined list.
Počínaje blokem číslo 505, je statistická tabulka 261 aktualizována tak, aby zohledňovala to, že se znovu požaduje objekt O, zvýšením prvního počtu. Jinými slovy, v bloku 505 se TCount(O) zvýší o jedníčku. Pokud objekt O ještě není ve statistické tabulce 261, vloží se identifikátor rodičovského objektu do statistické tabulky 261, přičemž se TCount(0) inicializuje na jedničku. Nový identifikátor rodičovského objektu nahradí naposledy nejméně používaný záznam ve statistické tabulce 261, pokud ve statistické tabulce 261 • « » to * * to to · « · ·♦ · • «to « · ·« · • · »to · to ·· není dostupná žádná prázdná pozice. V rozhodovacím bloku 510, se v požadovaném objektu ověří informace o odkazujícím objektu například ověřením záhlaví objektu požadovaného objektu. Například v HTTP protokolu je odkazující objekt poskytnut v záhlaví k indikaci toho, který objekt obsahuje HTTP odkaz na požadovaný objekt. Pokud je v záhlaví nalezen odkazující objekt (R), prozkoumá se v kroku 520 statistická tabulka 261, aby se ověřilo, zda je objekt 0 již na seznamu přístupů objektu R. Pokud ano, zvýší se druhý počet (tj. RCount (0)) o jedničku v bloku 530 pro požadovaný objekt. Jinak v bloku 5Z5 se požadovaný objekt (tj. objekt O) vloží do seznamu přístupů rodičovského objektu (tj . objektu R) s druhým počtem (tj. RCount(O)) inicializovaným na jedničku.Beginning with block number 505, the statistical table 261 is updated to reflect that the object 0 is again requested by increasing the first number. In other words, in block 505, TCount (0) is incremented by one. If object O is not already in statistic table 261, the parent object identifier is inserted in statistic table 261, with TCount (0) initializing to one. The new parent object identifier replaces the most recently used entry in statistic table 261 if it is not in statistic table 261 if it is not in statistic table 261 no empty position available. In decision block 510, the referenced object information in the requested object is verified by, for example, verifying the object header of the desired object. For example, in the HTTP protocol, the referencing object is provided in the header to indicate which object contains the HTTP reference to the requested object. If a referencing object (R) is found in the header, a statistical table 261 is examined in step 520 to verify that object 0 is already on the access list of object R. If so, the second count is increased (i.e., RCount (0)) by one in block 530 for the desired object. Otherwise, in block 5Z5, the requested object (i.e., object O) is inserted into the access list of the parent object (i.e., object R) with a second count (i.e., RCount (O)) initialized to one.
Obr. 6 znázorňuje příklad generující jednotky 266 pro generování informací s pokyny ohledně předčerpávání do informačního seznamu s pokyny ohledně předčerpávání. Informační seznam s pokyny ohledně předčerpávání obsahuje identifikátory synovských objektů pokud poměr druhého počtu k prvnímu počtu překročí prahovou hodnotu z pokynů. Informační seznam s pokyny ohledně předčerpávání představuje vyčištění nebo filtrovaný seznam přístupů. To znamená, že generující jednotka 266 přijímá vstupy ze statistické tabulky 261 a filtruje vstupy tak, aby získala informační seznam s pokyny ohledně předčerpávání.Giant. 6 illustrates an example of a generating information generating unit 266 for prefetch information in the prefetch information list. The prefetch information list contains the identifiers of the child objects if the ratio of the second count to the first count exceeds the threshold of the instructions. The pre-pumping information list is a cleanup or filtered access list. That is, the generating unit 266 receives inputs from the statistical table 261 and filters the inputs to obtain an information list with instructions for pre-pumping.
Generující jednotka 266 pro generování informací s pokyny ohledně předčerpávání představuje generující rutinu 266 informací s pokyny ohledně předčerpávání (PHI), která začíná v bloku číslo 610. V bloku číslo 610 se ověřuje přístupový seznam rodičovského objektu (tj, objektu 0), zda je či není prázdný (tj. zda Alist(O) je prázdný). PokudThe prefetch information generating unit 266 represents the prefetch information routine 266, starting at block 610. In block 610, the access list of the parent object (i.e., object 0) is checked to see if it is or is not. is not empty (ie whether Alist (O) is empty). If
4» ί ,ι i i r < - ‘4 »ί, ι i i <-‘
Ί f «' <*' ·»' 11 * přístupový seznam není prázdný, v bloku číslo 620, nechť je Cj další synovský objekt (tj. identifikátor synovského objektu) nalezený na přístupovém seznamu rodičovského objektu (tj. objektu 0).* F «'<*' ·» '11 * the access list is not empty, in block number 620, let Cj be another filial object (ie filial object identifier) found on the access list of the parent object (ie object 0).
V rozhodovacím bloku 630, se pravděpodobnost odkazu na synovský objekt Cj porovná s prahovou hodnotou z pokynů (tj. ΤΗ) , což je předem určená prahová hodnota (např. 0,75). V upřednostňovaném provedení je pravděpodobnost odkazu Cj definována jako poměr druhého počtu k prvnímu počtu (tj. RCount(Cj)/TCount(0)). Tento poměr je očekávání pravděpodobnosti toho, že na synovský objekt (objekt Cj) bude odkazováno poté co je odkazováno na rodičovský objekt (objekt O). Pokud je v rozhodovacím bloku 630 pravděpodobnost odkazu na Cj větší, než prahová hodnota podle pokynů (tj . ΤΗ) , pak bude identifikátor (Cj) synovského objektu zahrnut do seznamu PHI v bloku číslo 640. Jinými slovy, pokud poměr překročí prahovou hodnotu z pokynů, umístí se identifikátor synovského objektu a přidružené informace na seznam informací s pokyny ohledně předčerpání.In decision block 630, the probability of reference to the filial object Cj is compared to the threshold value of the instructions (i.e. ΤΗ), which is a predetermined threshold value (e.g. 0.75). In a preferred embodiment, the probability of reference Cj is defined as the ratio of the second count to the first count (ie, RCount (Cj) / TCount (0)). This ratio is the expectation of the probability that the child object (object Cj) will be referenced after it is referenced to the parent object (object O). If, in decision block 630, the probability of reference to Cj is greater than the instruction threshold (i.e. ΤΗ), then the identifier (Cj) of the filial object will be included in the PHI list at block number 640. In other words, if the ratio exceeds the instruction threshold , the son object identifier and associated information are placed on the list of information with prefetch instructions.
Generující jednotka 266 může vyžadovat softwarové subrutiny nebo softwarové komponenty k provedení porovnání v bloku číslo 630. Generující jednotka 266 pro generování informací s pokyny ohledně předčerpávání do informačního seznamu s pokyny ohledně předčerpávání může zejména obsahovat výpočetní prostředky k výpočtu pravděpodobnosti odkazu a porovnávací prostředky k porovnání pravděpodobnosti odkazu s prahovou hodnotou z pokynů.Generating unit 266 may require software subroutines or software components to perform comparison in block number 630. Generating unit 266 for generating prefetch information to the prefetch information list may include, in particular, computing means to calculate the probability of reference and probability comparison means link with threshold from the instructions.
V upřednostňovaném provedení s použitím protokolu PICS, jsou informace PHI uloženy do P-návěští, kde se URL • 4 · • · » φφφφ ··In a preferred embodiment using the PICS protocol, the PHI information is stored in a P-flag where the URL is:
·.·.
• · * * ·· synovského objektu (Cj) vezme jako kategorie identifikátoru (t j. hodnota kategorie ID), jeho pravděpodobnost odkazu a velikost se vezmou v uvedeném pořadí jako hodnoty kategorie pravděpodobnost (tj. PROB) a hodnota kategorie velikost.The child object (Cj) takes the identifier category (i.e., the category ID value), its probability of reference and size are taken in the order of the probability value (i.e., PROB) and the value of the category size respectively.
V rozhodovacím bloku 645, pokud se seznam přístupů objektu O ještě úplně neprohledal, spustí se znovu blok číslo 620.In decision block 645, if the access list of object O has not yet been fully searched, block number 620 is executed again.
K volbě kandidátů na předčerpání ze statistické tabulky 261 lze použít různá alternativní kritéria. Například lze jako kritérium použít klouzavý průměr pravděpodobnosti odkazu přes předchozí intervaly. Dále může být procedura výběru kandidátů na předčerpání provedena rekurzivně. Pokud je synovský objekt (objekt Cj) zvolen jako kandidát na předčerpání rodičovského objektu (objekt O), libovolný synovský objekt (objekt Cji) na přístupovém seznamu synovského objektu (objekt Cj) se může vyhodnotit, aby se zjistilo, zda se má zahrnout do předčerpávacího seznamu rodičovského objektu (objekt 0), pokud ještě není zahrnut. V rozhodovacím bloku 630, ' může porovnávací jednotka nebo vyhodnocovací jednotka nyní zkoušet, zda je součin RCount(Cj)/TCount(0) a RCount(Cji)/TCount(Cj) větší, nežli prahová hodnota z pokynů (TH).Various alternative criteria can be used to select pre-draw candidates from Statistical Table 261. For example, a moving average of the probability of reference over previous intervals can be used as a criterion. Furthermore, the procedure for selecting pre-withdrawal candidates can be performed recursively. If the child object (object Cj) is selected as a candidate for parental object prefetch (object O), any child object (object Cji) on the child object access list (object Cj) can be evaluated to determine whether it should be included in the prefetch the parent object list (object 0), if not already included. In decision block 630, the comparison unit or evaluation unit can now test whether the product RCount (Cj) / TCount (0) and RCount (Cji) / TCount (Cj) are greater than the threshold value of the instructions (TH).
Obr. 7 ukazuje příklad činnosti logiky 244 klienta. Obr. 7 ukazuje, že poté, co je objekt požadován, vyvolá se manipulátor 247 požadavků na klientské objekty. Jinak může předčerpávací manipulátor 241 pracovat s objekty, které nejsou požadovány, ale je nutné, aby byly uloženy ve druhé předčerpávací mezipaměti 249 klienta 22.Giant. 7 shows an example of operation of the client logic 244. Giant. 7 shows that after the object is requested, the client object request handler 247 is invoked. Otherwise, the pre-pump manipulator 241 can handle objects that are not required but must be stored in the second pre-pump cache 249 of the client 22.
Počínaje blokem 710, čeká klient 22 na vstup.Starting with block 710, client 22 waits for entry.
V rozhodovacím bloku 720, pokud je ' přijatý vstup objekt, vyvolá se druhý předčerpávací manipulátor 241 v bloku * 1 » · · • · · · · • · φ · * · • ΦΦΦ φφ φφ ·· číslo 730. V bloku 740 se vyvolá manipulátor klientských objektů, aby vrátil objekt požadující aplikaci na klientovi 22. Pokud je v rozhodovacím bloku 750 přijatý vstup požadavek na objekt, vyvolá se manipulátor 247 požadavků na klientské objekty v bloku číslo 7 60. Pro jiné typy vstupů, které nejsou hlavním cílem tohoto vynálezu (jako například požadavek na prosazení) se může v bloku Číslo 770 vyvolat příslušný jiný manipulátor.In decision block 720, if the received input is an object, the second pre-pump manipulator 241 is called in block * 730. In block 740, a call is made. the client object handler to return the object requesting the application to the client 22. If the object request is received in decision block 750, the client object request handler 247 is called at block 760. For other types of inputs that are not the main object of the invention (such as a enforceability request), a corresponding other manipulator may be invoked in block number 770.
Obr. 8 zobrazuje příklad činnosti předčerpávací jednotky 250, obsahující první předčerpávací manipulátor 248 nebo druhý předčerpávací manipulátor 241 nebo jak první předčerpávací manipulátor 248, tak druhý předčerpávací manipulátor 241. Stručně řečeno, předčerpávací jednotka 250 používá předčerpávací seznam generovaný generující jednotkou 266 na obr. 6 jako vstup ke zjištění toho, zda synovské objekty odkazované v informačním seznamu s pokyny ohledně předčerpávání splňují podmínky uložení v jedné z předčerpávacích mezipaměťí 298. Předčerpávací jednotka 250 vypočítává předčerpávací hodnotu pro každý kandidátní objekt na předčerpání nebo identifikátor synovského objektu z informačního seznamu s pokyny ohledně předčerpávání. Předčerpávací hodnota zohledňuje pravděpodobnost přístupu k synovskému objektu a přístupové náklady na uložení synovského objektu. Synovské objekty s nejvyššími prahovými hodnotami se zachycují nejdříve, dokud se nevyplní dostupný prostor v jedné z předčerpávacích mezipamětí 298.Giant. 8 illustrates an exemplary operation of a pumping unit 250 comprising a first pumping manipulator 248 or a second pumping manipulator 241, or both the first pumping manipulator 248 and the second pumping manipulator 241. Briefly, the pumping unit 250 uses the pumping list generated by the generating unit 266 in FIG. to determine whether the infant objects referenced in the prefetch information list meet the storage conditions in one of the prefetch caches 298. The prefetch unit 250 calculates the prefetch value for each prefetch candidate or the identifier of the infant from the prefetch information list. The pumped value takes into account the probability of access to the filial object and the access cost of storing the filial object. The filial objects with the highest thresholds are captured first until the available space in one of the pre-pumping caches 298 is filled.
Počínaje blokem číslo 805, nechť L je seznam PHI kandidátních objektů na předčerpání. Kandidátní objekty na předčerpání mohou být vyjádřeny na základě identifikátorů synovských objektů v informačním seznamu s pokyny ohledně předčerpávání. Libovolný kandidát na předčerpání, který se “ 01 ···· ··Starting with block number 805, let L be a list of PHI candidate prefetch objects. Candidate prefetch objects can be expressed based on the identifiers of the filial objects in the prefetch information list. Any pre-withdrawal candidate who “01 ···· ··
I · · · · k · · * · k · · » · ·· · · objeví v lokální mezipaměti (tj. předčerpávací mezipaměti nebo hlavní mezipaměti) se odstraní z L. V bloku 810 se vypočítá předčerpávací hodnota (PV) každého objektu v L. V upřednostňovaném provedení je hodnota PV definována na pravděpodobnost odkazu vynásobená přístupovými náklady. Přístupové náklady se odhadují na základě nejbližšího místa zachycujícího kandidátní objekt na předčerpání nebo synovský objekt nalezený v seznamu PHI. 2 praktického hlediska jsou synovské objekty přednostně v seznamu PHI identifikovány podle identifikátorů synovských objektů spíš než jako celé synovské objekty, aby se snížily požadavky na úložný prostor. Pravděpodobnost odkazu optimálně pochází z hodnoty kategorie pravděpodobnosti (kategorie PROB) a nejbližší zachycující místo v mezipaměti pochází z hodnoty kategorie zachycování v návěští PICS. V bloku 820 se zvolí kandidátní objekt na předčerpání s nejvyšší hodnotou PV. V bloku číslo 830 se zjistí množství dostupného prostoru předčerpávací mezipaměti k umístění kandidátního objektu na předčerpání (tj. Oj), tento prostor buďto není právě používaný nebo je obsazený objekty s nižšími hodnotami PV, které jsou pouze zlomkem (např. jedna polovina) hodnoty PV tohoto kandidátního objektu na předčerpání, který je vyhodnocován (tj. OjIn the local cache (ie, the pre-pumping cache or the main cache) is removed from L. In block 810, the pre-pumping value (PV) of each object in the L. In a preferred embodiment, the value of PV is defined as the probability of reference multiplied by the access costs. Access costs are estimated based on the closest location capturing the candidate pre-pumping object or the filial object found in the PHI list. In practical terms, the filial objects are preferably identified in the PHI list by filial object identifiers rather than as whole filial objects in order to reduce storage requirements. The link probability optimally comes from the probability category value (PROB category), and the closest capture location in the cache comes from the capture category value in the PICS label. In block 820, a candidate pre-pumping object with the highest PV value is selected. In block number 830, the amount of available pre-pumping cache space to locate the candidate pre-pumping object (i.e., Oj) is determined, this space is either not being used or is occupied by objects with lower PV values that are only a fraction (eg one-half) of this pre-pumping candidate object being evaluated (ie Oj
Libovolný úložný prostor obsazený objektem označeným jako odstranitelný v jedné z předčerpávacích mezipaměti 298 se považuje za momentálně nepoužívaný. V rozhodovacím bloku 840 se ověří jedna z předčerpávacích mezipaměti 298, zda v ní existuje dostatek prostoru pro Oj. Pokud ano, v bloku číslo 850 se objekt Oj předčerpá do jedné z předčerpávacích mezipaměti 298. V boku 860 se Oj odstraní ze seznamu PHI (tj. L) . V bloku číslo 870, pokud L není prázdné, spustí se znovu krok spojený s blokem číslo 820.Any storage occupied by an object marked as removable in one of the pre-pumping cache 298 is considered not currently in use. In decision block 840, one of the pre-pumping cache 298 is checked to see if there is enough space for the Oj. If so, in block number 850, the drawbar object is pumped to one of the pumping cache 298. At side 860, the drawbar is removed from the PHI list (i.e., L). In block number 870, if L is not empty, the step associated with block number 820 is restarted.
Přestože v upřednostňovaném provedení jsou jednotlivé • 4Although in the preferred embodiment, the individual are 4
4 ·♦··4 · ♦ ··
0 0 0 4 4 • 4 0 0 0 · ·0 0 0 0 0 • 0 0 0 · ·
4 0 0 · · · ·4 4* ·* objekty předčerpávány po jednom, více objektů lze předčerpat společně v jednom požadavku. V bloku 850 může být Oj umístěn na předčerpávací seznam. V bloku 870, pokud je L prázdné, se pak vydá požadavek na předčerpání s celým předčerpávacím seznamem. Dále, i když v předčerpávací mezipaměti není dostatek úložného prostoru, může se udržovat průběžný předčerpávací seznam, takže jakmile se uvolní úložný prostor, může se zahájit další předčerpávání.4 0 0 · · · · 4 4 * · * objects pre-pumped one by one, more objects can be pumped together in one request. In block 850, the drawbar can be placed on a pre-pumping list. In block 870, if L is empty, then a prefetch request is issued with the entire prefetch list. Further, even if there is not enough storage space in the pre-pumping cache, a continuous pre-pumping list can be maintained, so that as soon as storage is free, further pre-pumping can be initiated.
S použitím HTTP protokolu může komunikační relace zůstat otevřena během předčerpávání, aby se snížila komunikační režie. Není zapotřebí znovu zakládat relaci pro každé předčerpávání.Using the HTTP protocol, the communication session may remain open during pre-pumping to reduce communication overhead. There is no need to re-establish a session for each pre-pumping.
Obr. 9 ukazuje příklad činnosti manipulátoru 247 požadavků na klientské objekty. Stručně řečeno, manipulátor 247 požadavků na klientské objekty nejdříve hledá druhou hlavní mezipaměť 246 a za druhé hledá druhou předčerpávací mezipaměť 249. Pokud objekt není ani ve druhé hlavní mezipaměti 246, ani ve druhé předčerpávací mezipaměti 249, pošle se na server požadavek na objekt. Pokud je objekt ve druhé předčerpávací mezipaměti 249, pošle se zpráva o požadavku na předčerpaný objekt jednomu ze serverů, aby se vyznačilo, že je skutečně odkazováno na předčerpaný objekt. Pak se použije druhý předčerpávací manipulátor 241 a manipulátor klientských objektů.Giant. 9 shows an example of operation of the client object request handler 247. In short, the client object request handler 247 first searches for the second main cache 246 and secondly searches for the second prefetch cache 249. If the object is neither in the second main cache 246 nor in the second prefetch cache 249, an object request is sent to the server. If the object is in the second prefetch cache 249, the request for the prefetch object is sent to one of the servers to indicate that it is actually referenced to the prefetch object. Then, a second pumping manipulator 241 and a client object manipulator are used.
Počínaje rozhodovacím blokem 905, pokud je požadovaný objekt O nalezen ve druhé hlavní mezipaměti 246, vyvolá se druhý předčerpávací manipulátor 241 v bloku číslo 925, aby se zahájily příslušné předčerpávací operace na základě PHI přidružených k objektu 0. V bloku číslo 930 se vyvolá manipulátor klientských objektů, aby vrátil požadovaný • · · · ♦ · · * « · · · ·· ·· ·♦·· ·· • · · • · · · « » • · · · * »· ·· objekt požadující aplikaci na klientovi. V rozhodovacím bloku 910, pokud se požadovaný objekt 0 nalezne ve druhé předčerpávací mezípaměti 249, pošle se zpráva o požadavku na předčerpanou zprávu serveru 20 s obsahem v bloku 920, takže se může aktualizovat jeho druhá statistická tabulka 267, aby zachytila skutečné odkazování na předčerpaný objekt. Při šíření zprávy o požadavku na předčerpaný objekt hierarchií proxy serverů na server 20 s obsahem se vlastně také aktualizuje druhá statistická tabulka 267 na každém mezilehlém proxy serveru. V bloku 910, pokud objekt není ve druhé předčerpávací mezípaměti 249, pošle se požadavek na objekt na server 20 s obsahem hierarchií proxy v bloku číslo 915.Beginning with decision block 905, if the desired object O is found in the second main cache 246, a second prefetch manipulator 241 is invoked at block number 925 to initiate appropriate preload operations based on the PHI associated with object 0. In block number 930, a client manipulator is invoked objects to return the requested object to the application on the client. . In decision block 910, if the requested object 0 is found in the second pumping cache 249, a request message is sent to the content server 20 in the content block at block 920 so that its second statistical table 267 can be updated to capture the actual referenced object. . In fact, when propagating a request for a prefetched object of the proxy server hierarchies to the content server 20, the second statistical table 267 at each intermediate proxy server is also updated. In block 910, if the object is not in the second pumping cache 249, the object request is sent to the proxy content server 20 in block number 915.
Zprávy o požadavku na předčerpaný objekt mohou být dávkovány. To znamená, že lze udržovat seznam s požadavky na předčerpaný objekt a pravidelně se posílá složená zpráva o požadavku na předčerpané objekty serveru na vyšší úrovni k potvrzení odkazu na všechny objekty v seznamu požadavků na předčerpaný objekt.Request messages for pre-pumped objects can be batched. That is, the object pumping object list can be maintained, and a composite request message for the pumping object objects is sent at a higher level on a regular basis to confirm a reference to all objects in the pumping object request list.
Obr. 10 ukazuje příklad činnosti logiky 295 proxy serveru. Vstup je zkrátka tříděn podle toho, zda je vstupem požadavek na objekt, přenos objektu nebo zpráva o odkazu na předčerpaný objekt. Jsou dostupné tři různé manipulátory nebo softwarové rutiny v závislosti na vstupu: manipulátor 283 požadavků na proxy objekty, manipulátor 284 proxy objektů a manipulátor 285 zpráv o požadavku na předčerpaný objekt.Giant. 10 shows an example of operation of the proxy server logic 295. In short, the input is sorted by whether the input is an object request, an object transfer, or a reference to a pre-pumped object. Three different manipulators or software routines are available depending on the input: proxy object request handler 283, proxy object handler 284 and pre-puff object request handler 285.
Počínaje blokem číslo 1005, čeká proxy server 24 na vstup. Pokud je v rozhodovacím bloku 1010 přijatý vstup požadavek na objekt požadavek na objekt O, ověří v blokuBeginning with block number 1005, proxy server 24 waits for input. If a request for an object is received in decision block 1010, the request for object 0 verifies in the block
00
00
0 00 0
0000 ·· • « • 00 0 •0 «0 ·· ··0000 ·· • «• 00 0 • 0« 0 ·· ··
1015 proxy server 24, zda již existuje nevyřízený požadavek na tento objekt O. Nevyřízený požadavek může existovat kvůli požadavku na předčerpání tohoto objektu O vydanému tímto proxy serverem 24 nebo dřívějšímu požadavku na objekt O vzniklému na jiném uzlu proxy serveru, který je níže v hierarchii proxy serverů. Pokud neexistuje žádný nevyřízený požadavek na objekt O v bloku číslo 1015, vyvolá se manipulátor 283 požadavků na proxy objekty v bloku 1020. V rozhodovacím bloku 1025, pokud je přijatý vstup objekt (od proxy na vyšší úrovni) , vyvolá se manipulátor 284 proxy objektů v bloku číslo 1030. Jinak v bloku 1040, pokud je přijatý vstup zpráva o požadavku na předčerpaný objekt, vyvolá se manipulátor 285 zpráv o požadavku na předčerpaný objekt v bloku 1045. Pro jiné typy vstupů, které nejsou hlavním cílem tohoto vynálezu, (jako například FTP požadavek), se může vyvolat příslušný jiný manipulátor v bloku 1060.1015 proxy server 24 whether there is already a pending request for this O object. A pending request may exist due to a request for this O object to be pumped out by this proxy server 24 or an earlier request for an O object originating on another proxy server node below servers. If there is no pending request for object O in block number 1015, the proxy object handler 283 is invoked in block 1020. In decision block 1025, if the input is an object (from a higher level proxy), the proxy handler 284 is invoked in Otherwise, at block 1040, if the prefetch object request message is received, the prefetch object message handler 285 is invoked at block 1045. For other types of inputs that are not the main object of the present invention (such as FTP request), a corresponding other manipulator in block 1060 may be invoked.
Obr. 11 ukazuje přiklad činnosti manipulátoru 283 požadavků na proxy objekty. Krátce řečeno, pokud jsou objekty v předčerpávací mezipaměti, objekt se vrátí nebo pošle požadujícímu klientovi nebo požadujícímu proxy serveru. Poté pokud byl požadovaný objekt požadavek na předčerpání, označí se požadovaný objekt jako odstranitelný z první předčerpávací mezipaměti 296 proxy serveru 24. Pokud nebyl pro požadovaný objekt poskytnut žádný požadavek na předčerpání, pošle se zpráva o požadavku na předčerpaný objekt na server 20 s obsahem. Zpráva o požadavku na předčerpaný objekt se však pošle pouze tehdy, pokud je požadovaný objekt poslán z první předčerpávací mezipaměti 296. Pokud požadovaný objekt není ani v první předčerpávací mezipaměti 296, ani v první hlavní mezipaměti 294, pošle se požadavek na objekt na jiný proxy • · · · « · · · · • to*·» ·»*··* • ·· · · · · ···· ···· ·· ·* «· ·* ·· server 24 nebo na server 20 s obsahem. Požadované objekty nalezené v první hlavní mezipaměti 294 jsou vráceny nebo poslány požadujícímu klientovi nebo proxy serveru 24 a první statistická tabulka 293 se aktualizuje, pokud požadavek nebyl požadavek na předčerpání.Giant. 11 shows an example of the operation of the proxy object handler 283. In short, if the objects are in the pumping cache, the object is returned or sent to the requesting client or requesting proxy server. Thereafter, if the requested object was a prefetch request, the requested object is marked as removable from the first prefetch cache 296 of the proxy server 24. If no prefetch request has been provided for the requested object, a prefetch object request message is sent to the content server 20. However, a request for a prefetched object is only sent if the requested object is sent from the first prefetch cache 296. If the requested object is not in either the first prefetch cache 296 or the first main cache 294, the request for the object is sent to another proxy. To server 24 or to server 20, or to server 24 or server 20 with content. The requested objects found in the first main cache 294 are returned or sent to the requesting client or proxy server 24, and the first statistics table 293 is updated if the request was not a prefetch request.
Počínaje rozhodovacím blokem 1105, pokud je nalezen požadovaný objekt O v předčerpávací mezipaměti, je objekt O vrácen požadujícímu uzlu v bloku 1130. V rozhodovacím bloku 1135, pokud se jedná o požadavek na předčerpání, objekt O v první předčerpávací mezipaměti 296 je označen jako odstranitelný v bloku 1150. Odstranění objektů z první předčerpávací mezipaměti 296 vytvoří prostor pro budoucí předčerpání, protože předčerpaný objekt O byl nyní předčerpán některými uzly níže v hierarchii proxy serverů 24. Jinak v bloku 1140 se vyvolá správce mezipaměti, aby přesunul objekt O z první předčerpávací mezipaměti 296 do první hlavní mezipaměti 294, protože na objekt O je skutečně odkazováno. V bloku 1160 se pošle zpráva o požadavku na předčerpaný objekt na server 20 s obsahem hierarchií proxy serverů. V bloku 1170 se vyvolá aktualizační rutina statistiky kvůli aktualizaci lokální první statistické tabulky 293 k zachycení skutečného odkazu na předčerpaný objekt O. V rozhodovacím bloku 1110, pokud objekt O není nalezen v první hlavní mezipaměti 294, pošle se požadavek na objekt serveru 20 s obsahem hierarchií proxy serverů v bloku číslo 1125. V rozhodovacím bloku 1115, pokud požadavek na objekt není požadavek na předčerpání, vyvolá se první aktualizační rutina 264 statistiky v bloku 1120 k aktualizaci lokální první statistické tabulky 293, aby se zachytil skutečný odkaz na objekt. V bloku 1180, je objekt O vrácen požadujícímu uzlu.Starting with decision block 1105, if a desired O object is found in the prefetch cache, the O object is returned to the requesting node in block 1130. In decision block 1135, if it is a prefetch request, the O object in the first prefetch cache 296 is marked as removable. deleting objects from the first pre-pumping cache 296 creates space for future pre-pumping because pre-pumped object O has now been pre-pumped by some nodes below in the proxy server hierarchy 24. Otherwise, in block 1140, the cache manager is invoked to move the O object from to the first main cache 294 because the O object is actually referenced. At block 1160, a prefetched object request message is sent to the server 20 containing the content of the proxy server hierarchies. At block 1170, a statistics update routine is invoked to update the local first statistical table 293 to capture the actual reference to the pre-pumped O object. In decision block 1110, if the O object is not found in the first main cache 294, In decision block 1115, if the object request is not a prefetch request, the first statistics update routine 264 is invoked in block 1120 to update the local first statistics table 293 to capture the actual object reference. At block 1180, the O object is returned to the requesting node.
• · · • to to • ·· · «· »· to · · • to · · · • ♦ ♦ · · • to to · · · toto·· toto to· totoThis to this to this to this to this to this to this
Obr. 12 ukazuje příklad činnosti manipulátoru 285 zpráv o požadavku na předčerpaný objekt. Manipulátor 285 zpráv o požadavku na předčerpaný objekt nejdříve zjistí, zda je objekt v první předčerpávací mezipamětí 296, nebo nikoli. Pokud je objekt v první předčerpávací mezipamětí 296, vyvolá se rutina správce mezipamětí před postoupením zprávy o požadavku na předčerpaný objekt. Pokud objekt není v první předčerpávací mezipamětí 296, zpráva o požadavku na předčerpaný objekt se postoupí.Giant. 12 shows an example of operation of a pre-pumped object request handler 285. The pre-pumped object request handler 285 first determines whether or not the object is in the first pumped cache 296. If the object is in the first prefetch cache 296, the cache manager routine is invoked before the prefetch object request message is forwarded. If the object is not in the first pumping cache 296, the request message for the pumped object is forwarded.
Počínaje krokem 1205 se vyvolá první aktualizační rutina 264 statistiky k aktualizaci lokální první statistické tabulky 293 k zachycení skutečného požadavku na předčerpávaný objekt (0) . V rozhodovacím bloku 1210, pokud je objekt 0 v první předčerpávací mezipamětí 296, vyvolá se správce mezipamětí v bloku číslo 1215, aby přesunul objekt O z první předčerpávací mezipamětí 296 do první hlavní mezipamětí 294, protože na objekt bylo skutečně odkazováno. V bloku 1220 se postoupí' zpráva o požadavku na předčerpaný objekt dalšímu proxy serveru na vyšší úrovni.Starting at step 1205, the first statistics update routine 264 is called to update the local first statistical table 293 to capture the actual request for the prefetched object (0). In decision block 1210, if object 0 is in the first prefetch cache 296, the cache manager at block number 1215 is called to move object O from the first prefetch cache 296 to the first main cache 294 because the object was actually referenced. At block 1220, the prefetch object request message is forwarded to the next higher level proxy server.
Obr. 13 ukazuje příklad činnosti manipulátoru 284 proxy objektů. Manipulátor 284 proxy objektů nejdříve vyvolá předčerpávací aktualizační jednotku 291 nebo aktualizační rutinu informací s pokyny ohledně předčerpávání jednotně bez výjimky. Požadavky na předčerpané objekty se ošetřují jinak podle toho, zda byl předčerpaný objekt požadován serverem na nižší úrovni, či nikoliv. Pokud byl předčerpaný objekt požadován serverem na nižší úrovni, vrátí se objekt na server na nižší úrovni; jinak se vyvolá správce předčerpávací mezipamětí. Pokud se nepožaduje předčerpaný objekt, vrátí se objekt požadujícímu proxy serveru 24 nebo klientovi a vyvolá se první aktualizační rutina 264 · · • 0 0Giant. 13 shows an example of operation of a proxy object manipulator 284. The proxy object handler 284 initially invokes the pre-pumping update unit 291 or the information refresh routine with instructions for pumping uniformly without exception. Requests for prefetched objects are treated differently depending on whether or not the prefetched object was requested by the downstream server. If the pre-pumped object was requested by the down-level server, the object returns to the down-level server; otherwise, the preload cache manager is invoked. If no pre-pumped object is required, the object returns to the requesting proxy server 24 or client and invokes the first update routine 264 · · • 0 0
0 0 ··0 0 ··
0·0 ·
0000 ··0000 ··
0 00 · 0 se vyvolá aktualizační0 00 · 0 invokes update
- 57 statistiky.- 57 statistics.
Počínaje blokem číslo 1305 rutina PHI nebo předčerpávací aktualizační prostředky 291 kvůli aktualizaci PHI objektu O. V bloku číslo 1310, pokud není přijatý objekt předčerpaný objekt, vyvolá se první předčerpávací manipulátor 248 v kroku 1315. V bloku číslo 1320 se objekt vrací požadujícímu uzlu (níže v hierarchii). V upřednostňovaném provedení používajícím protokol PICS je hodnota kategorie zachycování v P-návěští aktualizována, pokud je předčerpán tímto proxy serverem 24 odpovídající kandidát na předčerpání (určený hodnotou kategorie identifikátor). V bloku 1325, se vyvolá správce mezipamětí k uložení objektu do hlavní mezipamětí. V bloku číslo 1355 se vyvolá aktualizační rutina statistiky. V bloku 1330, pokud je přijatý předčerpaný objekt požadovaný uzlem na nižší úrovni v hierarchii, vrátí se objekt požadujícímu objektu v bloku číslo 1350. Jinak je požadován aktuálním uzlem a vyvolá se správce předčerpávací mezipamětí v bloku číslo 1340 kvůli uložení objektu do předčerpávací mezipamětí tak, že se provede nezbytná náhrada, aby se vytvořil prostor pro objekt.Starting at block number 1305, the PHI routine or pre-pump update means 291 to update the PHI object O. In block number 1310, if the received object is not a pre-pumped object, the first pre-pump manipulator 248 is invoked at step 1315. in the hierarchy). In the preferred embodiment using the PICS protocol, the value of the capture category in the P-label is updated if the corresponding prefetch candidate (determined by the category identifier value) is prefetched by this proxy server 24. In block 1325, the Cache Manager is invoked to store the object in the main cache. In block number 1355, the statistics update routine is called. In block 1330, if the received pumped object is requested by a lower-level node in the hierarchy, the object returns to the requesting object in block number 1350. Otherwise, it is requested by the current node and the prefetch cache manager in block number 1340 is called to store the object in the prefetch cache that the necessary replacement is made to create space for the object.
Obr. 14 ukazuje příklad aktualizačních předčerpávacích prostředků 291 nebo aktualizační rutiny PHI. Aktualizační rutina PHI porovnává lokální počet požadovaných objektů s prahovým počtem. Pokud požadované objekty překročí první minimální prahovou hodnotu, jsou podrobeny druhému testu minimální prahové hodnoty. Prahové hodnoty mohou být nastaveny na základě experimentálních výsledků. Pokud je lokální počet menší, než první minimální prahová hodnota, zachová se původní informační seznam s pokyny ohledně předčerpávání. Pokud je lokální počet větší, než první prahová hodnota, ale není větší než druhá prahová hodnota, je informační seznam s pokyny ohledně předčerpávání upraven.Giant. 14 shows an example of update pumping means 291 or PHI update routines. The PHI update routine compares the local number of requested objects with a threshold number. If the required objects exceed the first minimum threshold, they are subjected to a second minimum threshold test. Threshold values can be set based on experimental results. If the local count is less than the first minimum threshold, the pre-pumped information information list is retained. If the local count is greater than the first threshold but is not greater than the second threshold, the prefetch information list is modified.
Počínaje rozhodovacím blokem 1405, pokud není lokální počet (tj . TCount) objektu (0) v lokální první statistické tabulce 293 větší, než první minimální prahová hodnota (tj . CTM), zachovají se původní PHI v záhlaví objektu O. To se děje jednoduše kvůli skutečnosti, že neexistuje dostatek odkazů na objekt v nižší hierarchii proxy serverů 24, aby se zaručila jakákoli aktualizace. V rozhodovacím bloku 1415, pokud je lokální počet (tj. TCount) objektu (0) v lokální statistické tabulce 261 větší, než druhá minimální prahová hodnota (tj. TCH), původní PHI v záhlaví objektu se ignoruje a vyvolá se generující rutina PHI v bloku 1420 ke generování PHI na základě lokální první statistické tabulky 293. To se děje protože existuje dostatečný počet odkazů na objekt níže v hierarchii proxy serverů 24 kvůli generování PHI na základě lokálního chování. Jinak se vyvolá modifikátor PHI v bloku číslo 1425 k úpravě hodnoty kategorie pravděpodobnosti převzetím průměru lokálního odhadu pravděpodobnosti odkazu a hodnoty v záhlaví (nastavené hierarchií na vyšší úrovni) pro každý objekt v seznamu PHI.Starting with decision block 1405, if the local number (i.e., TCount) of the object (0) in the local first statistical table 293 is not greater than the first minimum threshold (i.e., CTM), the original PHI in the O header of the object is retained. due to the fact that there is not enough object references in the lower hierarchy of proxy servers 24 to guarantee any update. In decision block 1415, if the local number (i.e., TCount) of the object (0) in the local statistical table 261 is greater than the second minimum threshold (i.e., TCH), the original PHI in the object header is ignored and the generating PHI routine in block 1420 to generate PHI based on the local first statistical table 293. This happens because there are a sufficient number of object references below in the hierarchy of proxy servers 24 to generate PHI based on local behavior. Otherwise, the PHI modifier in block number 1425 is called to modify the probability category value by taking the average of the local link probability estimate and the header value (set by the higher level hierarchy) for each object in the PHI list.
Schéma předčerpávání funguje i v případě, že některé z proxy serverů 24 neudržují první statistickou tabulku 293 a nesledují lokální vzory odkazů. Nesledující proxy servery pouze přijímají pravděpodobnost, tj. hodnotu kategorie (tj. PROB) v .PHI poslanou dolů z proxy serveru na nejvyšší úrovni nebo serveru 20 s obsahem.The prefetch scheme also works if some of the proxy servers 24 do not maintain the first statistics table 293 and do not follow local link patterns. Non-following proxy servers only accept the probability, i.e., the category value (i.e., PROB) in the .PHI sent down from the top-level proxy or content server 20.
Schéma předčerpávání prostředí proxy serverů, běžné proxy servery, servery, také funguj kde některé z které e v proxy heterogenním serverů jsou nerozumí předčerpávacímu • · • · · ···· ·· • · • · ·.Scheme of pre-pumping environment of proxy servers, common proxy servers, servers, also work where some of which in proxy heterogeneous servers are not understand pre-pumping.
• · · • · · · ·· ·· • · i i • · · · · • · * fc· ·· protokolu a neúčastní se spolupráce. Tyto běžné proxy servery ani neinterpretují záhlaví objektu aby zahajovaly předčerpávací operace, ani neudržují první statistickou tabulku 293. Běžné proxy servery pouze pošlou meta data (např. PICS návěští v záhlaví) s objektem proxy serveru na další úrovni, nebo uloží meta data s objektem pokud se rozhodne zachytit objekt v mezipaměti lokálně.They are not participating in the cooperation. These common proxy servers neither interpret object headers to initiate pumping operations nor maintain the first statistical table 293. Common proxy servers only send meta data (eg, PICS header header) to the next-level proxy server object, or store meta data with the object if decides to capture the cached object locally.
I bez přítomnosti hierarchie proxy serverů lze tento vynález použít na libovolnou síť nebo prostředí klientserver. Uzel odesílající objekt může sledovat vzory odkazů, odvozovat PHI a zahrnovat je do záhlaví objektu. Dále přijímající uzel objektu může uložit PHI s objektem do své mezipaměti. Po odkazu na objekt mohou být zahájeny operace předčerpávání na základě uložených PHI a lokálních faktorů jako je velikost mezipaměti a náklady na přístup jak bylo popsáno výše.Even without a proxy server hierarchy, the present invention can be applied to any network or client server environment. The sending node can follow the link patterns, derive a PHI, and include them in the object header. Further, the receiving node of the object may cache the PHI with the object in its cache. After referencing the object, prefetch operations can be initiated based on stored PHIs and local factors such as cache size and access costs as described above.
Uložení PHI se zachyceným objektem poskytuje další příležitost k předčerpávání. Události, jako například zpřístupnění více volného prostoru, výskyt dalších odkazů nebo přijetí předčerpaných objektů, lze použít ke spuštění dalšího předčerpávání prozkoumáním PHI zachycených objektů v mezipaměti. Operace předčerpávání není omezena na moment, kdy je objekt požadován ze serveru jako v odesilatelem zahajovaném přístupu.Saving the PHI with the captured object provides another opportunity for pre-pumping. Events such as making more free space available, occurring additional links, or accepting pre-pumped objects can be used to initiate further pre-pumping by examining the PHI of the captured objects in the cache. The prefetch operation is not limited to the moment when an object is requested from the server as in the sender initiated access.
V upřednostňovaném provedení byly popsány obecné principy předčerpávání pro web a proxy servery, odborníci vsak ocení, že tento vynález je použitelný na libovolný druh situace, kde mají objekty, které se mají předčerpávat, podobné vlastnosti, a není nezbytně omezen na použití na internetu, ani na webu.In a preferred embodiment, the general principles of pre-pumping for web and proxy servers have been described, however, those skilled in the art will appreciate that the present invention is applicable to any kind of situation where objects to be pumped have similar features and is not necessarily limited to Internet use. on the website.
• φ • * · φ φ · · •··« ««• φ * · · · ·
Dále, zatímco upřednostňované provedení tohoto vynálezu je pro spolupracující předčerpávání mezi rodičovskými a synovskými proxy v hierarchii, může být snadno přizpůsoben tak, aby obsahoval spolupráci mezi partnerskými proxy. Pokud například žádný proxy server výše v hierarchii nezachytil požadovaný objekt ani kandidáta na předčerpání, může se proxy také dotázat partnerských proxy serverů.Further, while a preferred embodiment of the present invention is for cooperative pre-pumping between parent and son proxies in a hierarchy, it can easily be adapted to include collaboration between partner proxies. For example, if no proxy server in the hierarchy has detected the requested object or pre-pumping candidate above, the proxy can also query partner proxies.
Zastupuj e:Represented by:
Dr. Petr Kalenský v.r.Dr. Petr Kalenský v.r.
....----advokát....----lawyer
120 00 Praha 2, Hálkova 2120 00 Prague 2, Halkova 2
Claims (36)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CZ20001058A CZ20001058A3 (en) | 1998-09-28 | 1998-09-28 | A method and system for prefetching data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CZ20001058A CZ20001058A3 (en) | 1998-09-28 | 1998-09-28 | A method and system for prefetching data |
Publications (1)
Publication Number | Publication Date |
---|---|
CZ20001058A3 true CZ20001058A3 (en) | 2000-07-12 |
Family
ID=5470054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CZ20001058A CZ20001058A3 (en) | 1998-09-28 | 1998-09-28 | A method and system for prefetching data |
Country Status (1)
Country | Link |
---|---|
CZ (1) | CZ20001058A3 (en) |
-
1998
- 1998-09-28 CZ CZ20001058A patent/CZ20001058A3/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6085193A (en) | Method and system for dynamically prefetching information via a server hierarchy | |
KR100283453B1 (en) | Dynamic Push Filtration Method by Staging / Buffering in Proxy Hireaki | |
US20250190353A1 (en) | Cache aware searching | |
US8799262B2 (en) | Configurable web crawler | |
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 | |
US8509266B2 (en) | Using network traffic logs for search engine index updates | |
US6094657A (en) | Apparatus and method for dynamic meta-tagging of compound documents | |
US10839038B2 (en) | Generating configuration information for obtaining web resources | |
US6633867B1 (en) | System and method for providing a session query within the context of a dynamic search result set | |
US5751962A (en) | Object-based systems management of computer networks | |
US20040205076A1 (en) | System and method to automate the management of hypertext link information in a Web site | |
JPH1091638A (en) | Retrieval system | |
Shrivastava | A methodical study of web crawler | |
US6934761B1 (en) | User level web server cache control of in-kernel http cache | |
US7222170B2 (en) | Tracking hits for network files using transmitted counter instructions | |
Bakariya et al. | An inclusive survey on data preprocessing methods used in web usage mining | |
JP2000122912A (en) | Method and device for gathering resource | |
EP1101173A1 (en) | Information access | |
CZ20001058A3 (en) | A method and system for prefetching data | |
KR100907095B1 (en) | Information retrieval system using distributed storage and information retrieval method using the same | |
US20040014469A1 (en) | Method and device or re-using information received previously in a telecommunication network such as the internet | |
JPH11259354A (en) | Method for confirming update of information of internet | |
Erdem et al. | TIME DOMAIN BASED WEB USAGE MINING | |
Asaaithambi et al. | An Analytical Study of Intelligent Parallel Web Crawler | |
Kumari | Architecture for Extraction of Hidden Web Pages |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PD00 | Pending as of 2000-06-30 in czech republic |