SE514376C2 - An internet caching system as well as a procedure and device in such a system - Google Patents

An internet caching system as well as a procedure and device in such a system

Info

Publication number
SE514376C2
SE514376C2 SE9803246A SE9803246A SE514376C2 SE 514376 C2 SE514376 C2 SE 514376C2 SE 9803246 A SE9803246 A SE 9803246A SE 9803246 A SE9803246 A SE 9803246A SE 514376 C2 SE514376 C2 SE 514376C2
Authority
SE
Sweden
Prior art keywords
server
file
central
internet
query
Prior art date
Application number
SE9803246A
Other languages
Swedish (sv)
Other versions
SE9803246D0 (en
SE9803246L (en
Inventor
Sverker Lindbo
Original Assignee
Mirror Image Internet Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mirror Image Internet Inc filed Critical Mirror Image Internet Inc
Priority to SE9803246A priority Critical patent/SE514376C2/en
Publication of SE9803246D0 publication Critical patent/SE9803246D0/en
Priority to AU63899/99A priority patent/AU6389999A/en
Priority to KR1020007005659A priority patent/KR20010032419A/en
Priority to HU0004164A priority patent/HUP0004164A2/en
Priority to PL99340807A priority patent/PL340807A1/en
Priority to CN99801667A priority patent/CN1286774A/en
Priority to TR2000/01474T priority patent/TR200001474T1/en
Priority to CA002310603A priority patent/CA2310603A1/en
Priority to DE1040425T priority patent/DE1040425T1/en
Priority to RU2000112850/09A priority patent/RU2000112850A/en
Priority to ARP990104770A priority patent/AR025806A1/en
Priority to PCT/US1999/021248 priority patent/WO2000017765A1/en
Priority to JP2000571355A priority patent/JP2002525749A/en
Priority to IDW20000988A priority patent/ID27668A/en
Priority to EP99951464A priority patent/EP1040425A4/en
Priority to TW088116264A priority patent/TW437205B/en
Priority to IL13628199A priority patent/IL136281A0/en
Priority to ES99951464T priority patent/ES2152204T1/en
Priority to BR9906468-5A priority patent/BR9906468A/en
Priority to PA19998482301A priority patent/PA8482301A1/en
Priority to PE1999000968A priority patent/PE20001191A1/en
Priority to ZA9906124A priority patent/ZA996124B/en
Priority to SA99200851A priority patent/SA99200851A/en
Publication of SE9803246L publication Critical patent/SE9803246L/en
Priority to IS5494A priority patent/IS5494A/en
Priority to NO20002614A priority patent/NO20002614L/en
Priority to LT2000043A priority patent/LT4797B/en
Priority to LVP-00-69A priority patent/LV12597B/en
Publication of SE514376C2 publication Critical patent/SE514376C2/en
Priority to GR20010300011T priority patent/GR20010300011T1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

The present invention refers to an Internet caching system and to an arrangement and a method for serving request for Internet information files in an Internet caching system. The system is built as a two tier caching system. In order to decrease the load on a central cache server (130), an intermediate arrangement (110) interconnects the local servers (100) of the system to the central cache server (130). This arrangement communicates with the local cache servers in accordance with a protocol used for communicating between cache servers. When requesting an Internet information file from the central cache server, the arrangement uses the Structured Query Language. Thus, the central cache server (130) is primarily devoted to answer plain SQL queries.

Description

20 25 30 35 i 2 tekniker för att begränsa mängden av information som mås- te överföras över Internet och för att begränsa avståndet över vilket informationen skall överföras. 20 25 30 35 in 2 techniques to limit the amount of information that must be transmitted over the Internet and to limit the distance over which the information is to be transmitted.

Inom området för cachning av WWW-objekt, eller In- ternet-informationsfiler, finns i huvudsak två tillväga- gångssätt, cachning på klientsidan och cachning på ser- versidan. Den enklaste formen av cachning på klientsidan används idag i princip av varje WWW-bläddrare. Bläddraren upprätthåller en cache på användarens dator med de senas- te inhämtade Internet-informationsfilerna. När användaren en andra gång önskar inhämta en specifik informationsfil, återhämtar bläddraren denna från dess cache i stället för att begära den från Internet.In the field of caching WWW objects, or Internet information files, there are mainly two approaches, caching on the client side and caching on the server side. Today, the simplest form of client-side caching is used by virtually every WWW browser. The browser maintains a cache on the user's computer with the most recently retrieved Internet information files. When the user a second time wishes to retrieve a specific information file, the browser retrieves it from its cache instead of requesting it from the Internet.

För att hjälpa en närbelägen användare, kan ett cachningsförfarande som utnyttjar en s.k. proxy-server användas, varigenom en annan form av cachning på klient- sidan erhålles. Vid detta förfarande är en cache placerad vid en WWW-proxy-nod, till vilken ett antal närbelägna användare är anslutna, exempel på en sådan proxy-nod är t.ex. en server belägen på ett företag. När en WWW-klient vill få åtkomst till en WWW-server på Internet, sänder klienten en http-begäran till proxy-noden, eller WWW- proxy-servern, i stället för att sända den direkt till en server på det globala Internet. I stället är det proxy- servern som sänder denna begäran till en WWW-server på det globala Internet, cachar svaret och returnerar svaret till klienten. Första gången en informationsfil begärs, överförs den således över Internet och lagras i cachen hos WWW-proxy-servern. Efterföljande begäranden av samma informationsfil från någon klient ansluten till WWW- i stället för att göra http-begäranden till en WWW-server över det glo- proxy-servern kan sedan betjänas lokalt, bala Internet. Cachning med hjälp av en proxy-server kan också användas utanför täckningsområdet för ett företag, eller någon annan organisation, genom att implementera förfarandet beskrivet ovan med hjälp av en regional In- : 1 1 7 (j) ) k. l 10 15 20 25 30 35 * i *I-4ítlï:>, 3 ternet-cachningsserver till vilken ett antal klienter är direkt eller indirekt anslutna.To help a nearby user, a caching procedure that utilizes a so-called proxy server is used, whereby another form of caching on the client side is obtained. In this procedure, a cache is located at a WWW proxy node, to which a number of nearby users are connected, examples of such a proxy node are e.g. a server located on a company. When a WWW client wants to access a WWW server on the Internet, the client sends an http request to the proxy node, or WWW proxy server, instead of sending it directly to a server on the global Internet. Instead, it is the proxy server that sends this request to a WWW server on the global Internet, caches the response and returns the response to the client. Thus, the first time an information file is requested, it is transmitted over the Internet and stored in the cache of the WWW proxy server. Subsequent requests of the same information file from any client connected to the WWW- instead of making http requests to a WWW server over the gloproxy server can then be served locally, bala Internet. Caching using a proxy server can also be used outside the coverage area of a company, or any other organization, by implementing the procedure described above using a regional In-: 1 1 7 (j)) k. L 10 15 20 25 30 35 * i * I-4ítlï:> .3 ternet caching server to which a number of clients are directly or indirectly connected.

Beroende på storleken och homogeniteten för en grupp användare som använder en cache hos en server, kommer en cache-storlek på omkring 20-40 gigabyte (våren 1998) re- ducera Internet-trafiken genererad av användargruppen med 30-50%. I och med att informationsmängden tillhandahållen av Internet och Webben fortsätter att växa, är det mycket troligt att den nödvändiga cache-storleken över tiden måste ökas för att bibehålla nivån på antalet träffar, d.v.s. den del av de begärda informationsfilerna som kan överföras från cache-servern. Det skulle dessutom ge be- tydande fördelar vad gäller prestanda hos och användning av Internet om tråffnivàn kunde ökas till 75% eller mer.Depending on the size and homogeneity of a group of users using a cache on a server, a cache size of about 20-40 gigabytes (spring 1998) will reduce the Internet traffic generated by the user group by 30-50%. As the amount of information provided by the Internet and the Web continues to grow, it is very likely that the necessary cache size will have to be increased over time to maintain the level of hits, i.e. the portion of the requested information files that can be transferred from the cache server. It would also provide significant benefits in terms of performance and use of the Internet if the hit level could be increased to 75% or more.

Givet det typiska uppträdande som en slutanvändare uppvi- sar, skulle detta dock kräva en betydligt större cache, f.n. i storleksordningen 200-400 gigabytes, men det skul- le också kräva väldigt många medlemmar i slutanvändar- gruppen, re slutanvändargrupp, f.n. flera hundra tusen. Orsaken är att ju stör- desto större sannolikhet att någon annan inom gruppen tidigare har inhämtat en begärd fil, särskilt om användarna delar något gemensamt intresse.Given the typical behavior that an end user exhibits, however, this would require a significantly larger cache, currently. in the order of 200-400 gigabytes, but it would also require very many members in the end-user group, re end-user group, currently. several hundred thousand. The reason is that the greater the probability that someone else in the group has previously obtained a requested file, especially if the users share a common interest.

Att installera en stor cache utförs enkelt genom att införskaffa en lämplig dator och en lämplig hårddiskkapa- citet. Det krävs emellertid också att cachen kan hantera alla de begäranden som kommer från de deltagande slutan- vändarna. Med nuvarande teknologi är det inte möjligt för en dator med en enda processor att betjäna begåranden från flera hundratusen slutanvändare. Flera system har därför presenterats som hanterar detta problem, dessa an- ges nedan under respektive namn för deras huvudsakliga förslagsframställare.Installing a large cache is easily accomplished by acquiring a suitable computer and a suitable hard disk capacity. However, it is also required that the cache can handle all the requests that come from the participating end users. With current technology, it is not possible for a computer with a single processor to serve the requests of hundreds of thousands of end users. Several systems have therefore been presented that deal with this problem, these are listed below under the respective names of their main proposers.

Cisco Systems, Inc. föreslår att slutanvändarna an- sluts till en ”backbone-router” som år programmerad att transparent omdirigera alla WWW-begäranden till en grupp, eller ”farm” av dedicerade cache-anordningar eller ”cache engines”. Varje ”cache-engine” hanterar en delmängd av 10 15 20 25 30 35 ” 'i 4 alla WWW-servrar som utgör ursprungskällor baserat pà gruppering av IP (Internet protocol)-adresser. Lösningen är skalbar upp till 32 parallella cache-engines, vilket motsvar betjäning av ungefär 500 000 prenumererande slut- användare.Cisco Systems, Inc. proposes that end users be connected to a “backbone router” that is programmed to transparently redirect all WWW requests to a group, or “farm” of dedicated cache devices or “cache engines”. Each "cache engine" handles a subset of 10 15 20 25 30 35 "'in 4 all WWW servers that are source sources based on grouping of IP (Internet protocol) addresses. The solution is scalable up to 32 parallel cache engines, which corresponds to serving approximately 500,000 subscribing end users.

Inktomi Corporation föreslår att en växel, en s.k. ”layer 4 switch", används för att omdirigera alla begä- randen av WWW-sidor till en ”Inktomi traffic server”. Ett kluster av kraftfulla datorer används som alla delar sam- ma disklagringssystem. Denna lösning är skalbar upp till 16 parallella arbetsstationer, vilket också motsvarar om- kring 500 000 prenumererande slutanvändare. Att låta fle- ra datorer arbeta mot samma disklagringssystem medför emellertid ökad komplexitet och ställer krav på system- hantering, d.v.s. en del av kapaciteten hos varje dator är inte tillgänglig för att behandla begäranden.Inktomi Corporation proposes that a gear, a so-called "Layer 4 switch", used to redirect all requests from WWW pages to an "Inktomi traffic server". A cluster of powerful computers are used that all share the same disk storage system. This solution is scalable up to 16 parallel workstations, which also corresponds to around 500,000 subscribing end users, however, allowing several computers to work against the same disk storage system entails increased complexity and requires system management, ie part of the capacity of each computer is not available to process requests.

Network Appliance, Inc. föreslår en lösning med två nivàers cachning. Systemet har flera lokala cachar nära Dessa lokala cachar kommunicerar med en ICP-protokollet (In- slutanvändarna. central cache med hjälp av det s.k. ternet cache protocol) när en cache-miss inträffar på den lokala nivån. Om den begärda filen är närvarande i den centrala cachen, kommer den att överföras till den lokala cachen och sedan vidarebefordras till slutanvändaren. Om den begärda filen inte heller finns i den centrala ca- chen, kommer den centrala cachen att rikta en begäran mot källservern och vidareförmedla filen till den lokala ca- chen, vilken i sin tur vidarebefordrar filen till slutan- vändaren. Centrala cachen hanterar således ICP-begäranden från de lokala cacharna och kommunicerar med källservern i det fall en cache-miss inträffar i den centrala cachen.Network Appliance, Inc. proposes a two-level caching solution. The system has several local caches close These local caches communicate with an ICP protocol (Inlet users. Central cache using the so-called ternet cache protocol) when a cache failure occurs at the local level. If the requested file is present in the central cache, it will be transferred to the local cache and then forwarded to the end user. If the requested file is also not in the central cache, the central cache will direct a request to the source server and forward the file to the local cache, which in turn forwards the file to the end user. The central cache thus handles ICP requests from the local caches and communicates with the source server in case a cache failure occurs in the central cache.

Av skalbarhetsskäl kan flera centrala cachar arbeta pa- rallellt, var och en hanterande en delmängd av källserv- rarna. Detta betyder att de lokala cacharna har möjlighet att adressera varje begäran mot den korrekta centrala ca- che-servern. Eftersom detta protokoll inte är standardi- }_ > m ö l 1 å» I 1 v 10 15 20 25 30 35 “ = t > i 5 serat betyder det att alla lokala cachar måste levereras från Network Appliance, Inc.For scalability reasons, several central caches can work in parallel, each handling a subset of the source servers. This means that the local caches have the ability to address each request to the correct central cache server. Because this protocol is not standardized, it means that all local caches must be provided by Network Appliance, Inc.

