CacheWorker: Caching Arbitrary Resources without Staleness

Geeignet für: Masterarbeit oder Bachelorarbeit

Die Performance moderner Webseiten wird durch die Netzwerklatenz bestimmt. Orestes ist entstanden, um für dieses Problem ein Lösung anzubieten. Kern der Technik ist die Nutzung von HTTP Web-Caching, das durch den Cache Sketch, einer Bloomfilter-basierten Datenstruktur, um starke Konsistenzgarantien erweitert wird. In dieser Arbeit soll das Konzept, das bisher für Datenbankobjekte besteht, auf beliebige Ressourcen (CSS, JavaScript, Bilder, HTML, …) erweitert werden. Dieser neuartige Ansatz ist erstmals technisch möglich durch den Standardisierungsprozess neuer Browser-Schnittstellen zur Kontrolle des Ladevorgangs von Ressourcen.

Ziele:

  • Literaturrecherche: Analyse der Unzulänglichkeit von AppCache und verwandten Ansätzen zum Caching beliebiger Ressourcen und Entwicklung von Offline-Web-Apps. Erläuterung von Service Workern und ihrer Verwendung für Caching auf Basis des Cache Sketches.
  • Problembeschreibung: Auswirkungen von fehlendem Caching recherchieren und darstellen, sowie bisherige Lösungansätze (z.B. statische Ressourcen, Content Hashes, etc.) und die Probleme/Herausforderungen vergleichen.
  • Implementierung: CacheWorker JavaScript Implementation durch Service Worker. Eingabe: Bloomfilter/CacheSketch und Ressource; Ausgabe: Cached Response oder HTTP Revalidation Request für angefragte Ressource.
  • Evaluation: Vergleich für ein typische Webseite gemäß HTTP Archive(Anzahl Requests, Größe, etc.) zwischen CacheWorker und keinem Caching in Bezug auf Ladezeit und Datenverbrauch für verschiedene Cache-Hit-Raten. Spezielle Vergleiche für HTML gecacht vs ungecacht, Bilder, CSS, JavaScript und die Auswirkungen. Vergleich durch Umschreiben einer typischen Webseite und Laden mit CacheWorker (z.B. Wikipedia Startseite oder langer Artikel).

Einführungsliteratur:

Vertiefungsliteratur:

Tags:

Aktualisiert:

Kommentare

Kommentar hinterlassen

Die E-Mail Adresse wird nicht veröffentlicht. Benötigte Felder sind markiert *