Alla dessa lösningar har nackdelen att en central cache-server måste hantera betydande kommunikation pà ett eller annat sätt. Detta resulterar i låg användning av serverns kapacitet samt i svårigheter vid betjäning av hundratusentals användare, vilket krävs för att kunna upprätthålla en hög träffnivå. Genom tillförande av fler servrar, görs systemen dyrare och mer komplexa. Komplexi- teten hos systemen bidrar till ökad systemadministration och därmed till ett lågt utnyttjande av de relativt dyra IQSUISGI' SOITI SêrVrarna IêpreSEnterar.All of these solutions have the disadvantage that a central cache server must handle significant communications in one way or another. This results in low use of the server's capacity as well as in difficulties in serving hundreds of thousands of users, which is required to be able to maintain a high hit level. By adding more servers, the systems are made more expensive and more complex. The complexity of the systems contributes to increased system administration and thus to a low utilization of the relatively expensive IQSUISGI 'SOITI SERVICES.

Sammanfattning av uppfinningen Ett syfte med föreliggande uppfinning är att över- vinna nackdelarna med de f.n. kända teknikerna för cach- ning av informationsfiler på Internet och att tillhanda- hålla en lösning som cachar informationsfiler på ett kostnadseffektivt sätt.SUMMARY OF THE INVENTION An object of the present invention is to overcome the disadvantages of the present invention. known techniques for caching information files on the Internet and to provide a solution that caches information files in a cost-effective manner.

Ett annat syfte med föreliggande uppfinning är att tillhandahålla en lösning för hur användares begäranden efter cachade informationsfiler skall kunna betjänas av ett cachningssystem på ett snabbt och kostnadseffektivt sätt.Another object of the present invention is to provide a solution for how users' requests for cached information files can be served by a caching system in a fast and cost effective manner.

Ytterligare ett syfte är att tillhandahålla en ca- che-serverlösning som kan hantera det växande antalet in- formationsfiler som tillhandahålls av Internet och Webb- en.Another purpose is to provide a cache server solution that can handle the growing number of information files provided by the Internet and the Web.

Ytterligare ett syfte är att tillhandahålla en lös- ning för hur en hög procent pà träffnivån för begäranden av informationsfiler, riktade mot ett cachningssystem, skall kunna erhållas med ett minimum av kostnader.Another purpose is to provide a solution for how a high percentage of the hit level for requests for information files, directed at a caching system, can be obtained with a minimum of costs.

Ytterligare ett syfte med föreliggande uppfinning är att tillhandahålla ett skalbart cachningssystem som är skalbart på ett standardiserat sätt.A further object of the present invention is to provide a scalable caching system which is scalable in a standardized manner.

Ovannämnda syften uppnås av ett Internet-cachnings- system och ett förfarande för att betjäna begäranden om 10 15 20 25 30 35 ~ 6 Internet-informationsfiler i ett Internet-cachningssystem i enlighet med de bifogade patentkraven.The above objects are achieved by an Internet caching system and a method for serving requests for Internet information files in an Internet caching system in accordance with the appended claims.

Enligt en första aspekt av uppfinningen tillhanda- hålls ett förfarande för att betjäna begäranden om Inter- net-informationsfiler i ett Internet-cachningssystem, vilket förfarande innefattar stegen att mottaga, hos en lokal Internet-cache-server, en anvåndarbegäran från en användare om en Internet-informationsfil; att, som re- spons pä den mottagna begäran, skicka en fråga efter nämnda informationsfil, om nämnda informationsfil inte har cachats av nämnda lokala server; att, som respons på ett svar pà nämnda fråga, göra en filbegäran efter nämnda informationsfil, varvid nämnda filbegäran riktas mot ett matningsorgan om nämnda svar indikerar att en central filserver, som lagrar cachade Internet-informationsfiler, har cachat nämnda informationsfil; och att fråga, från nämnda matningsorgan som respons på nämnda filbegäran, nämnda centrala filserver efter nämnda informationsfil, för att därmed minska belastningen på nämnda centrala filserver.According to a first aspect of the invention, there is provided a method of serving requests for Internet information files in an Internet caching system, the method comprising the steps of receiving, at a local Internet cache server, a user request from a user for a Internet information file; to, in response to the received request, send a query for said information file, if said information file has not been cached by said local server; in response to said question, making a file request for said information file, said file request being directed to a feed means if said answer indicates that a central file server storing cached Internet information files has cached said information file; and requesting, from said feed means in response to said file request, said central file server after said information file, thereby reducing the load on said central file server.

Enligt en andra aspekt tillhandahålls en anordning i ett Internet-cachningssystem, vilket system innefattar åtminstone en lokal cache-server och åtminstone en cen- tral filserver, vilka båda servrar lagrar cachade Inter- net-informationsfiler, vilken anordning, för att minska belastningen på nämnda centrala filserver, innefattar en Matare som kommunicerar med nämnda lokala cache-server och med nämnda centrala filserver, varvid nämnda Matare innefattar första organ för mottagning av en begäran om en Internet-informationsfil från nämnda lokala cache- server; andra organ för härledning av en fråga utifrån en alfanumerisk sträng mottagen från nämnda lokala cache- server; och tredje organ för förfrågan hos nämnda centra- la filserver efter nämnda Internet-informationsfil med hjälp av nämnda fråga härledd av nämnda andra organ.According to a second aspect, a device is provided in an Internet caching system, which system comprises at least one local cache server and at least one central file server, both servers storing cached Internet information files, which device, in order to reduce the load on said central file server, comprises a feeder communicating with said local cache server and with said central file server, said feeder comprising first means for receiving a request for an Internet information file from said local cache server; other means for deriving a query from an alphanumeric string received from said local cache server; and third means for querying said central file server for said Internet information file by means of said query derived from said second means.

Enligt en tredje aspekt tillhandahålls ett Internet- cachningssystem, vilket system innefattar en uppsättning 4 f 0:? 10 15 20 25 30 35 ~ i a 1.375: 7 lokala Internet-cache-servrar, varvid varje lokal cache- server är anordnad att fràn användare mottaga begäranden om Internet-informationsfiler; åtminstone en central fil- server innefattad av en central cache-plats och anordnad att lagra cachade Internet-informationsfiler; och matar- organ sammankopplande nämnda uppsättning av lokala cache- servrar med nämnda centrala filserver, varvid nämnda ma- tarorgan innefattar åtminstone en Matare, vilken Matare innefattar organ för kommunikation med åtminstone en lo- kal cache-server i enlighet med ett protokoll som används vid kommunikation mellan Internet-cache-servrar och organ för inhämtning av Internet-informationsfiler fràn nämnda centrala filserver med hjälp av databasfràgor, varigenom belastningen pà nämnda centrala filserver minskar.According to a third aspect, an Internet caching system is provided, which system comprises a set of 4 f 0 :? 10 15 20 25 30 35 ~ i a 1,375: 7 local Internet cache servers, each local cache server being arranged to receive requests from users for Internet information files; at least one central file server comprised of a central cache location and arranged to store cached Internet information files; and feeder means interconnecting said set of local cache servers with said central file server, said feeder means comprising at least one feeder, said feeder comprising means for communicating with at least one local cache server according to a protocol used in communication between Internet cache servers and means for retrieving Internet information files from said central file server by means of database queries, thereby reducing the load on said central file server.

Uppfinningen baserar sig pà idén att ansluta ett an- tal dedicerade datorer till en central filserver, eller central cache-server, som lagrar Internet-informa- tionsfiler. Relativt den centrala cache-servern är dessa ytterligare datorer av enklare typ. De dedicerade dato- rerna är anordnade att minska belastningen på den centra- la cash-servern genom att utföra en del av de uppgifter som normalt hanteras av den centrala cache-servern själv.The invention is based on the idea of connecting a number of dedicated computers to a central file server, or central cache server, which stores Internet information files. Relatively the central cache server, these additional computers are of the simpler type. The dedicated computers are arranged to reduce the load on the central cash server by performing some of the tasks that are normally handled by the central cache server itself.

Pâ detta sätt kan den centrala cache-servern betjäna de lokala cache-servrarna anslutna till den centrala ser- vern, eller egentligen anslutna till den centrala servern via de dedicerade datorerna, pà ett snabbt och kostnads- effektivt sätt. Maximal nyttjandegrad uppnås för den dyra hårdvaran som bildar den faktiska centrala filservern och dess fillagringssystem i vilket filerna finns cachade, alltmedan specialiserade och billiga maskiner runt fil- servern utför tidskrävande och tidskritiska uppgifter pa- rallellt.In this way, the central cache server can serve the local cache servers connected to the central server, or actually connected to the central server via the dedicated computers, in a fast and cost-effective manner. Maximum utilization is achieved for the expensive hardware that forms the actual central file server and its file storage system in which the files are cached, while specialized and inexpensive machines around the file server perform time-consuming and time-critical tasks in parallel.

De uppfinningsenliga matarorganen, eller Matarna, realiseras således med maskiner som är separerade fràn den maskin som realiserar en central filserver. Detta kommer att minska belastningen på den centrala filservern som därför har möjlighet att avsätta mer behandlingstid 10 15 20 25 30 35 p 8 till det faktiska återhämtandet av cachade informations- filer. Den centrala filservern har därför möjlighet att betjäna en stor grupp av användare på ett effektivt sätt.The feeder means according to the invention, or the Feeders, are thus realized with machines which are separated from the machine which realizes a central file server. This will reduce the load on the central file server which therefore has the ability to allocate more processing time 10 15 20 25 30 35 p 8 to the actual recovery of cached information files. The central file server therefore has the ability to serve a large group of users in an efficient manner.

Eftersom begäranden från användare, via begäranden från lokala cache-servrar, betjänas mer effektivt, kan antalet betjänade användarbegäranden öka, vilket i sin tur möj- liggör för den centrala filservern att upprätthålla en högre procentuell träffnivå i sin cache.Because requests from users, via requests from local cache servers, are served more efficiently, the number of serviced user requests can increase, which in turn enables the central file server to maintain a higher percentage hit level in its cache.

Enligt en utföringsform av föreliggande uppfinning kommunicerar matarorganen med de lokala cache-servrarna, på uppdrag av den centrala filservern, i enlighet med ett protokoll som används för kommunikation mellan Internet- cache-servrar. Det f.n. använda protokollet är antingen ICP-protokollet (Internet Cache Protocol) eller Cache Di- gest, men kan vara vilket annat konventionellt eller framtida protokoll som helst som används i samma syfte.According to an embodiment of the present invention, the feeder means communicates with the local cache servers, on behalf of the central file server, in accordance with a protocol used for communication between Internet cache servers. It f.n. The protocol used is either the ICP (Internet Cache Protocol) or the Cache Digest, but can be any other conventional or future protocol used for the same purpose.

Genom att således placera uppgiften att taga emot, och svara pà, frågor efter och/eller begäranden om informa- tionsfiler i maskiner som är separerade från den centrala filservermaskinen, minskas belastningen på den centrala filservern avsevärt.Thus, by placing the task of receiving, and responding to, questions about and / or requests for information files in machines that are separated from the central file server machine, the load on the central file server is significantly reduced.

När en lokal cache-server mottager en begäran från en användare om en informationsfil, vilken informations- fil inte har cachats av den lokala servern, startar den lokala servern med att skicka en fråga efter den filen. I en utföringsform riktas frågan till en tabell, eller da- tabas, som är intern för, eller direkt ansluten till, den lokala servern. Om nämnda tabell indikerar att den efter- frågade filen är cachad av den centrala filservern, kom- mer den lokala servern att begära filen från matarorga- nen, eller Mataren. Denna förfrågan och begäran utförs företrädesvis i enlighet med cache-digest-protokollet.When a local cache server receives a request from a user for an information file, which information file has not been cached by the local server, the local server starts sending a query for that file. In one embodiment, the query is directed to a table, or database, that is internal to, or directly connected to, the local server. If the said table indicates that the requested file is cached by the central file server, the local server will request the file from the feeder, or the Feeder. This request and request is preferably performed in accordance with the cache digest protocol.

Precis som vid begäran från användaren till den lokala servern kan emellertid begäran från den lokala servern till Mataren utföras i enlighet med vilket lager-3- protokoll som helst, t.ex. med en HTTP-begäran. lO 15 20 25 30 35 * E76 , 9 I en annan utföringsform riktas frågan från den lo- kala servern till Mataren. Innefattad i frågan, t.ex. en ICP-fråga, är yEL¿§g för den efterfrågade informationsfi- len. Mataren härleder ett frågenummer från den alfanume- riska URL:en i den mottagna frågan efter en informations- fil, vilket frågenummer sedan används av Mataren för att fråga den centrala filservern efter informationsfilen.However, as with the request from the user to the local server, the request from the local server to the Feeder can be executed in accordance with any layer-3 protocol, e.g. with an HTTP request. 10 15 20 25 30 35 * E76, 9 In another embodiment, the query is directed from the local server to the Feeder. Included in the question, e.g. an ICP query, is yEL¿§g for the requested information file. The feeder derives a query number from the alphanumeric URL in the received query for an information file, which query number is then used by the feeder to query the central file server for the information file.

Mataren frågar filservern efter informationsfiler med hjälp av en standardiserad SQL-fråga (Structured Query Language). Om den efterfrågade filen är närvarande i den centrala filservern, d.v.s. om det blir en cache-träff, överförs den efterfrågade filen från centrala servern, via Mataren, till den lokala servern. Att låta den cen- trala filservern initiera en filöverföring som svar på en SQL-fråga, ICP-fråga, från den lokala cache-servern, medför avsevär- i stället för som svar på en fråga, såsom en da kapacitetsbesparingar för den centrala filservern.The feeder asks the file server for information files using a standardized SQL (Structured Query Language) query. If the requested file is present in the central file server, i.e. if there is a cache hit, the requested file is transferred from the central server, via the Feeder, to the local server. Allowing the central file server to initiate a file transfer in response to an SQL query, ICP query, from the on-premises cache server, results in significant rather than in response to a query, such as a day-to-day capacity saving for the central file server.

Alternativt härleds frågenumret från nämnda alfanu- meriska URL och från en del av ett startinformationsblock innefattat i nämnda fråga. Denna del av startinformatio- nen innehåller specifik användarinformation relaterad till den användare som ursprungligen gjorde begäran, t.ex. språket han använder, vilket möjliggör för den cen- trala filservern att svara i enlighet med denna specifika information. Frågenumret motsvarande en informationsfil härleds genom användning av någon hashalgoritm, företrä- devis genom användning av en MD5-hashalgoritm.Alternatively, the query number is derived from said alphanumeric URL and from a portion of a start information block included in said query. This part of the start-up information contains specific user information related to the user who originally made the request, e.g. the language he uses, enabling the central file server to respond in accordance with this specific information. The query number corresponding to an information file is derived by using some hash algorithm, preferably by using an MD5 hash algorithm.

I den utföringsform där den lokala servern skickar en intern förfrågan efter informationsfilen, härleder Ma- taren frågenumret från den följande begäran som riktas mot Mataren från den lokala servern. Den alfanumeriska strängen används för att härleda frågenumret är strängen innefattad i nämnda begäran, t.ex. Q3L¿§g i en HTTP-begä- ran. Frågenumret används sedan av Mataren vid förfrågan till centrala filservern efter informationsfilen, före- trädesvis med användning av en SQL-fråga. Återigen är det fördelaktigt att också innefatta åtminstone en del av 10 15 20 25 30 35 t i íï 76 f 10 startinformationsfältet för nämnda begäran som bas för härledning av nämnda fràgenummer.In the embodiment where the local server sends an internal request for the information file, the Feeder derives the query number from the following request directed to the Feeder from the local server. The alphanumeric string is used to derive the query number, the string is included in said request, e.g. Q3L¿§g in an HTTP request. The query number is then used by the Feeder when requesting the central file server for the information file, preferably using an SQL query. Again, it is advantageous to also include at least a portion of the initial information field for said request as a basis for deriving said query number.

För att ytterligare minska belastningen på den cen- trala filservern innefattar Mataren företrädesvis en ta- bell som lagrar information relaterad till varje informa- tionsfil som cachas av den centrala filservern. Tabellen är t.ex. en minnesresident och MD5-indexerad hash-tabell.To further reduce the load on the central file server, the Feeder preferably includes a table that stores information related to each information file cached by the central file server. The table is e.g. a memory resident and MD5 indexed hash table.

Genom att söka i nämnda tabell kan Mataren avgöra huruvi- da en efterfrågad informationsfil har cachats eller inte av den centrala filservern, utan att behöva fråga ser- vern, varigenom således ett snabbare svar kan ges av Ma- taren på frågan från en lokal server.By searching in the said table, the Feeder can determine whether or not a requested information file has been cached by the central file server, without having to ask the server, whereby a faster answer can be given by the Feeder to the question from a local server.

Enligt en annan utföringsform av föreliggande upp- finning innefattar Internet-cachningssystemet dessutom uppdateringsorgan, eller en Uppdaterare, för uppdatering av en uppsättning av informationsfiler som finns cachade hos den centrala filservern. Uppdateringsproceduren be- står i att överföra en kopia av en fil som är cachad hos en lokal server till den centrala servern. Den överförda filen är en fil som, som en konsekvens av en cache-miss hos den centrala servern vid förfrågan efter filen, har inhämtats från dess källserver av den lokala servern och som sedan cachats av densamma.According to another embodiment of the present invention, the Internet caching system further comprises updating means, or an updater, for updating a set of information files which are cached by the central file server. The update procedure consists of uploading a copy of a file cached by a local server to the central server. The uploaded file is a file which, as a consequence of a cache failure of the central server when requesting the file, has been retrieved from its source server by the local server and which is then cached by it.

Den centrala filservern, eller centrala cache-ser- vern, inhämtar således inte själv en icke-cachad fil och lastas därför inte ned av att behöva göra en begäran mot en källserver efter en fil på grund av en cache-miss vid betjäning av en lokal cache-server. I stället, när Mata- ren utvärderar frågan från den lokala cache-servern efter en informationsfil och kommer fram till att den efterfrå- gade filen inte finns cachad hos den centrala filservern, riktar Mataren ett svar till den frågande lokala servern, vilket svar indikerar att filen inte är tillgänglig, var- efter Uppdateraren beordras att uppdatera den centrala filservern. Vid mottagning av svaret, som således indike- rar en cache-miss, inhämtar den lokala cache-servern fi- len ifråga från dess källserver. Vid mottagning av ordern 10 15 20 25 30 35 “i 375 ll att uppdatera den centrala filservern begär Uppdateraren en kopia av filen från den lokala servern och överför den härigenom mottagna filkopian till den centrala cache- servern där den också lagras. Proceduren för överföring och lagring utförs företrädesvis vid en tidpunkt när den generella belastningen pä den centrala filservern är làg och efter att den lokala servern har givits tillräckligt med tid för att inhämta filen fràn dess källserver.The central file server, or central cache server, thus does not itself retrieve a non-cached file and is therefore not downloaded by having to make a request to a source server for a file due to a cache failure when serving a local cache server. Instead, when the Feeder evaluates the query from the local cache server for an information file and concludes that the requested file is not cached by the central file server, the Feeder directs a response to the querying local server, which response indicates that the file is not available, after which the updater is ordered to update the central file server. Upon receipt of the response, which thus indicates a cache failure, the local cache server obtains the file in question from its source server. Upon receipt of the order 10 15 20 25 30 35 “in 375 ll to update the central file server, the updater requests a copy of the file from the local server and transfers the resulting copy of the file to the central cache server where it is also stored. The transfer and storage procedure is preferably performed at a time when the overall load on the central file server is low and after the local server has been given sufficient time to retrieve the file from its source server.

Om emellertid den lokala servern är placerad bakom en brandvägg, kommer Uppdateraren att begära en kopia av filen från dess källserver, vilken kopia sedan lagras i den centrala cache-servern. I detta fall är det föredra- get att Mataren inte beordrar Uppdateraren att påbörja uppdateringsproceduren förrän efter ett visst antal för- fràgningar efter samma specifika informationsfil har mot- tagits, där dessa förfrågningar härrör fràn lokala serv- rar placerade bakom brandväggar. Uppdateraren är företrä- desvis realiserad av en maskin som är separerad från ma- skinerna som realiserar Matarna, sàväl som separerad från någon filservermaskin. Detta är en fördel eftersom filbe- gäranden, t.ex. HTTP-begäranden, mot källservrar kan ta en oberäknelig tid och således leda till en oberäknelig belastning på maskinen som utför begäranden. I ett för- enklat system är det emellertid möjligt att realisera Uppdateraren i samma maskin som de som realiserar Matar- na, alltmedan den fortfarande är separerad fràn någon central filservermaskin. I en utföringsform där maskiner- na som implementerar Uppdateraren och Mataren sammankopp- lar den lokala cache-servern med den centrala filservern, utan att maskinerna själva är innefattade i den centrala cache-platsen tillsammans med den centrala filservern, är separationen av dessa maskiner fràn den centrala filser- vermaskinen uppenbar.However, if the local server is located behind a firewall, the updater will request a copy of the file from its source server, which copy is then stored in the central cache server. In this case, it is preferred that the Feeder not order the Updater to begin the update procedure until after a certain number of requests for the same specific information file have been received, where these requests originate from local servers located behind firewalls. The updater is preferably realized by a machine that is separated from the machines that realize the Feeders, as well as separated from any file server machine. This is an advantage because file requests, e.g. HTTP requests to source servers can take an unpredictable amount of time and thus lead to an unpredictable load on the requesting machine. In a simplified system, however, it is possible to realize the Updater in the same machine as those who realize the Feeds, while it is still separated from any central file server machine. In an embodiment where the machines that implement the Updater and the Feeder interconnect the local cache server with the central file server, without the machines themselves being included in the central cache location together with the central file server, the separation of these machines from the central file server machine obvious.

Vissa Internet-informationsfiler är inte lämpliga för cachning. Sådana filer kallas ibland för dynamiska informationsfiler, där termen dynamisk kommer från att dessa filer kontinuerligt uppdateras hos den källservern. l) n n x »x v» x 1 ff x x x. r x \ 1 I: x f» \ lO 15 20 25 30 35 vs 12 Exempel på sådana filer är filer med börskurser, väder- rapporter, o.s.v. Ett föredraget sätt att behandla exi- stensen av dynamiska filer är att upprätthålla en lista över kända filer som inte gär att cacha i antingen Uppda- teraren eller i de lokala servrarna. På detta sätt kan kommunikationen i systemet, som ett resultat av att en användare begär en sådan fil, minimeras.Some Internet information files are not suitable for caching. Such files are sometimes called dynamic information files, where the term dynamic comes from the fact that these files are continuously updated at that source server. l) n n x »x v» x 1 ff x x x. r x \ 1 I: x f »\ lO 15 20 25 30 35 35 vs 12 Examples of such files are files with stock market prices, weather reports, etc. A preferred way to handle the existence of dynamic files is to maintain a list of known files that do not like to be cached in either the Updator or the local servers. In this way, the communication in the system, as a result of a user requesting such a file, can be minimized.

Enligt en ytterligare utföringsform av föreliggande uppfinning innefattar en central cache-plats flera cen- trala filservrar, varvid varje filserver cachar informa- tionsfiler som är associerade med källservernamn, IP- adresser eller härledda frågenummer, inom ett definierat omrâde. Baserat pà antingen det källservernamnet, IP- adressen eller det härledda frågenumret för en begärd in- formationsfil, adresserar Mataren frågan till den filser- ver som cachar filer inom det passande området. I denna skalbara lösning har varje filserver sitt eget disksy- stem, varigenom således systemadministrationen minskar.According to a further embodiment of the present invention, a central cache site comprises several central file servers, each file server caching information files associated with source server names, IP addresses or derived query numbers, within a defined range. Based on either the source server name, the IP address or the derived query number for a requested information file, the Feeder addresses the query to the file server that caches files within the appropriate range. In this scalable solution, each file server has its own disk system, thus reducing system administration.

Den centrala cache-platsen är dessutom skalbar med fil- servrar från tredje parts leverantörer som följd av att platsen använder standardiserade protokoll.The central cache site is also scalable with file servers from third-party vendors as a result of the site using standardized protocols.

För att kommunikationen mellan den centrala filser- vern och de enkla datorerna, d.v.s. Matarna och Uppdate- rarna, skall vara snabb, är varje sådan enkel dator före- trädesvis ansluten till den centrala filservern med hjälp av en dedicerad kabel, eller alternativt, om det finns flera filservrar, med hjälp av ett dedicerat nätverk.In order for the communication between the central file server and the simple computers, i.e. The feeders and updaters, to be fast, each such simple computer is preferably connected to the central file server by means of a dedicated cable, or alternatively, if there are several file servers, by means of a dedicated network.

Detta nätverk är antingen ett privat eller ett publikt nätverk. I det senare fallet är åtminstone en del av nät- verkskapaciteten företrädesvis reserverad för kommunika- tionen ifråga. Nätverket som används kan även naturligt- vis vara en del av Internet, även på ett icke-dedicerat sätt. Typen av förbindelse som används mellan den centra- la filservern och de enkla datorerna är i hög grad bero- ende av var de enkla datorerna, eller Matarna och Uppda- terarna, är belägna, antingen på samma plats som den cen- fr» (Ål f? \ / f 1 i w i f 1 a' I f.) 45 I lO 15 20 25 30 35 ~ 13 trala filservern eller pà en plats som skiljer sig från platsen för den centrala filservern.This network is either a private or a public network. In the latter case, at least part of the network capacity is preferably reserved for the communication in question. The network used can of course also be part of the Internet, even in a non-dedicated way. The type of connection used between the central file server and the simple computers depends to a large extent on where the simple computers, or the Feeders and Updators, are located, either in the same place as the center »(Ål f? \ / f 1 iwif 1 a 'I f.) 45 I lO 15 20 25 30 35 ~ 13 trala file server or in a location different from the location of the central file server.

Det är dessutom föredraget att den centrala cache- platsen betjänar en definierad uppsättning av lokala ca- che-servrar, vilken uppsättning i sin tur betjänar en lingvistiskt och kulturellt homogen användargrupp. Detta kommer ytterligare att öka den procentuella träffnivàn på den centrala cache-nivån eftersom det är mer troligt att samma informationsfiler kommer att begäras fler än en gäng.It is also preferred that the central cache site serve a defined set of local cache servers, which in turn serve a linguistically and culturally homogeneous user group. This will further increase the percentage hit level at the central cache level as it is more likely that the same information files will be requested more than once.

Med användning av föreliggande uppfinning kan en operatör av ett Internet-cachningssystem, som hanterar begäran om informationsfiler i enlighet med föreliggande uppfinning, tillhandahålla ett snabbt, billigt och effek- tivt sätt att betjäna ett stort antal prenumererande kun- der. Dessa kunder är företrädesvis olika Internet-tjäns- televerantörer, företag eller andra organisationer som är anslutna till den uppfinningsenliga centrala cache- platsen, eller uppfinningsenliga Matarna/Uppdaterarna, med sina egna lokala cache-servrar, Alternativt är de an- slutna som klienter till ett system som innefattar hela det uppfinningsenliga cachningssystemet som utgörs av den centrala cache-platsen, inklusive Matare och Uppdaterare och dess anslutna lokala cache-servrar. En kund kan na- turligtvis också mycket väl vara en enstaka användare som utgör en enstaka WWW-klient ansluten direkt till det upp- finningsenliga systemet. Ett stort företag eller en In- ternet-tjänsteleverantör kan också välja att administrera och driva det uppfinningsenliga systemet pà egen hand i stället för att vara ansluten till ett sådant system som administreras av någon annan. Eftersom det uppfinningsen- liga cachningssystemet är byggt runt standardiserade pro- tokoll, sàsom ICP och SQL, kan dessutom lokala cache- servrar och centrala filservrar från vilken tillverkare som helst innefattas i systemet så länge som dessa proto- koll stöds. f) 1.» f.) f» v» lO 15 20 25 30 35 t ' §§;$¶çjE57w5_ 14 Inom ramen för föreliggande uppfinning skall en lo- kal Internet-cache-server tolkas som en proxy-nod, före- trädesvis en WWW-proxy-nod, som upprätthåller en cache eller WWW-klienter, som är anslutna till för användare, proxy-noden.Using the present invention, an operator of an Internet caching system, which handles information file requests in accordance with the present invention, can provide a fast, inexpensive and efficient way to serve a large number of subscribing customers. These customers are preferably various Internet service providers, companies or other organizations that are connected to the inventive central cache site, or inventive Feeders / Updators, with their own local cache servers. Alternatively, they are connected as clients to a systems that include the entire inventive caching system that makes up the central cache site, including Feed and Updates and its connected local cache servers. A customer can of course also very well be a single user who constitutes a single WWW client connected directly to the inventive system. A large company or an Internet service provider can also choose to administer and operate the inventive system on its own instead of being connected to such a system which is administered by someone else. In addition, since the caching system according to the invention is built around standardized protocols, such as ICP and SQL, local cache servers and central file servers from any manufacturer can be included in the system as long as these protocols are supported. f) 1. » f.) f »v» lO 15 20 25 30 35 t '§§; $ ¶çjE57w5_ 14 Within the scope of the present invention, a local Internet cache server is to be construed as a proxy node, preferably a WWW proxy node, which maintains a cache or WWW clients, which are connected to for users, the proxy node.

Element cachade hos en lokal Internet-cache-server eller hos en filserver på en central cache-plats är vilka icke-dynamiska filer som helst som är åtkomliga med hjälp av Internet och som innehåller någon typ av information.Elements cached by a local Internet cache server or by a file server in a central cache location are any non-dynamic files that are accessible using the Internet and that contain some type of information.

Ett antal olika typer av filer med olika namn innefattas således av termen Internet-informationsfil som används i bild- , ljud- eller video-filer, HTTP (HyperText Transfer Pro- tocol)-filer, WWW-filer, FTP (File Transfer Protocol)- filer, WWW-sidor, WWW-objekt, åtkomstbara med hjälp av HTTP- eller FTP-protokollen är föreliggande uppfinning, t.ex. binära filer, text-, o.s.v. Förutom filer som är alla filer som är àtkomstbara över Internet i enlighet med vilket nivå-3-protokoll som helst också innefattade av termen Internet-informationsfil. Ett yttrligare exem- pel på ett protokoll som kan användas år WTP-protokollet (Wireless Transport Protocol) som används inom WAP (Wire- less Application Protocol)-standarden.A number of different types of files with different names are thus included by the term Internet information file used in image, audio or video files, HTTP (HyperText Transfer Protocol) files, WWW files, FTP (File Transfer Protocol) files, WWW pages, WWW objects, accessible using the HTTP or FTP protocols are the present invention, e.g. binaries, text, etc. In addition to files that are all files that are accessible over the Internet in accordance with any level 3 protocol also included by the term Internet information file. An additional example of a protocol that can be used is the WTP protocol (Wireless Transport Protocol) used within the WAP (Wireless Application Protocol) standard.

Enligt en fjärde aspekt av föreliggande uppfinning innefattar uppfinningen ett medium läsbart av en dator, på vilket ett eller flera datorprogram med instruktioner är lagrade för en eller flera generella datorer, vilket medium innefattar organ för att möjliggöra nämnda en el- ler flera datorer att utföra stegen beskrivna i de bifo- gade patentkraven 1-17.According to a fourth aspect of the present invention, the invention comprises a medium readable by a computer, on which one or more computer programs with instructions are stored for one or more general computers, which medium comprises means for enabling said one or more computers to perform the steps described in the appended claims 1-17.

Enligt en femte aspekt av föreliggande uppfinning innefattar uppfinningen en eller flera enheter för lag- ring av program innehållande en eller flera sekvenser av instruktioner, för en eller flera generella datorer, för utförande av stegen som beskrivs i de bifogade patentkra- ven 1-17.According to a fifth aspect of the present invention, the invention comprises one or more units for storing programs containing one or more sequences of instructions, for one or more general computers, for performing the steps described in the appended claims 1-17.

Ovannämnda och ytterligare aspekter och särdrag hos, såväl som fördelar med, föreliggande uppfinning kommer (f) 10 15 20 25 30 35 ~ i 1-1¿@j;3my5p 15 enklare att inses från följande beskrivning, med hänvis- ning till de bifogade ritningarna, av exemplifierande ut- föringsformer därav.The above and further aspects and features of, as well as advantages of, the present invention will be more readily apparent from the following description, taken in conjunction with the accompanying drawings. the drawings, of exemplary embodiments thereof.

Kort beskrivning av ritningarna Exemplifierande utföringsformer av uppfinningen kom- mer nu att beskrivas nedan med hänvisning till de bifoga- de ritningarna, i vilka: Fig. 1 schematiskt visar en utföringsform av ett In- ternet-cachningssystem i enlighet med föreliggande upp- finning; Fig. 2 schematisk visar en annan utföringsform av ett Internet-cachningssystem i enlighet med föreliggande uppfinning; Fig. 3 schematiskt visar ett flödesschema över arbe- tet som utförs av en lokal cache-server i Fig. 2; Fig. 4 schematiskt visar ett flödesschema över arbe- tet som utförs av en Matare i Fig. 2; Fig. 5 schematiskt visar ett flödesschema över arbe- tet som utförs av en Uppdaterare i Fig. 2; och Fig. 6 schematiskt visar ytterligare en utförings- form av ett Internet-cachningssystem i enlighet med före- liggande uppfinning.Brief Description of the Drawings Exemplary embodiments of the invention will now be described below with reference to the accompanying drawings, in which: Fig. 1 schematically shows an embodiment of an Internet caching system in accordance with the present invention; Fig. 2 schematically shows another embodiment of an Internet caching system in accordance with the present invention; Fig. 3 schematically shows a flow chart of the work performed by a local cache server in Fig. 2; Fig. 4 schematically shows a flow chart of the work performed by a Feeder in Fig. 2; Fig. 5 schematically shows a flow chart of the work performed by an updater in Fig. 2; and Fig. 6 schematically shows a further embodiment of an Internet caching system in accordance with the present invention.

Detalierad beskrivning av föredragna utföringsformer Med hänvisning till blockschemat visas i Fig. 1 kom- mer en utföringsform av föreliggande uppfinning att be- I Fig. 100. Dessa lokala servrar 100 är, via Internet, anslutna skrivas. 1 visas ett antal lokala cache-servrar till matarorgan 110, här exemplifierade med en Matare 110. Antalet Matare 110 och antalet lokala cache-servrar 100 som indikeras i Fig. 1 är endast ett exempel och ut- föringsformen är inte begränsad till detta antal.Detailed Description of Preferred Embodiments Referring to the block diagram shown in Fig. 1, an embodiment of the present invention will be described in Fig. 100. These local servers 100 are, via the Internet, connected in writing. 1 shows a number of local cache servers for feeder means 110, exemplified here by a Feeder 110. The number of Feeders 110 and the number of local cache servers 100 indicated in Fig. 1 is only an example and the embodiment is not limited to this number.

Oavsett antalet Matare är emellertid varje Matare i denna utföringsform ansluten till en enda central filser- ver. I Fig. 1 är Matare 110 ansluten till en central fil- server 130. Denna centrala filserver innefattar ett lag- ringsmedium (inte visat) på vilket Internet-informations- 113.23. 3,; ;; 'a - . 1 .<¿ 31,: ;:;_=_;-_» \__~.f=,-y:>\ ,_=_¿.__~_\.f_s,:.ç.,g¿,;__: ._ 10 15 20 25 30 35 3 7 a, 16 filer finns lagrade, d.v.s. cachade, och är implementerad av en avancerad dator, t.ex. en Sun Ultra Sparc eller DEC Alpha-dator. Varje Matare 110 är à andra sidan implemen- terad av en enkel dator, såsom en konventionell personda- tor, och utgör en frontdator som hanterar kommunikationen mellan de lokala cache-servrarna 100 och den centrala filservern 130.Regardless of the number of Feeders, however, each Feeder in this embodiment is connected to a single central file server. In Fig. 1, Feeder 110 is connected to a central file server 130. This central file server includes a storage medium (not shown) on which the Internet information 113.23. 3 ,; ;; 'a -. 1. <¿31 ,:;:; _ = _; -_ »\ __ ~ .f =, - y:> \, _ = _ ¿.__ ~ _ \. F_s,:. Ç., G¿, ; __: ._ 10 15 20 25 30 35 3 7 a, 16 files are stored, ie cached, and is implemented by an advanced computer, e.g. a Sun Ultra Sparc or DEC Alpha computer. Each Feeder 110, on the other hand, is implemented by a simple computer, such as a conventional personal computer, and is a front-end computer that handles the communication between the local cache servers 100 and the central file server 130.

Mataren 110 kommunicerar med de lokala cache-serv- ICP-protokollet (Internet Cache Protocol), vilket är ett meddelandebaserat proto- rarna 100 med hjälp av det s.k. koll som används för kommunikation mellan cache-servrar över Internet. Mataren 110 svarar således pà en ICP-fråga efter en cachad Internet-informationsfil, vilken fråga mottages från en av de lokala cache-servrarna 100, med ett ICP-svar. Detta ICP-svar indikerar antingen en cache- träff (ICP_OP_HIT) eller en cache-miss (ICP_OP_MISS).The feeder 110 communicates with the local cache server ICP protocol (Internet Cache Protocol), which is a message-based protocol 100 using the so-called control used for communication between cache servers over the Internet. The feeder 110 thus responds to an ICP query for a cached Internet information file, which query is received from one of the local cache servers 100, with an ICP response. This ICP response indicates either a cache hit (ICP_OP_HIT) or a cache miss (ICP_OP_MISS).

I enlighet med ICP-protokollet innefattar ICP-frågan mottagen av Mataren URL:en för den efterfrågade informa- tionsfilen. Utifrån denna URL härleder Mataren 110 ett fràgenummer som motsvarar den efterfrågade informations- filen, med hjälp av en MD5-hashalgoritm. Med hjälp av fràgenumret genomsöks sedan en minnesresident MD5- indexerad hashtabell 115.In accordance with the ICP protocol, the ICP query received by the Feeder includes the URL of the requested information file. From this URL, the Feeder 110 derives a query number corresponding to the requested information file, using an MD5 hash algorithm. Using the query number, a memory resident MD5 indexed hash table 115 is then scanned.

RAM (Random Access Memory) 116 i vilket den indexerade Innefattad i Mataren 110 är ett tabellen finns lagrad. Den indexerade tabellen 115 inne- fattar en ingång för varje fràgenummer som motsvarar en Internet-informationsfil som är cachad hos den centrala filservern 130. Genomsökningen av den indexerade tabellen 115 innefattar genomsökning av ingàngarna efter ett frà- genummer som överensstämmer med det härledda fràgenumret.RAM (Random Access Memory) 116 in which the indexed Included in the Feeder 110 is a table is stored. The indexed table 115 includes an entry for each query number corresponding to an Internet information file cached by the central file server 130. The scan of the indexed table 115 includes a scan of the entries for a query number corresponding to the derived query number.

Om ett överensstämmande fràgenummer hittas i tabellen är detta en indikering att den efterfrågade informationsfi- len finns cachad hos den centrala filservern 130, varvid ICP-svaret till den lokala servern 100 som en konsekvens kommer att indikera en cache-träff. På motsvarande sätt, om ett överensstämmande fràgenummer inte hittas i tabel- len 115, indikerar detta att den efterfrågade informa- r.) n (t) 1,1 ff; I) 111 z 1 10 15 20 25 30 35 .s 1114:: 3:15 17 tionsfilen inte finns cachad hos den centrala filservern 130, varigenom ICP-svaret som en konsekvens av detta kom- mer att indikera en cache-miss.If a matching query number is found in the table, this is an indication that the requested information file is cached at the central file server 130, with the ICP response to the local server 100 as a consequence indicating a cache hit. Similarly, if a matching query number is not found in Table 115, this indicates that the requested information.) N (t) 1.1 ff; I) 111 z 1 10 15 20 25 30 35 .s 1114 :: 3:15 17 tion file is not cached by the central file server 130, whereby the ICP response as a consequence of this will indicate a cache error.

Härledning av frågenumret med hjälp av MD5-hashalgo- ritmen och genomsökning av den indexerade tabellen imple- menteras med hjälp av en mikroprocessor 120 tillsammans med en lämplig programvarumodul, båda innefattade i Mata- ren 110. Mikroprocessorn exekverar programvarumodulen, vilken exekvering resulterar i ett härlett frågenummer och i en genomsökning av den indexerade tabellen 115. Im- plementeringen av denna programvarumodul är uppenbar för en fackman inom området programmering.Deriving the query number using the MD5 hash algorithm and scanning the indexed table is implemented using a microprocessor 120 together with a suitable software module, both included in the feeder 110. The microprocessor executes the software module, which execution results in a derivative question number and in a scan of the indexed table 115. The implementation of this software module is obvious to a person skilled in the art of programming.

Om svaret från Mataren 110 till den lokala servern 100 indikerar en cache-träff, kommer den lokala servern att begära informationsfilen fràn Mataren med hjälp av ett HTTP-protokoll (HyperText Transfer Protocol), vilket är ett protokoll som används för åtkomst av WWW-objekt över Internet. D.v.s. en HTTP-begäran sänds till Mataren, vilken begäran innefattar URL:en för den begärda filen.If the response from the Feeder 110 to the local server 100 indicates a cache hit, the local server will request the information file from the Feeder using an HTTP (HyperText Transfer Protocol) protocol, which is a protocol used to access WWW objects over the Internet. I.e. an HTTP request is sent to the Feeder, which request includes the URL of the requested file.

Vid kommunikation med den centrala filservern 130 använder Mataren 110 vanliga SQL-frågor. Vid mottagning av HTTP-begäran kommer Mataren att inhämta frågenumret som tidigare härleddes från URL:en i den motsvarande ICP- frågan. Alternativt används URL:en i HTTP-begäran åter- igen för att härleda fràgenumret. Mataren använder sedan frågenumret i en SQL-fråga av standardtyp riktad mot den centrala filservern. Som respons på detta kommer den cen- trala filservern 130 att överföra informationsfilen ifrå- ga till Mataren 110, vilken i sin tur överför informa- tionsfilen till den lokala servern 100 som utfärdade be- gäran efter filen.When communicating with the central file server 130, the Feeder 110 uses common SQL queries. Upon receipt of the HTTP request, the Feeder will retrieve the query number previously derived from the URL in the corresponding ICP query. Alternatively, the URL in the HTTP request is used again to derive the query number. The feeder then uses the query number in a standard SQL query directed to the central file server. In response to this, the central file server 130 will transmit the information file in question to the Feeder 110, which in turn transmits the information file to the local server 100 which issued the request for the file.

Om svaret från Mataren 110 till den lokala servern 100 indikerar en cache-miss, kommer den lokala servern att göra en HTTP-begäran till källservern (inte visad) för den begärda filen, cacha den därefter mottagna filen och överföra en kopia av filen till den användare (inte visad) som begärde den. 10 15 20 25 30 35 - avs « 18 Den av Mataren innefattande mikroprocessorn 120 an- vänds för att implementera exekveringen av ICP~protokol- let i Mataren 110. Mikroprocessorn implementerar också organen för mottagning av en HTTP-begäran från den lokala servern 100, såväl som organen för att skicka förfràg- ningar till den centrala filservern 130 med hjälp av SQL.If the response from the Feeder 110 to the local server 100 indicates a cache failure, the local server will make an HTTP request to the source server (not shown) of the requested file, cache the subsequently received file and transfer a copy of the file to the user (not shown) who requested it. The microprocessor 120 included by the Feeder is used to implement the execution of the ICP protocol in the Feeder 110. The microprocessor also implements the means for receiving an HTTP request from the local server 100. as well as the means for sending requests to the central file server 130 using SQL.

Arbetet som utförs av mikroprocessorn styrs av lämpliga programvarumoduler vilka är del av de ovannämnda organen.The work performed by the microprocessor is controlled by suitable software modules which are part of the above-mentioned means.

Implementeringen av dessa programvarumoduler är uppenbar för en fackman inom programmeringsomràdet som är bekant med protokollen ifråga.The implementation of these software modules is obvious to a person skilled in the art of programming who is familiar with the protocols in question.

En annan utföringsform av ett Internet-cachnings- system enligt uppfinningen beskrivs med hänvisning till Fig. 2. Systemet i Pig. 2 skiljer sig frän det som visats i Fig. 1 genom att Internet-cachningssystemet innefattar en Uppdaterare 240, d.v.s. uppdateringsorgan, som är an- slutet till den centrala filservern 230, Mataren 210 och, via Internet, till de lokala cache-servrarna 200. Fig. 2 visar således den uppfinningsenliga anordningen då denna inbegriper en Uppdaterare 240 såväl som en Mätare 210.Another embodiment of an Internet caching system according to the invention is described with reference to Fig. 2. The system in Figs. 2 differs from that shown in Fig. 1 in that the Internet caching system includes an Updateer 240, i.e. updating means, which is connected to the central file server 230, the Feeder 210 and, via the Internet, to the local cache servers 200. Fig. 2 thus shows the device according to the invention as it includes an Updator 240 as well as a Meter 210.

Förutom vad som beskrivs nedan med hänvisning till elementen i Fig. 2, arbetar och interagerar de element i Fig. 2 som har motsvarande element i Fig. 1 pà samma sätt som tidigare har beskrivits med hänvisning till Fig. 1.In addition to what is described below with reference to the elements in Fig. 2, the elements in Fig. 2 having corresponding elements in Fig. 1 operate and interact in the same manner as previously described with reference to Fig. 1.

Endast de särdrag hos dessa element som är relevanta för utföringsformen som visas i Fig. 2 kommer därför att be- skrivas nedan.Therefore, only the features of these elements that are relevant to the embodiment shown in Fig. 2 will be described below.

Uppdateraren 240 är ansvarig för att uppdatera lag- ringsmediet (inte visat) som är associerat med den cen- trala filservern 230 med nya cachade informationsfiler.The updater 240 is responsible for updating the storage medium (not shown) associated with the central file server 230 with new cached information files.

När den lokala servern 200 mottager en cache-miss i ett ICP-svar fràn Mataren 210, som respons på en tidigare ICP-fråga till densamma, gör den lokala servern 200 en HTTP-begäran efter filen hos dess källserver (inte vi- sad), pà samma sätt som beskrivits med hänvisning till Fig. 1. den lokala servern 200.When the local server 200 receives a cache miss in an ICP response from the Feeder 210, in response to a previous ICP query to the same, the local server 200 makes an HTTP request for the file at its source server (not shown) , in the same manner as described with reference to Fig. 1. the local server 200.

Den begärda filen mottages sedan och cachas av Efter en fördefinierad tid och r; IJ (1 1 n \ 515 fi' ,,« 'Ru ;) <.The requested file is then received and cached by After a predefined time and r; IJ (1 1 n \ 515 fi ',, «' Ru;) <.

I z 1 f ; 10 15 20 25 30 35 " I i *I 19 som en konsekvens av den rapporterade cache-missen i ICP- svaret, kommer Mataren 210 att instruera Uppdateraren 240 att uppdatera den centrala filservern.I z 1 f; 10 15 20 25 30 35 "I i * I 19 as a consequence of the reported cache failure in the ICP response, the Feeder 210 will instruct the Updator 240 to update the central file server.

Uppdateraren 240 mottager från Mataren 210 URL:en för den efterfrågade filen och identiteten för den lokala servern 200 som frågade efter filen. En HTTP-begäran ef- ter filen görs sedan från Uppdateraren till den specifika lokala servern. Vid mottagning av den begärda filen lag- rar Uppdateraren, d.v.s. cachar, filen hos den centrala filservern 230. När filen har lagrats instruerar Uppdate- raren Mataren att lägga till det fràgenummer som motsva- rar filen ifråga till den indexerade tabellen 215 som finns lagrad i RAM:et 216.The updater 240 receives from the Feeder 210 the URL of the requested file and the identity of the local server 200 that requested the file. An HTTP request for the file is then made from the Updater to the specific local server. Upon receipt of the requested file, the Updator stores, i.e. cache, the file of the central file server 230. Once the file has been stored, the Updator instructs the Feeder to add the query number corresponding to the file in question to the indexed table 215 stored in the RAM 216.

Organen för att begära informationsfilen från den lokala servern 200 och organen för att cacha den mottagna informationsfilen hos den centrala filservern 230 är en mikroprocessor 260 som tillsammans med lämpliga program- varumoduler är innefattad i Uppdateraren 240. Implemente- ringen av dessa programvarumoduler är uppenbar för en fackman inom programmeringsomràdet.The means for requesting the information file from the local server 200 and the means for caching the received information file from the central file server 230 is a microprocessor 260 which together with suitable software modules is included in the Updator 240. The implementation of these software modules is obvious for a professional in the field of programming.

Ett exempel pà arbetet som utförs av en lokal cache- server 200 i utföringsformen i Fig. 2 kommer nu att be- skrivas med hänvisning till flödesschemat i Fig. 3.An example of the work performed by a local cache server 200 in the embodiment of Fig. 2 will now be described with reference to the flow chart in Fig. 3.

I steg 300 mottager den lokala cache-servern 200 en begäran om en Internet-informationsfil frán en klient be- tjänad av den specifika lokala cache-servern, filbegäran kan emellertid också mottagas från Uppdateraren 240 som arbetar i enlighet med beskrivningen som hänvisar till Fig. 5. Den lokala cache-servern genomsöker sedan i steg 301 sina lokala, cachade filer efter den begärda filen.In step 300, the local cache server 200 receives a request for an Internet information file from a client served by the specific local cache server, however, the file request may also be received from the updater 240 operating in accordance with the description referring to Figs. 5. In step 301, the local cache server then scans its local cached files for the requested file.

Om den hittar filen, överförs filen till den klient som begärde den eller till Uppdateraren 240, sàsom indikeras med steg 302.If it finds the file, the file is transferred to the client that requested it or to the Update 240, as indicated by step 302.

Om den lokala cache-servern 200 inte hittar den be- gärda filen under sökningen, d.v.s. om den inte har ca- chat den begärda filen, undersöker den i steg 303 om be- gäran kom från Uppdateraren. Om detta villkor är sant, L! f I f.) 10 15 20 25 30 35 ~ 20 returneras ett meddelande till Uppdateraren i steg 304 som indikerar att den begärda filen inte är tillgänglig.If the local cache server 200 does not find the requested file during the search, i.e. if it does not chat the requested file, it examines in step 303 whether the request came from the Updator. If this condition is true, L! f I f.) 10 15 20 25 30 35 ~ 20 a message is returned to the Refresher in step 304 indicating that the requested file is not available.

Om det villkorliga steget 303 är falskt, d.v.s. om begä- ran kom fràn en klient, sänds en ICP-fråga i steg 305 till Mataren 210. I nästa steg 306 mottager den lokala cachen en ICP-fråga från Mataren 210 indikerande huruvida den centrala filservern 230 har den begärda filen cachad eller inte. I steg 307 utvärderas ICP-svaret. Om svaret indikerar en cache-miss, d.v.s. att den begärda filen inte fanns cachad centralt, gör den lokala cache-servern 200 en HTTP-begäran efter filen riktad mot källservern för filen. Om svaret à andra sidan indikerar en cache- träff, gör den lokala cachen en HTTP-begäran mot Mataren 210 efter filen, vilket indikeras med steg 309. I steg 310, mottager den lokala cache-servern den begärda nästa filen från Mataren. Slutligen, i steg 311, överförs filen till den klient som begärde filen.If the conditional step 303 is false, i.e. if the request came from a client, an ICP query is sent in step 305 to the Feeder 210. In the next step 306, the local cache receives an ICP query from the Feeder 210 indicating whether or not the central file server 230 has the requested file cached. In step 307, the ICP response is evaluated. If the answer indicates a cache miss, i.e. that the requested file was not centrally cached, the local cache server 200 makes an HTTP request for the file directed to the source of the file. If the response on the other hand indicates a cache hit, the local cache makes an HTTP request to the Feeder 210 after the file, which is indicated by step 309. In step 310, the local cache server receives the requested next file from the Feeder. Finally, in step 311, the file is transferred to the client who requested the file.

Det arbete som utförs av Mataren 200 i utföringsfor- men i Fig. 2 beskrivs nu med hänvisning till flödessche- mat i Fig. 4.The work performed by the Feeder 200 in the embodiment of Fig. 2 is now described with reference to the flow chart in Fig. 4.

I steg 400 mottager Mataren 210 en ICP-fråga gällan- de en Internet-informationsfil från någon av de lokala cache-servrarna 200 som hanteras av Mataren. Frågan inne- fattar URL:en för den efterfrågade informationsfilen. Ut- ifrån denna URL härleder Mataren 210 i steg 401 ett frå- genummer med hjälp av en MD5-hashalgoritm, vilket fråge- nummer används i steg 402 vid genomsökning av en indexe- rad MD5-hashtabell som är resident i minnet 216 hos Mata- ren 210.In step 400, the Feeder 210 receives an ICP query regarding an Internet information file from one of the local cache servers 200 managed by the Feeder. The query includes the URL of the requested information file. From this URL, in step 401, the Feeder 210 derives a query number using an MD5 hash algorithm, which query number is used in step 402 to scan an indexed MD5 hash table resident in the memory 216 of the Feeder. ren 210.

Om numret inte hittas under sökningen i hashtabellen sänder Mataren i steg 403 ett ICP-svar indikerande en ca- che-miss tillbaka till den lokala cache-server 200 från vilken ICP-frågan mottogs. I steg 404 beordrar sedan Ma- taren 210 Uppdateraren 240 att inhämta den icke-cachade, efterfrågade filen genom att vidarebefordra URL:en för den efterfrågade filen till Uppdateraren. I steg 405 läg- ger Mataren 210 till frågenumret som motsvarar den efter- lO 15 20 25 30 35 ' 145' .LÄS 2.6.. .- 21 frågade filen i den indexerade hashtabellen 215. Detta görs som respons på att Uppdateraren 240 indikerar för Mataren att den efterfrågade filen har överförts fràn den lokala servern 200 och att den lagrats i den centrala filservern 230. Arbetssåttet för Uppdateraren 240 kommer att ytterligare beskrivas med hänvisning till Fig. 5.If the number is not found during the search in the hash table, in step 403 the Feeder sends an ICP response indicating a cache miss to the local cache server 200 from which the ICP query was received. In step 404, the Mater 210 then instructs the Updator 240 to retrieve the uncached, requested file by forwarding the URL of the requested file to the Updator. In step 405, the Feeder 210 adds the query number corresponding to the requested file in the indexed hash table 215. The feeder that the requested file has been transferred from the local server 200 and that it is stored in the central file server 230. The operation of the Updator 240 will be further described with reference to Fig. 5.

Om Mataren 210 i det villkorliga steget 402 hittar frågenumret under genomsökningen av hashtabellen 215, kommer den att i steg 406 sända ett ICP-svar indikerande en cache-träff tillbaka till den lokala cache-servern 200 från vilken ICP-frågan mottogs. I steg 407 mottager sedan Mataren en HTTP-begäran från den lokala cache-servern 200 som tidigare utfärdade ICP-frågan. I likhet med ICP-frå- gan innefattar HTTP-begäran URL:en för den efterfrågade informationsfilen. I steg 408 inhämtar Mataren 210 det tidigare härledda frågenumret som motsvarar filen. Med detta frågenummer frågar Mataren i steg 409 den centrala filservern 230 efter den begärda informationsfilen med hjälp av en SQL-fråga av standardtyp. I steg 410 mottager Mataren som respons den cachade informationsfilen från den centrala filservern 230, och i nästa steg 411 över- förs den begärda, cachade Internet-informationsfilen från Mataren 210 till den lokala cache-servern 200 som begärde filen.If the feeder 210 in the conditional step 402 finds the query number during the scan of the hash table 215, it will in step 406 send an ICP response indicating a cache hit back to the local cache server 200 from which the ICP query was received. In step 407, the Feeder then receives an HTTP request from the local cache server 200 that previously issued the ICP query. Like the ICP query, the HTTP request includes the URL of the requested information file. In step 408, the Feeder 210 obtains the previously derived query number corresponding to the file. With this query number, in step 409, the Feeder queries the central file server 230 for the requested information file using a standard SQL query. In step 410, the Feeder receives in response the cached information file from the central file server 230, and in the next step 411, the requested, cached Internet information file is transferred from the Feeder 210 to the local cache server 200 which requested the file.

Arbetet som utförs av Uppdateraren 240 i utförings- formen i Fig. 2 beskrivs nu med hänvisning till flödes- schemat i Fig. 5.The work performed by the Updator 240 in the embodiment of Fig. 2 is now described with reference to the flow chart in Fig. 5.

I steg 500 mottager Uppdateraren 240 en order från Mataren 210 som indikerar att en specifik fil skall begå- ras. Filen ifråga begärdes tidigare av den lokala cache- servern 200, men Mataren upptäckte att den centrala ca- che-servern 230 inte hade cachat filen. Ordern innefattar URL:en för filen, såväl som adressen för den lokala ca- che-server 200 som begärde filen från den centrala cachen 230. Uppdateraren kommer sedan i steg 501 att kontrollera den begärda filen i ordern mot en lista av kända filer som inte är cachningsbara. Om listan innehåller den be- P}2@tC-SL~1fi :10&;á:c ~ ~mü1-:s 11:12 s=\Pa:\xmn\ans\z§ß%@s5m saw: 10 15 20 25 30 35 ' * ¿ 11 22 gärda filen kommer ordern att ignoreras. Om listan inte innehåller den begärda filen läggs ordern i ett vänteläge av Uppdateraren 240 så att den lokala cache-servern 200 får tid på sig att inhämta filen fràn dess källserver.In step 500, the Updator 240 receives an order from the Feeder 210 indicating that a specific file is to be requested. The file in question was previously requested by the local cache server 200, but the Feeder discovered that the central cache server 230 had not cached the file. The order includes the URL of the file, as well as the address of the local cache server 200 that requested the file from the central cache 230. In step 501, the updater will then check the requested file in the order against a list of known files that are not are cacheable. If the list contains the be- P} 2 @ tC-SL ~ 1 fi: 10 &; á: c ~ ~ mü1-: s 11:12 s = \ Pa: \ xmn \ ans \ z§ß% @ s5m saw: 10 15 20 25 30 35 '* ¿11 22 fence file, the order will be ignored. If the list does not contain the requested file, the order is placed on hold by the Updator 240 so that the local cache server 200 has time to retrieve the file from its source server.

Vid en tidpunkt som är lämplig för den centrala fil- servern 230, d.v.s. vid en tid dä belastningen pä den centrala servern är relativt låg, sänder den centrala servern ett meddelande till Uppdateraren 240 som talar om att en väntande order skall exekveras, om sàdan finns, mottagningen av detta meddelande av Uppdateraren 240 in- dikeras med steg 502. I nästa steg 503 startar exekve- ringen av ordern med att Uppdateraren begär en kopia av filen, som nu har inhämtats och cachats lokalt, fràn den lokala cache-servern 200 från vilken begäran efter filen härrörde. En kopia av filen mottages sedan från den loka- la cache-servern i steg 504. I steg 505 överförs den mot- tagna filkopian till den centrala filservern 230 för att cachas av densamma. I det sista steget 506 instruerar Uppdateraren 240 Mataren 210 att lägga till fràgenumret som motsvarar filen som cachats hos den centrala filser- vern 230 i den indexerade hashtabellen 215.At a time suitable for the central file server 230, i.e. at a time when the load on the central server is relatively low, the central server sends a message to the Updator 240 stating that a pending order should be executed, if any, the reception of this message by the Updator 240 is indicated by step 502. In the next step 503, the execution of the order starts with the Updator requesting a copy of the file, which has now been retrieved and cached locally, from the local cache server 200 from which the request for the file originated. A copy of the file is then received from the local cache server in step 504. In step 505, the received file copy is transferred to the central file server 230 to be cached by it. In the last step 506, the Updator 240 instructs the Feeder 210 to add the query number corresponding to the file cached by the central file server 230 in the indexed hash table 215.

Arbetssättet för den centrala filservern 230 är rättframt. Den gör huvudsakligen två saker, svarar pà SQL-frågor från Matarna 210 med att överföra cachade fi- ler till dem och lagrar nya informationsfiler i sin ca- che, vilka filer överförs till den från Uppdateraren 240.The operation of the central file server 230 is straightforward. It mainly does two things, answers SQL queries from the Feeders 210 by transferring cached files to them and stores new information files in its cache, which files are transferred to it from the Updator 240.

En annan exemplifierande utföringsform av ett Inter- net-cachningssystem enligt föreliggande uppfinning be- I Fig. sig systemet frän det som visats i Fig. 2 genom att sy- skrivs nu med hänvisning till Fig. 6. 6 skiljer stemet har fler än en central filserver, vilket här ex- emplifieras med tre centrala cache-servar 630. Fig. 6 in- nefattar ocksà tvâ Matare 610, vilka var och en är an- slutna till sina egna uppsättningar av lokala cache- servar 600. Matarna 610 och Uppdateraren 640 är anordnade tillsammans med de centrala filservarna 630 vid en cen- tral cache-plats 690. Med hjälp av ett Ethernet-nätverk lO 15 20 25 30 * :we 23 680 anordnat inom den centrala cache-platsen är Uppdate- raren 640 och varje Matare 610 anslutna till alla centra- la filservrar 630.Another exemplary embodiment of an Internet caching system according to the present invention is shown in Fig. 2. The system differs from that shown in Fig. file server, which is exemplified here by three central cache servers 630. Fig. 6 also includes two Feeders 610, each of which is connected to its own sets of local cache servers 600. The feeders 610 and the Updator 640 are arranged together with the central file servers 630 at a central cache location 690. By means of an Ethernet network 10 15 20 25 30 *: we 23 680 arranged within the central cache location, the Updator 640 and each Feeder are 610 connected to all central file servers 630.

Det ytterligare antalet centrala filservrar i denna utföringsform gör det möjligt att cacha flera filer och att besvara flera SQL-frågor hos de centrala filservrarna i jämförelse med utföringsformen i Fig. 2. Eftersom sys- temet är fullständigt skalbart kan i teorin valfritt an- tal Matare, Uppdaterare eller centrala filservrar adderas till systemet.The additional number of central file servers in this embodiment makes it possible to cache several files and to answer several SQL queries on the central file servers in comparison with the embodiment in Fig. 2. Since the system is completely scalable, in theory any number of Feeders can , Updates or central file servers are added to the system.

Den huvudsakligen skillnaden pà arbetssättet för sy- stemet i Fig. 6 jämfört med det för systemet i Fig. 2 är att en Matare 610 mäste välja en server, bland ett fler- tal centrala filservar 630, till vilken en SQL-fråga skall riktas. Varje central filserver 630 cachar informa- tionsfiler med källservernamn inom ett fördefinierat om- råde. Valet av en av de centrala filservrarna görs därför i enlighet med servernamnet inkluderat i URL:en som mott- ogs fràn den lokala servern, antingen som del av en ICP- fràga eller som del av en HTTP-begäran. När en av de cen- riktas SQL- frågan med det härledda fràgenumret till denna valda fil- trala filservrarna har valts av Mataren, server.The main difference in the operation of the system in Fig. 6 compared to that of the system in Fig. 2 is that a Feeder 610 must select a server, from a plurality of central file servers 630, to which an SQL query is to be directed. Each central file server 630 caches information files with source server names within a predefined area. The selection of one of the central file servers is therefore made in accordance with the server name included in the URL received from the local server, either as part of an ICP query or as part of an HTTP request. When one of the centered SQL queries with the derived query number of this selected filtering file server has been selected by the Feeder, server.

Det inses att konstruktionen och funktionen av de element som beskrivits med hänvisning till ritningarna kommer att vara uppenbara för fackmannen. Även om uppfinningen har beskrivits med hänvisning till specifika exemplifierande utföringsformer, kommer många olika förändringar, modifieringar och liknande att vara uppenbara för fackmannen. De beskrivna utföringsfor- merna är således inte avsedda att begränsa skyddsomfànget för uppfinningen, sàsom det definieras av de bifogade pa- tentkraven.It will be appreciated that the construction and operation of the elements described with reference to the drawings will be apparent to those skilled in the art. Although the invention has been described with reference to specific exemplary embodiments, many different changes, modifications and the like will be apparent to those skilled in the art. The described embodiments are thus not intended to limit the scope of protection of the invention, as defined by the appended claims.

I 1 lf) l ) f n 1 fr» l i x I II 1 lf) l) f n 1 fr »l i x I I

Claims (46)

10 '15 20 25 30 35 - z 7st 24 PATENTKRAV10 '15 20 25 30 35 - z 7st 24 PATENTKRAV 1. Förfarande för att betjäna begäranden om Inter- net-informationsfiler i ett Internet-cachningssystem, in- nefattande stegen: att mottaga, hos en lokal Internet-cache-server, en användarbegäran från en användare om en Internet- informationsfil; att, fråga efter nämnda informationsfil, om nämnda informa- som respons på den mottagna begäran, skicka en tionsfil inte har cachats av nämnda lokala server; att, som respons på ett svar på nämnda fråga, göra en filbegäran efter nämnda informationsfil, varvid nämnda filbegäran riktas mot ett matningsorgan om nämnda svar indikerar att en central filserver, som lagrar cachade Internet-informationsfiler, har cachat nämnda informa- tionsfil; och att fråga, från nämnda matningsorgan som respons pà nämnda filbegäran, nämnda centrala filserver efter nämnda informationsfil, för att därmed minska belastningen på nämnda centra- la filserver.A method for serving Internet information file requests in an Internet caching system, comprising the steps of: receiving, at a local Internet cache server, a user request from a user for an Internet information file; requesting said information file, if said information in response to the received request, sending an information file has not been cached by said local server; in response to said question, making a file request for said information file, said file request being directed to a feed means if said answer indicates that a central file server storing cached Internet information files has cached said information file; and requesting, from said feed means in response to said file request, said central file server after said information file, thereby reducing the load on said central file server. 2. Förfarandet enligt krav 1, varvid nämnda fråga utförs av nämnda lokala cache-server i enlighet med ett protokoll som används för kommunikation mellan Internet- cache-servrar.The method of claim 1, wherein said query is performed by said local cache server in accordance with a protocol used for communication between Internet cache servers. 3. Förfarandet enligt krav 2, varvid nämnda proto- koll är ICP-protokollet (Internet Cache Protocol).The method of claim 2, wherein said protocol is the Internet Cache Protocol (ICP). 4. Förfarandet enligt krav 2, varvid nämnda proto- koll är Cache Digest-protokollet.The method of claim 2, wherein said protocol is the Cache Digest protocol. 5. Förfarandet enligt något av kraven 1-3, varvid nämnda fråga riktas av nämnda lokala cache-server mot nämnda matarorgan, vilket matarorgan som respons returne- rar nämnda svar.The method of any of claims 1-3, wherein said query is directed by said local cache server to said feeder means, which feeder means in response returns said response. 6. Förfarandet enligt krav 5, innefattande steget att härleda, vid nämnda matarorgan, ett frågenummer som I) f» r 10 15 20 25 30 35 ~1-4::f 37 6. 25 motsvarar nämnda informationsfil som berörs av nämnda fråga.The method according to claim 5, comprising the step of deriving, at said feed means, a query number which I) for 10 15 20 25 30 35 ~ 1-4 :: f 37 6. corresponds to said information file affected by said question. 7. Förfarandet enligt krav 6, varvid nämnda fråge- steg innefattar att använda det härledda frägenumret när förfrågan görs hos nämnda centrala filserver efter nämnda informationsfil.The method of claim 6, wherein said querying step comprises using the derived query number when querying said central file server for said information file. 8. Förfarandet enligt krav 6, varvid nämnda fråga tillhandahåller en alfanumerisk sträng som är associerad med nämnda informationsfil, vilken sträng används i nämn- da steg att härleda nämnda frägenummer.The method of claim 6, wherein said query provides an alphanumeric string associated with said information file, which string is used in said step of deriving said query number. 9. Förfarandet enligt krav 8, varvid nämnda alfanu- meriska sträng är en URL (Uniform Resource Locator) och nämnda frägenummer härleds från nämnda URL och från åt- minstone en del av ett startinformationsfält i nämnda fråga.The method of claim 8, wherein said alphanumeric string is a URL (Uniform Resource Locator) and said query number is derived from said URL and from at least a portion of a start information field in said query. 10. Förfarandet enligt något av kraven 1, 2 eller 4, varvid nämnda filbegäran tillhandahåller en alfanumerisk sträng som är associerad med nämnda informationsfil, vil- ken sträng används av nämnda matarorgan för att härleda ett frägenummer som motsvarar nämnda informationsfil.The method of any of claims 1, 2 or 4, wherein said file request provides an alphanumeric string associated with said information file, which string is used by said feeder means to derive a query number corresponding to said information file. 11. ll. Förfarandet enligt krav 10, varvid nämnda alfa- numeriska sträng är en URL (Uniform Resource Locator) och nämnda frägenummer härleds frän nämnda URL och från ät- minstone en del av ett startinformationsfält i nämnda filbegäran.11. ll. The method of claim 10, wherein said alphanumeric string is a URL (Uniform Resource Locator) and said query number is derived from said URL and from at least a portion of a start information field in said file request. 12. Förfarandet enligt något av de tidigare kraven, innefattande steget att skapa en indexerad tabell som har en ingång för varje Internet-informationsfil som cachas hos nämnda centrala filserver.The method of any of the preceding claims, comprising the step of creating an indexed table having an entry for each Internet information file cached by said central file server. 13. Förfarandet enligt krav 12, innefattande stegen: att utföra en sökning i nämnda indexerade tabell ef- ter nämnda informationsfil; och att ange i nämnda svar till nämnda fråga om nämnda informationsfil hittades under nämnda sökning eller inte.The method of claim 12, comprising the steps of: performing a search in said indexed table for said information file; and to indicate in said answer to said question whether said information file was found during said search or not. 14. Förfarandet enligt något av de tidigare kraven, varvid nämnda frågesteg innefattar användandet av SQL 10 15 20 25 30 35 - i i 2,37 5, 26 (Structured Query Language) vid förfrågan hos nämnda cen- trala filserver efter nämnda informationsfil.The method according to any of the preceding claims, wherein said querying step comprises the use of SQL 10 15 20 25 30 35 - i i 2.37 5, 26 (Structured Query Language) when querying said central file server for said information file. 15. Förfarandet enligt nàgot av de tidigare kraven, varvid nämnda fràgesteg innefattar stegen: att välja, baserat pä ett källservernamn eller IP- adress för nämnda informationsfil, en central filserver bland en uppsättning av centrala filservrar, varvid varje server i nämnda uppsättning är anordnad att cacha Inter- net-informationsfiler med källservernamn eller IP- adresser inom ett fördefinierat område; och att fråga den utvalda, centrala filservern efter nämnda informationsfil.The method of any of the preceding claims, wherein said querying step comprises the steps of: selecting, based on a source server name or IP address of said information file, a central file server from a set of central file servers, each server in said set being arranged to cache Internet information files with source server names or IP addresses within a predefined area; and querying the selected central file server for said information file. 16. Förfarandet enligt nàgot av kraven 6-14, varvid nämnda fràgesteg innefattar stegen: att välja, baserat på nämnda frågenummer härlett för nämnda informationsfil, en central filserver bland en uppsättning av centrala filservrar, varvid varje server i nämnda uppsättning är anordnad att cacha Internet-infor- mationsfiler med motsvarande frågenummer inom ett förde- finierat omrâde; och att fràga den utvalda, centrala filservern efter nämnda informationsfil.The method of any of claims 6-14, wherein said querying step comprises the steps of: selecting, based on said query number derived for said information file, a central file server from a set of central file servers, each server in said set being arranged to cache the Internet -information files with corresponding query numbers within a predefined area; and interrogating the selected central file server after said information file. 17. Förfarandet enligt nàgot av kraven 1-16, inne- fattande de ytterligare stegen: att inhämta, vid nämnda lokala cache-server, nämnda informationsfil från dess källserver om nämnda svar på nämnda fråga anger att nämnda informationsfil inte finns cachad hos nämnda centrala filserver; att cacha nämnda informationsfil hos nämnda lokala cache-server; och att uppdatera nämnda centrala filserver genom begä- ran av en kopia av nämnda informationsfil från nämnda lo- kala cache-server och cachning av nämnda kopia hos nämnda centrala filserver.The method of any of claims 1-16, comprising the further steps of: retrieving, at said local cache server, said information file from its source server if said answer to said question indicates that said information file is not cached at said central file server ; caching said information file at said local cache server; and updating said central file server by requesting a copy of said information file from said local cache server and caching said copy of said central file server. 18. Anordning i ett Internet-cachningssystem, vilket system innefattar åtminstone en lokal cache-server och åtminstone en central filserver, vilka båda servrar lag- f 1 09 4 \ < x i t x 10 15 20 25 30 35 * ïikili-l%:5tl1;4:íf~ï t;I.76 27 rar cachade Internet-informationsfiler, vilken anordning, för att minska belastningen på nämnda centrala filserver, innefattar en Matare som kommunicerar med nämnda lokala cache-server och med nämnda centrala filserver, varvid nämnda Matare innefattar: första organ för mottagning av en begäran om en In- ternet-informationsfil fràn nämnda lokala cache-server; andra organ för härledning av en fråga utifrân en alfanumerisk sträng mottagen från nämnda lokala cache- server; och tredje organ anordnat att fråga nämnda centrala fil- server efter nämnda Internet-informationsfil med hjälp av nämnda fråga härledd av nämnda andra organ.An apparatus in an Internet caching system, the system comprising at least one local cache server and at least one central file server, both of which are located at 1% I.76 27 cached Internet information files, which means, for reducing the load on said central file server, comprises a feeder communicating with said local cache server and with said central file server, said feeder comprising : first means for receiving a request for an Internet information file from said local cache server; other means for deriving a query from an alphanumeric string received from said local cache server; and third means arranged to query said central file server for said Internet information file by means of said query derived by said second means. 19. Anordningen enligt krav 18, varvid nämnda första organ är anordnat att arbeta i enlighet med ett lager-3- Internetprotokoll.The device of claim 18, wherein said first means is arranged to operate in accordance with a layer-3 Internet protocol. 20. Anordningen enligt krav 18 eller 19, varvid nämnda tredje organ är anordnat att använda SQL (Structu- red Query Language) vid förfrägan efter nämnda Internet- informationsfil.The device according to claim 18 or 19, wherein said third means is arranged to use SQL (Structured Query Language) when requesting said Internet information file. 21. Anordningen enligt nàgot av kraven 18-20, varvid nämnda alfanumeriska sträng är innefattad i nämnda begä- ran mottagen fràn nämnda lokala cache-server.The apparatus of any of claims 18-20, wherein said alphanumeric string is included in said request received from said local cache server. 22. Anordningen enligt krav 21, varvid nämnda fråga är härledd frän nämnda alfanumeriska sträng och fràn ät- minstone en del av ett startinformationsfält i nämnda be- gäran mottagen från nämnda lokala cache-server.The apparatus of claim 21, wherein said query is derived from said alphanumeric string and from at least a portion of a start information field in said request received from said local cache server. 23. Anordningen enligt krav 22, varvid nämnda fråga innefattar ett frågenummer, vilket fràgenummer härletts genom applicerande av en hashalgoritm på nämnda sträng och på nämnda del av nämnda startinformationsfält.The apparatus of claim 22, wherein said query comprises a query number, which query number is derived by applying a hash algorithm to said string and to said portion of said start information field. 24. Anordningen enligt något av kraven 18-20, varvid nämnda Matare innefattar: fjärde organ för mottagning av en fråga efter en In- ternet-informationsfil fràn nämnda lokala cache-server; och lO 15 20 25 30 35 28 femte organ för tillhandahållande av ett svar till nämnda lokala cache-server på den mottagna frågan.The apparatus of any of claims 18-20, wherein said Feeder comprises: fourth means for receiving a request for an Internet information file from said local cache server; and a fifth means for providing a response to said local cache server to the received query. 25. Anordningen enligt krav 24, varvid nämnda fjärde organ och nämnda femte organ är anordnade att arbeta i enlighet med ett protokoll som används för kommunikation mellan Internet-cache-servrar.The apparatus of claim 24, wherein said fourth means and said fifth means are arranged to operate in accordance with a protocol used for communication between Internet cache servers. 26. Anordningen enligt krav 25, varvid nämnda proto- koll är ICP-protokolletThe device of claim 25, wherein said protocol is the ICP protocol 27. Anordningen enligt något av kraven 24-26, varvid (Internet Cache Protocol). nämnda alfanumeriska sträng är innefattad i nämnda fråga mottagen från nämnda lokala cache-server.The device of any of claims 24-26, wherein (Internet Cache Protocol). said alphanumeric string is included in said query received from said local cache server. 28. Anordningen enligt krav 27, varvid nämnda fråga härledd av nämnda andra organ är härledd från nämnda al- fanumeriska sträng och från åtminstone en del av ett startinformationsfält i nämnda fråga mottagen från nämnda lokala cache-server.The apparatus of claim 27, wherein said query derived from said second means is derived from said alphanumeric string and from at least a portion of a start information field in said query received from said local cache server. 29. Anordningen enligt krav 28, varvid nämnda fråga innefattar ett frågenummer, vilket frågenummer är härlett genom applicerande av en hashalgoritm på nämnda sträng och på nämnda del av nämnda startinformationsfält.The apparatus of claim 28, wherein said query comprises a query number, which query number is derived by applying a hash algorithm to said string and to said portion of said start information field. 30. Anordningen enligt något av kraven 24-29, varvid nämnda Matare innefattar en tabell med en kopia av ett fullständigt index över alla Internet-informationsfiler cachade hos nämnda centrala filserver.The apparatus of any of claims 24-29, wherein said Feeder comprises a table with a copy of a complete index of all Internet information files cached by said central file server. 31. Anordningen enligt krav 30, varvid nämnda svar på nämnda mottagna fråga av nämnda femte organ är baserat på innehållet i nämnda tabell.The apparatus of claim 30, wherein said answer to said received question by said fifth body is based on the contents of said table. 32. Anordningen enligt något av kraven 18-31, varvid nämnda anordning, för att ytterligare minska belastningen på nämnda centrala filserver, innefattar en Uppdaterare som kommunicerar med nämnda lokala cache-server och med nämnda centrala filserver, varvid nämnda Uppdaterare in- nefattar: begäranorgan för begäran av en kopia av en Internet- informationsfil lagrad hos en lokal cache-server; och lagringsorgan för lagring av den därvid mottagna ko- pian i en central filserver. 10 15 20 25 30 35 29The apparatus of any of claims 18-31, wherein said apparatus, to further reduce the load on said central file server, comprises an updater communicating with said local cache server and with said central file server, said updater comprising: requesting means for requesting a copy of an Internet information file stored at a local cache server; and storage means for storing the copy received therein in a central file server. 10 15 20 25 30 35 29 33. Anordningen enligt krav 32, varvid nämnda begä- ranorgan är anordnade att begära en kopia av en informa- tionsfil fràn dess källserver, om en lokal cache-server som lagrar nämnda informationsfil àterfinns bakom en brandvägg.The apparatus of claim 32, wherein said requesting means is arranged to request a copy of an information file from its source server, if a local cache server storing said information file is located behind a firewall. 34. Anordningen enligt krav 32 eller 33, varvid nämnda Uppdaterare är anordnad att kommunicera med nämnda Mätare för mottagning av en order att begära nämnda kopia av nämnda informationsfil.The apparatus of claim 32 or 33, wherein said Updator is arranged to communicate with said Meter to receive an order to request said copy of said information file. 35. Anordningen enligt något av kraven 32-34, varvid nämnda Uppdaterare innefattar en lista pà kända informa- tionsfiler som inte kan cachas och för vilka filer en ko- pia inte skall begäras.The apparatus of any of claims 32-34, wherein said Updator comprises a list of known information files that cannot be cached and for which files a copy should not be requested. 36. Anordningen enligt nägot av kraven 16-35, varvid nämnda Matare är implementerad av en dator av enklare typ och nämnda centrala filserver är implementerad av en da- tor av en mer komplex typ.The apparatus of any of claims 16-35, wherein said feeder is implemented by a simpler type computer and said central file server is implemented by a more complex type computer. 37. Anordningen enligt nàgot av kraven 32-35, varvid nämnda Uppdaterare är implementerad av en dator av enkla- re typ och nämnda centrala filserver är implementerad av en dator av mer komplex typ.The apparatus of any of claims 32-35, wherein said updater is implemented by a simpler type computer and said central file server is implemented by a more complex type computer. 38. Anordningen enligt krav 37, varvid nämnda Uppda- terare och åtminstone en Matare är implementerade av en enda dator av enklare typ.The device of claim 37, wherein said updater and at least one feeder are implemented by a single simpler type computer. 39. Internet-cachningssystem, innefattande: en uppsättning lokala Internet-cache-servrar, varvid varje lokal cache-server är anordnad att från användare mottaga begäranden om Internet-informationsfiler; åtminstone en central filserver innefattad av en central cache-plats och anordnad att lagra cachade Inter- net-informationsfiler; och matarorgan sammankopplande nämnda uppsättning av lo- kala cache-servrar med nämnda centrala filserver, varvid nämnda matarorgan innefattar åtminstone en Mätare, vilken Matare innefattar organ för kommunikation med åtminstone en lokal cache-server i enlighet med ett protokoll som används vid kommunikation mellan Internet-cache-servrar 10 15 20 25 30 - i ; i 30 och organ för inhämtning av Internet-informationsfiler från nämnda centrala filserver med hjälp av databasfrå- gor, varigenom belastningen på nämnda centrala filserver minskar.An Internet caching system, comprising: a set of local Internet cache servers, each local cache server being arranged to receive requests from Internet information files from users; at least one central file server comprised of a central cache location and arranged to store cached Internet information files; and feeder means interconnecting said set of local cache servers with said central file server, said feeder means comprising at least one Meter, which Feeder comprises means for communicating with at least one local cache server according to a protocol used in communication between Internet cache servers 10 15 20 25 30 - i; and means for retrieving Internet information files from said central file server by means of database queries, thereby reducing the load on said central file server. 40. Systemet enligt krav 39, varvid nämnda mataror- gan är innefattade i nämnda centrala cache-plats.The system of claim 39, wherein said feeding means are included in said central cache location. 41. Systemet enligt krav 39 eller 40, varvid var och en av nämnda matarorgan innefattar ett flertal Matare, varvid var och en av nämnda Matare sammankopplar en del- mängd av nämnda uppsättning av lokala cache-servrar med nämnda centrala filserver.The system of claim 39 or 40, wherein each of said feeder means comprises a plurality of Feeders, each of said Feeders interconnecting a subset of said set of local cache servers with said central file server. 42. Systemet enligt något av kraven 39-41, varvid nämnda centrala cache-plats är anordnad att betjäna en definierad uppsättning av lokala cache-servrar, vilken uppsättning i sin tur betjänar en lingvistiskt och kultu- rellt homogen användargrupp.The system of any of claims 39-41, wherein said central cache site is arranged to serve a defined set of local cache servers, which set in turn serves a linguistically and culturally homogeneous user group. 43. Systemet enligt något av kraven 39-42, varvid nämnda protokoll antingen är ICP-protokollet (Internet Cache Protocol) eller Cache Digest-protokollet.The system of any of claims 39-42, wherein said protocol is either the Internet Cache Protocol (ICP) or the Cache Digest protocol. 44. Systemet enligt något av kraven 39-43, varvid var och en av nämnda Matare innefattar en tabell med en kopia av det fullständiga indexet av alla informationsfi- ler som år cachade pà nämnda centrala cache-plats.The system of any of claims 39-43, wherein each of said Feeders comprises a table with a copy of the complete index of all information files cached at said central cache location. 45. Systemet enligt något av kraven 39-44, varvid nämnda centrala filserver innefattar cachade Internet- informationsfiler som har källservernamn inom ett förde- finierat område.The system of any of claims 39-44, wherein said central file server comprises cached Internet information files having source server names within a predefined area. 46. Systemet enligt något av kraven 39-45, ytterli- gare innefattande uppdateringsorgan, vilka sammankopplar nämnda centrala filserver med åtminstone en lokal cache- server i nämnda uppsättning, för inhämtning av en kopia av en Internet-informationsfil fràn dess kållserver eller från nämnda åtminstone en lokal cache-server och för lag- ring av nämnda kopia hos nämnda centrala filserver. fj» I? z ; I , \ 1/ \ l x 1 x r 1The system of any of claims 39-45, further comprising updating means, interconnecting said central file server with at least one local cache server in said set, for retrieving a copy of an Internet information file from its source server or from said at least a local cache server and for storing said copy of said central file server. fj »I? z; I, \ 1 / \ l x 1 x r 1
SE9803246A 1998-09-24 1998-09-24 An internet caching system as well as a procedure and device in such a system SE514376C2 (en)

Priority Applications (28)

Application Number Priority Date Filing Date Title
SE9803246A SE514376C2 (en) 1998-09-24 1998-09-24 An internet caching system as well as a procedure and device in such a system
BR9906468-5A BR9906468A (en) 1998-09-24 1999-09-22 Auxiliary storage system for internet, medium and device of this system
EP99951464A EP1040425A4 (en) 1998-09-24 1999-09-22 An internet caching system and a method and an arrangement in such a system
IL13628199A IL136281A0 (en) 1998-09-24 1999-09-22 Internet caching system and a method and an arrangement in such a system
TW088116264A TW437205B (en) 1998-09-24 1999-09-22 An internet caching system and a method and an arrangement in such a system
PL99340807A PL340807A1 (en) 1998-09-24 1999-09-22 Method of and system for buffering files as well as configuration of said system
KR1020007005659A KR20010032419A (en) 1998-09-24 1999-09-22 An internet caching system and a method and an arrangement in such a system
TR2000/01474T TR200001474T1 (en) 1998-09-24 1999-09-22 An internet information storage system and method and regulation in such a system.
CA002310603A CA2310603A1 (en) 1998-09-24 1999-09-22 An internet caching system and a method and an arrangement in such a system
DE1040425T DE1040425T1 (en) 1998-09-24 1999-09-22 AN INTERNETCACHE SYSTEM AND A METHOD AND ARRANGEMENT IN SUCH A SYSTEM
RU2000112850/09A RU2000112850A (en) 1998-09-24 1999-09-22 INTERNET CACHING SYSTEM, METHOD AND DEVICE IN THIS SYSTEM
ARP990104770A AR025806A1 (en) 1998-09-24 1999-09-22 A CACHE SYSTEM FOR INTERNET AND A METHOD AND A PROVISION IN SUCH SYSTEM
PCT/US1999/021248 WO2000017765A1 (en) 1998-09-24 1999-09-22 An internet caching system and a method and an arrangement in such a system
ES99951464T ES2152204T1 (en) 1998-09-24 1999-09-22 A STORAGE SYSTEM IN INTERNET CACHE MEMORY AND A METHOD AND A PROVISION FOR SUCH SYSTEM.
IDW20000988A ID27668A (en) 1998-09-24 1999-09-22 INTERNET CACHE SYSTEM AND AN METHOD AND SETTINGS IN THE SYSTEM
AU63899/99A AU6389999A (en) 1998-09-24 1999-09-22 An internet caching system and a method and an arrangement in such a system
HU0004164A HUP0004164A2 (en) 1998-09-24 1999-09-22 An internet caching system and a method and an arrangement in such a system
CN99801667A CN1286774A (en) 1998-09-24 1999-09-22 Internet cashing system and method and arrangement in such system
JP2000571355A JP2002525749A (en) 1998-09-24 1999-09-22 Internet caching system, method and system configuration
ZA9906124A ZA996124B (en) 1998-09-24 1999-09-23 An internet caching system and a method and an arrangement in such a system.
PA19998482301A PA8482301A1 (en) 1998-09-24 1999-09-23 AN INTERNET RESERVE SYSTEM AND A METHOD AND A PROVISION IN THIS SYSTEM.
PE1999000968A PE20001191A1 (en) 1998-09-24 1999-09-23 CACHE SYSTEM FOR THE INTERNET AND A METHOD AND AN ARRANGEMENT IN SUCH SYSTEM
SA99200851A SA99200851A (en) 1998-09-24 1999-12-27 An internet cashing system and a method and an arrangement in such a system
IS5494A IS5494A (en) 1998-09-24 2000-05-12 Internet cache system and method and equipment in such a system
NO20002614A NO20002614L (en) 1998-09-24 2000-05-22 Internet fast storage system and method and arrangement of such a system
LT2000043A LT4797B (en) 1998-09-24 2000-05-22 An internet caching system and a method and an arrangement in such a sysytem
LVP-00-69A LV12597B (en) 1998-09-24 2000-05-23 An internet caching system and a method and an arrangement in such a system
GR20010300011T GR20010300011T1 (en) 1998-09-24 2001-04-30 An internet caching system and a method and an arrangement in such a system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE9803246A SE514376C2 (en) 1998-09-24 1998-09-24 An internet caching system as well as a procedure and device in such a system

Publications (3)

Publication Number Publication Date
SE9803246D0 SE9803246D0 (en) 1998-09-24
SE9803246L SE9803246L (en) 2000-03-25
SE514376C2 true SE514376C2 (en) 2001-02-19

Family

ID=20412708

Family Applications (1)

Application Number Title Priority Date Filing Date
SE9803246A SE514376C2 (en) 1998-09-24 1998-09-24 An internet caching system as well as a procedure and device in such a system

Country Status (28)

Country Link
EP (1) EP1040425A4 (en)
JP (1) JP2002525749A (en)
KR (1) KR20010032419A (en)
CN (1) CN1286774A (en)
AR (1) AR025806A1 (en)
AU (1) AU6389999A (en)
BR (1) BR9906468A (en)
CA (1) CA2310603A1 (en)
DE (1) DE1040425T1 (en)
ES (1) ES2152204T1 (en)
GR (1) GR20010300011T1 (en)
HU (1) HUP0004164A2 (en)
ID (1) ID27668A (en)
IL (1) IL136281A0 (en)
IS (1) IS5494A (en)
LT (1) LT4797B (en)
LV (1) LV12597B (en)
NO (1) NO20002614L (en)
PA (1) PA8482301A1 (en)
PE (1) PE20001191A1 (en)
PL (1) PL340807A1 (en)
RU (1) RU2000112850A (en)
SA (1) SA99200851A (en)
SE (1) SE514376C2 (en)
TR (1) TR200001474T1 (en)
TW (1) TW437205B (en)
WO (1) WO2000017765A1 (en)
ZA (1) ZA996124B (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU5324301A (en) * 2000-04-07 2001-10-23 Sony Pictures Digital Entertai Secure digital content licensing system and method
AU2001255441A1 (en) * 2000-04-17 2001-10-30 Circadence Corporation System and method for implementing application -independent functionality within a network infrastructure
US6879998B1 (en) 2000-06-01 2005-04-12 Aerocast.Com, Inc. Viewer object proxy
US7213062B1 (en) 2000-06-01 2007-05-01 General Instrument Corporation Self-publishing network directory
US6836806B1 (en) 2000-06-01 2004-12-28 Aerocast, Inc. System for network addressing
US6904460B1 (en) 2000-06-01 2005-06-07 Aerocast.Com, Inc. Reverse content harvester
KR100394189B1 (en) * 2000-08-23 2003-08-09 주식회사 아라기술 Method for servicing web contents by using a local area network
EP1412860B1 (en) * 2001-08-03 2008-10-08 Nokia Corporation Method, system and terminal for data networks with distributed caches
US6868439B2 (en) * 2002-04-04 2005-03-15 Hewlett-Packard Development Company, L.P. System and method for supervising use of shared storage by multiple caching servers physically connected through a switching router to said shared storage via a robust high speed connection
US7797392B2 (en) * 2002-11-26 2010-09-14 International Business Machines Corporation System and method for efficiently supporting multiple native network protocol implementations in a single system
GB0406860D0 (en) * 2004-03-26 2004-04-28 British Telecomm Computer apparatus
ATE390012T1 (en) * 2004-12-22 2008-04-15 Ericsson Telefon Ab L M METHOD AND ARRANGEMENTS FOR CACHE STATIC INFORMATION FOR PACKET DATA APPLICATIONS IN WIRELESS COMMUNICATION SYSTEMS
US7797298B2 (en) * 2006-02-28 2010-09-14 Microsoft Corporation Serving cached query results based on a query portion
KR101109273B1 (en) * 2009-12-24 2012-01-30 삼성전기주식회사 Mobile telecommunication terminal sharing temporary internet file and temporary internet file sharing method using its terminal
US9294582B2 (en) * 2011-12-16 2016-03-22 Microsoft Technology Licensing, Llc Application-driven CDN pre-caching
TWI513284B (en) * 2012-12-28 2015-12-11 Chunghwa Telecom Co Ltd Inverse proxy system and method
CN104506450A (en) * 2014-11-06 2015-04-08 小米科技有限责任公司 Media resource feedback method and device

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511208A (en) * 1993-03-23 1996-04-23 International Business Machines Corporation Locating resources in computer networks having cache server nodes
JPH06290090A (en) * 1993-04-06 1994-10-18 Matsushita Electric Ind Co Ltd Remote file accessing system
US5794229A (en) * 1993-04-16 1998-08-11 Sybase, Inc. Database system with methodology for storing a database table by vertically partitioning all columns of the table
US5588060A (en) * 1994-06-10 1996-12-24 Sun Microsystems, Inc. Method and apparatus for a key-management scheme for internet protocols
US6160549A (en) * 1994-07-29 2000-12-12 Oracle Corporation Method and apparatus for generating reports using declarative tools
US5974455A (en) * 1995-12-13 1999-10-26 Digital Equipment Corporation System for adding new entry to web page table upon receiving web page including link to another web page not having corresponding entry in web page table
US5978841A (en) 1996-03-08 1999-11-02 Berger; Louis Look ahead caching process for improved information retrieval response time by caching bodies of information before they are requested by the user
US5995943A (en) 1996-04-01 1999-11-30 Sabre Inc. Information aggregation and synthesization system
CA2253829C (en) * 1996-05-20 2002-07-23 British Telecommunications Public Limited Company Information retrieval in cache database
JPH1021174A (en) * 1996-07-01 1998-01-23 Ricoh Co Ltd Data transfer system
JP3481054B2 (en) * 1996-07-04 2003-12-22 シャープ株式会社 Gateway device, client computer and distributed file system connecting them
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US5944789A (en) 1996-08-14 1999-08-31 Emc Corporation Network file server maintaining local caches of file directory information in data mover computers
GB2317723A (en) * 1996-09-30 1998-04-01 Viewinn Plc Caching system for information retrieval
US5931904A (en) * 1996-10-11 1999-08-03 At&T Corp. Method for reducing the delay between the time a data page is requested and the time the data page is displayed
US5787470A (en) * 1996-10-18 1998-07-28 At&T Corp Inter-cache protocol for improved WEB performance
US5987506A (en) 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US5933849A (en) * 1997-04-10 1999-08-03 At&T Corp Scalable distributed caching system and method

Also Published As

Publication number Publication date
KR20010032419A (en) 2001-04-16
SA99200851A (en) 2005-12-03
EP1040425A4 (en) 2006-06-14
DE1040425T1 (en) 2001-03-15
AU6389999A (en) 2000-04-10
JP2002525749A (en) 2002-08-13
GR20010300011T1 (en) 2001-04-30
NO20002614D0 (en) 2000-05-22
IL136281A0 (en) 2001-05-20
ES2152204T1 (en) 2001-02-01
EP1040425A1 (en) 2000-10-04
RU2000112850A (en) 2002-06-10
LV12597A (en) 2000-12-20
PL340807A1 (en) 2001-02-26
TW437205B (en) 2001-05-28
AR025806A1 (en) 2002-12-18
HUP0004164A2 (en) 2001-05-28
ZA996124B (en) 2000-03-30
NO20002614L (en) 2000-07-24
CA2310603A1 (en) 2000-03-30
LT4797B (en) 2001-05-25
SE9803246D0 (en) 1998-09-24
WO2000017765A1 (en) 2000-03-30
PA8482301A1 (en) 2002-08-26
ID27668A (en) 2001-04-19
PE20001191A1 (en) 2000-11-02
BR9906468A (en) 2002-04-16
CN1286774A (en) 2001-03-07
LV12597B (en) 2001-03-20
SE9803246L (en) 2000-03-25
TR200001474T1 (en) 2000-11-21
IS5494A (en) 2000-05-12
LT2000043A (en) 2001-01-25

Similar Documents

Publication Publication Date Title
SE514376C2 (en) An internet caching system as well as a procedure and device in such a system
US6330606B1 (en) Method and apparatus for dispatching document requests in a proxy
US5944780A (en) Network with shared caching
US8326956B2 (en) System and method for handling persistence information in a network
US8788475B2 (en) System and method of accessing a document efficiently through multi-tier web caching
US8224964B1 (en) System and method of accessing a document efficiently through multi-tier web caching
US7587398B1 (en) System and method of accessing a document efficiently through multi-tier web caching
US20090182842A1 (en) Method And System For Redirecting Data Requests In Peer-To-Peer Data Networks
CA2645274C (en) Peer to peer gateway
US6654795B1 (en) System and method for distribution of network file accesses over network storage devices
US20110282993A1 (en) Hierarchical load balancing
JP2003030079A (en) Contents sharing set and software program to be performed by devices constituting the same
US20080275885A1 (en) Index server support to file sharing applications
WO2011150830A1 (en) Method and node for obtaining the content and content network
CA2389619A1 (en) System and method for internet broadcast searching
US6769011B1 (en) Method and system for scalable event notification in lightweight directory access protocol systems
US6990481B1 (en) System and method for content management over network storage devices
KR20000064071A (en) Web contents transmission system and method
EP2426894B1 (en) System and method of processing DNS request and DNS reply
US9805122B2 (en) Search engine and method for performing a search for objects that correspond to a search request
JP2000089996A (en) Information processor and data base system
EP1412878A1 (en) Apparatus for searching on internet
KR20100020909A (en) System and method for contents delivery using page redirection, and gslb switch thereof
MXPA00004999A (en) An internet caching system and a method and an arrangement in such a system
CN116233248A (en) Resource response method, device and readable storage medium