DE102013204186A1 - Ermitteln von Prioritäten für zwischengespeicherte Objekte zum Ordnen des Übertragens von Änderungen an zwischengespeicherten Objekten beruhend auf gemessener Netzwerkbandbreite - Google Patents

Ermitteln von Prioritäten für zwischengespeicherte Objekte zum Ordnen des Übertragens von Änderungen an zwischengespeicherten Objekten beruhend auf gemessener Netzwerkbandbreite Download PDF

Info

Publication number
DE102013204186A1
DE102013204186A1 DE102013204186A DE102013204186A DE102013204186A1 DE 102013204186 A1 DE102013204186 A1 DE 102013204186A1 DE 102013204186 A DE102013204186 A DE 102013204186A DE 102013204186 A DE102013204186 A DE 102013204186A DE 102013204186 A1 DE102013204186 A1 DE 102013204186A1
Authority
DE
Germany
Prior art keywords
objects
server
priority
cached
site
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
DE102013204186A
Other languages
English (en)
Other versions
DE102013204186B4 (de
Inventor
Umesh K. Bhalerao
Shah M. R. Islam
Rinku M. Kothiya
Sandeep Ramesh Patil
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102013204186A1 publication Critical patent/DE102013204186A1/de
Application granted granted Critical
Publication of DE102013204186B4 publication Critical patent/DE102013204186B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

Es werden ein Computerprogrammprodukt, ein System und ein Verfahren zum Ermitteln von Prioritäten für zwischengespeicherte Objekte zum Ordnen des Übertragens von Änderungen an zwischengespeicherten Objekten beruhend auf gemessener Netzwerkbandbreite bereitgestellt. Objekte werden von einem primären Standort an einen sekundären Standort zum Zwischenspeichern an dem sekundären Standort kopiert. Der primäre Standort beinhaltet einen primären Server und einen primären Speicher, und der sekundäre Standort beinhaltet einen sekundären Server und einen sekundären Speicher. Für die Objekte an dem sekundären Standort werden beruhend auf von dem sekundären Server angestellten Ermittlungen in Bezug auf die auf dem sekundären Speicher zwischengespeicherten Objekte von dem sekundären Server Prioritäten empfangen. Änderungen an den Objekten auf dem primären Speicher, die auf dem sekundären Speicher zwischengespeichert sind, werden ermittelt. Die von dem sekundären Server empfangenen Prioritäten für die Objekte werden dazu verwendet, eine Übertragung der ermittelten Änderungen an den Objekten an den sekundären Server zu steuern.

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft ein Computerprogrammprodukt, ein System und ein Verfahren zum Ermitteln von Prioritäten für zwischengespeicherte Objekte zum Ordnen des Übertragens von Änderungen an zwischengespeicherten Objekten beruhend auf gemessener Netzwerkbandbreite.
  • 2. Beschreibung des verwandten Fachgebiets
  • Das Zwischenspeichern im Weitverkehrsnetz (WAN) geht mit dem Kopieren von Daten von einem primären oder Quellstandort an einen oder mehrere sekundäre Standorte einher, um Probleme mit der WAN-Leistungsfähigkeit und einen Ausfall des Netzwerks anzugehen. Die primären und sekundären Standorte können Netzwerk-Datei-Server-Dienste bereitstellen, zum Beispiel mit Hilfe von NAS-Servern (Network Attached Storage, zu Deutsch: netzgebundener Speicher). Beim WAN-Zwischenspeichern werden Änderungen an an fernen Standorten zwischengespeicherten Daten vorab in entfernt angeordnete Cachespeicher an fernen Standorten eingepflegt, sobald an dem primären Standort Änderungen an Dateien vorgenommen werden, die an fernen Standorten zwischengespeichert werden, um die Daten ohne Weiteres an dem fernen Standort verfügbar zu machen. Beim WAN-Zwischenspeichern sind die an den fernen Standorten zwischengespeicherten Daten selbst nach einer Unterbrechung zwischen dem Standort des Fernzwischenspeichers und dem primären Quellstandort für sich mit dem fernen Standort verbindende Benutzer verfügbar.
  • In einer großen Unternehmensumgebung wird möglicherweise eine große Anzahl von Dateien an dem primären Standort geändert, woraus sich eine lange Warteschlange von Änderungen ergibt, die auf die fernen Standorte in ihrer Gesamtheit zu kopieren sind, was eine erhebliche Menge an Netzwerkbandbreite verbrauchen kann. Ferner ist die Netzwerkbandbreite in bestimmten Ländern und Regionen äußerst gering, so dass das WAN-Zwischenspeichern während Zeiträumen mit geringer Netzwerkbandbreite Engpässe erfahren kann.
  • Nach dem Stand der Technik gibt es einen Bedarf für verbesserte Techniken zum Optimieren des WAN-Zwischenspeicherns von Daten an fernen sekundären Standorten.
  • KURZDARSTELLUNG
  • Es werden ein Computerprogrammprodukt, ein System und ein Verfahren zum Ermitteln von Prioritäten für zwischengespeicherte Objekte zum Ordnen des Übertragens von Änderungen an zwischengespeicherten Objekten beruhend auf gemessener Netzwerkbandbreite bereitgestellt. Objekte werden von einem primären Standort an einen sekundären Standort kopiert, um sie an dem sekundären Standort zwischenzuspeichern, wobei der primäre Standort einen primären Server und einen primären Speicher beinhaltet, und wobei der sekundäre Standort einen sekundären Server und einen sekundären Speicher beinhaltet, wobei der primäre und der sekundäre Standort über ein Netzwerk miteinander verbunden sind. Für die Objekte an dem sekundären Standort werden beruhend auf von dem sekundären Server angestellten Ermittlungen in Bezug auf die auf dem sekundären Speicher zwischengespeicherten Objekte von dem sekundären Server Prioritäten empfangen. Änderungen an den Objekten auf dem primären Speicher, die auf dem sekundären Speicher zwischengespeichert sind, werden ermittelt. Die von dem sekundären Server empfangenen Prioritäten für die Objekte werden dazu verwendet, eine Übertragung der ermittelten Änderungen an den Objekten an den sekundären Server zu steuern.
  • In weiteren Ausführungsformen empfängt ein sekundärer Standort Objekte, die von einem primären Standort zum Zwischenspeichern an dem sekundären Standort übertragen werden, wobei der primäre Standort einen primären Server und einen primären Speicher beinhaltet, und wobei der sekundäre Standort einen sekundären Server und einen sekundären Speicher zum Zwischenspeichern der Objekte von dem primären Standort beinhaltet, wobei der primäre und der sekundäre Standort über ein Netzwerk miteinander verbunden sind. Der sekundäre Server pflegt Prioritätszuordnungsdaten, die eine Zuordnung von Prioritäten und Objektattributen bereitstellen. Es werden Attribute für die an dem sekundären Standort zwischengespeicherten Objekte ermittelt. Aus den Prioritätszuordnungsdaten werden für die zwischengespeicherten Objekte die den ermittelten Attributen entsprechenden Prioritäten ermittelt. Die ermittelten Prioritäten werden für die auf dem sekundären Speicher zwischengespeicherten Objekte an den primären Server übertragen, damit der primäre Server diese dazu verwendet, eine Übertragung der ermittelten Änderungen an den Objekten an den sekundären Server zu steuern.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 veranschaulicht eine Netzwerk-Datenverarbeitungsumgebung, in der Ausführungsformen umgesetzt werden.
  • 2 veranschaulicht eine Ausführungsform eines Objektinformationseintrags an dem primären Standort.
  • 3 veranschaulicht eine Ausführungsform eines Eintrags in der Warteschlange eines entfernt angeordneten Cachespeichers.
  • 4 veranschaulicht eine Ausführungsform einer Netzwerk-Bandbreiten-Zuweisungspriorität.
  • 5 veranschaulicht eine Ausführungsform von an dem sekundären Standort gepflegten Objektinformationen.
  • 6 veranschaulicht eine Ausführungsform von Prioritätszuweisungsdaten beruhend auf der Benutzerzugriffshäufigkeit.
  • 7 veranschaulicht eine Ausführungsform von Prioritätszuweisungsdaten bezüglich der Kundenunterstützungsebene.
  • 8 veranschaulicht eine Ausführungsform von Prioritätszuweisungsdaten beruhend auf Ereignissen.
  • 9 veranschaulicht eine Ausführungsform von Prioritätszuweisungsdaten beruhend auf dem Inhaltstyp/-attribut.
  • 10 veranschaulicht eine Ausführungsform von Arbeitsschritten zum Verarbeiten einer Anforderung für ein Objekt von einem sekundären Standort.
  • 11 veranschaulicht eine Ausführungsform von Arbeitsschritten zum Verarbeiten einer Änderung an einem Objekt, das an einem sekundären Standort zwischengespeichert ist.
  • 12 veranschaulicht eine Ausführungsform von Arbeitsschritten zum Verarbeiten von empfangenen Prioritätsdaten für ein an einem sekundären Standort zwischengespeichertes Objekt.
  • 13 veranschaulicht eine Ausführungsform von Arbeitsschritten zum Übertragen von Änderungen an zwischengespeicherten Objekten an sekundäre Standorte.
  • 14 veranschaulicht eine Ausführungsform von Arbeitsschritten zum Ermitteln der Priorität von zu übertragenden Änderungen an zwischengespeicherten Objekten.
  • 15 veranschaulicht eine Ausführungsform von Arbeitsschritten zum Ermitteln der Priorität von zwischengespeicherten Objekten an dem sekundären Standort.
  • 16 veranschaulicht eine Ausführungsform von Arbeitsschritten zum Ermitteln der Priorität von zwischengespeicherten Objekten beruhend auf der Benutzerzugriffshäufigkeit der zwischengespeicherten Objekte.
  • 17 veranschaulicht eine Ausführungsform von Arbeitsschritten zum Ermitteln der Priorität von zwischengespeicherten Objekten beruhend auf der Kundenunterstützungsebene des anfordernden Benutzers, der auf das zwischengespeicherte Objekt zugegriffen hat.
  • 18 veranschaulicht eine Ausführungsform von Arbeitsschritten zum Ermitteln der Priorität von zwischengespeicherten Objekten beruhend auf einem externen Ereignis.
  • 19 veranschaulicht eine Ausführungsform von Arbeitsschritten zum Ermitteln der Priorität von zwischengespeicherten Objekten beruhend auf einem Inhaltstyp der zwischengespeicherten Objekte.
  • 20 veranschaulicht eine Ausführungsform eines Computer/Server-Knotens in der Netzwerk-Datenverarbeitungsumgebung.
  • 21 veranschaulicht eine Ausführungsform einer Cloud-Computing-Umgebung.
  • 22 veranschaulicht eine Ausführungsform von Abstraktionsmodellschichten einer Cloud-Computing-Umgebung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Beschriebene Ausführungsformen stellen Techniken bereit, mit denen ein sekundärer Server an einem sekundären Standort beruhend auf einem gemessenen oder vorhergesagten Zugriff auf zwischengespeicherte Objekte die Priorität für zwischengespeicherte Objekte ermittelt. Diese an dem sekundären Standort ermittelte Priorität kann an den primären Standort gesendet werden, um sie zum Ermitteln einer Reihenfolge für das Übertragen von Änderungen für zwischengespeicherte Objekte beruhend auf Messungen der Netzwerkbandbreite zu verwenden, um das Übertragen von Objekten mit höherer Priorität während Zeiträumen mit eingeschränkter Netzwerkbandbreite zu bevorzugen. Objekte mit an dem sekundären Standort ermittelten niedrigeren Prioritäten können während Zeiträumen mit geringer Netzwerkbandbreite Verzögerungen bei der Übertragung erfahren.
  • 1 veranschaulicht eine Ausführungsform einer Netzwerk-Datenverarbeitungsumgebung mit einem primären Standort 2, der über ein Netzwerk 6 mit einem oder mehreren sekundären Standorten 4 Daten austauscht. Der primäre Standort 2 beinhaltet einen primären Server 8 und einen primären Speicher 10, der eine Vielzahl von Objekten 12 aufweist. Der sekundäre Standort 4 beinhaltet einen sekundären Server 14 und einen sekundären Speicher 16, der einen entfernt angeordneten Cachespeicher 18 zum Zwischenspeichern der Objekte 12 an dem primären Speicher 10 enthält, die von den auf den sekundären Server 14 zugreifenden Client-Computern 21 angefordert werden. Der sekundäre Server 12 kann einen globalen Namensbereich der Objekte 12 an dem primären Standort 2 bereitstellen, der für die auf den sekundären Server 12 zugreifenden Client-Computer 21 als die zwischengespeicherten Objekte 12' verfügbar sind. Die auf ein durch den sekundären Server 14 zur Verfügung gestelltes Objekt 12 des primären Speichers 10 zugreifenden Client-Computer 21 können veranlassen, dass das Objekt 12 in dem entfernt angeordneten Cachespeicher 18 als Objekt 12' zwischengespeichert wird. In bestimmten Ausführungsformen können der primäre Server 8 und der sekundäre Server 14 NAS-(Network Attached Storage)Server aufweisen, die den Client-Computern 21 dateibasierte Speicherdienste in dem Netzwerk 6 bereitstellen. In alternativen Ausführungsformen können die Server 8 und 14 mit anderen geeigneten Netzwerk-Datei-Server-Technologien umgesetzt werden.
  • Der primäre Server 8 beinhaltet eine Netzwerk-Cachespeicher-Verwaltungseinheit 20 zum Verwalten von Zwischenspeicherungsvorgängen an den sekundären Standorten 4; eine Fern-Cachespeicher-Warteschlange 22 mit Informationen über Änderungen an den Objekten 12 zum Kopieren der Zwischenspeicherungsobjekte 12' auf die sekundären Server 14; die Objektinformationen 23 über die Objekte 12; und eine Netzwerk-Bandbreiten-Prioritätszuweisung 24, die eine Zuweisung von Netzwerk-Bandbreiten-Schwellwerten bereitstellt, die für verschiedene Sätze von Prioritäten, die den Objekten 12 zugehörig sein können, Bereiche von Netzwerkbandbreiten festlegen.
  • Der sekundäre Server 14 beinhaltet eine Fern-Cachespeicher-Verwaltungseinheit 26 zum Abrufen der Objekte 12 von dem primären Standort, die von den mit dem sekundären Server 14 über das Netzwerk 6 verbundenen Client-Computern 21 angefordert werden. Die Fern-Cachespeicher-Verwaltungseinheit 26 kann den Client-Computern 21 einen virtuellen globalen Namensbereich für die an dem Hauptstandort 2 gepflegten Objekte 12 bereitstellen. Der sekundäre Server 14 beinhaltet ferner die Prioritätszuordnungsdaten 28, die Prioritäten mit Objektattributen verknüpfen, die von der Fern-Cachespeicher-Verwaltungseinheit 26 zum Zuweisen von Prioritäten zu den zwischengespeicherten Objekten 12' in dem Ferncachespeicher 18 verwendet werden können, und die Prioritätsdaten 30 bezüglich zwischengespeicherter Objekte, welche die ermittelten Prioritäten der zwischengespeicherten Objekte 12' in dem Ferncachespeicher 18 angeben.
  • Die Server 8 und 14 können eine Serverklasse-Unternehmens-Datenverarbeitungseinheit aufweisen, die in der Lage ist, Anforderungen von mehreren verbundenen Client-Computern 21 zu bedienen. Die Client-Computer 21 können einen Desktop-Computer, einen Server, einen Host-Computer, eine tragbare Datenverarbeitungseinheit aufweisen, wie zum Beispiel ein Smartphone, eine Tablet-Datenverarbeitungseinheit, eine Telefonieeinheit, einen Laptop-Computer, ein tragbares Gerät, das in einem Automobil angebracht werden kann, usw.
  • Die Speicher 10, 16 können in einer oder mehreren nach dem Stand der Technik bekannten Speichereinheiten umgesetzt werden, wie zum Beispiel in miteinander verbundenen Festplattenlaufwerken (z. B. als DASD, RAID, JBOD usw. konfiguriert), Halbleiterspeichereinheiten (z. B. elektrisch löschbare programmierbare Nur-Lese-Speicher (EEPROM, Electrically Erasable Programmable Read-Only Memory), Flash-Speicher, Flash-Platten, Halbleiterspeichereinheiten (SSD, Solid State Devices), Storage-Class-Memory (SCM)), elektronischem Speicher, Magnetbandmedien, Bandkassetten usw. Zu einem Netzwerk 8 können ein lokales Netzwerk (LAN, local area network), ein Speichernetzwerk (SAN, storage area network), ein Weitverkehrsnetz (WAN, wide area network), ein drahtloses Netzwerk, das Internet usw. gehören. Das Netzwerk 8 kann drahtlose Netzwerkrouter enthalten und Teil eines Cloud-Computing-Modells sein.
  • 2 veranschaulicht eine Ausführungsform eines in den Objektinformationen 23 des primären Servers 8 gepflegten Objektinformationseintrags 40, der eine Objektkennung (ID) 42 eines Objekts 12 aufweist; eine Priorität 44 des Objekts, die an einem sekundären Standort 4 ermittelt wurde, der auf das Objekt 42 als zwischengespeichertes Objekt 12 Zugriff hat; einen oder mehrere sekundären/sekundäre Server 46 mit nicht-exklusivem Lesezugriff auf das geänderte Objekt 42; und einen sekundären Server 48 mit exklusivem Schreibzugriff auf das Objekt 42. In bestimmten Ausführungsformen kann lediglich ein sekundärer Server 14 an einem sekundären Standort 4 exklusiven Lesezugriff zum Ändern eines Objekts 12 aufweisen.
  • 3 veranschaulicht eine Ausführungsform eines in der Fern-Cachespeicher-Warteschlange 22 gepflegten Fern-Cachespeicher-Warteschlangen-Eintrags 50, der eine Objektkennung (ID) 52 eines geänderten Objekts 12 aufweist; eine Priorität 54 des Objekts, die an einem sekundären Standort 4 ermittelt wurde, der auf das Objekt 52 als zwischengespeichertes Objekt 12' Zugriff hat; und eine Übertragungsgröße 56 dieses zu übertragenden Teils oder des gesamten zu übertragenden Objekts 52. Die Übertragungsgröße 56 kann die Größe des geänderten Teils aufweisen, wenn lediglich die Änderungen an die das Objekt zwischenspeichernden sekundären Standorte 4 übertragen werden, oder sie kann die gesamte Objektgröße aufweisen, wenn das gesamte Objekt, einschließlich Änderungen, übertragen wird.
  • 4 veranschaulicht eine Ausführungsform der Netzwerk-Bandbreiten-Zuweisungspriorität 24 als eine Vielzahl von Paaren von Sätzen von Netzwerk-Bandbreiten-Schwellwerten/Prioritäten 60a/62a, 60b/62b...60n/62n enthaltend, wobei jeder Satz Prioritäten einen oder mehrere zu übertragende Prioritätswerte für Objekte aufweist. Die Netzwerk-Bandbreiten-Schwellwerte 60a, 60b...60n, die von hohen bis niedrigen Netzwerk-Bandbreiten-Schwellwerten reichen können, werden dazu verwendet, beruhend auf einer gemessenen Netzwerkbandbreite zu ermitteln, welche Objektprioritäten über das Netzwerk 6 zu übertragen sind. Wenn die gemessene Netzwerkbandbreite zum Beispiel den hohen ersten Netzwerk-Bandbreiten-Schwellwert (1) 60a überschreitet, können alle beliebigen Objekte, deren Prioritäten in dem ersten Prioritätssatz (1) 62a liegen, übertragen werden, was sämtliche Prioritäten aufweisen kann. Wenn die gemessene Netzwerkbandbreite unter dem niedrigsten Netzwerk-Bandbreiten-Schwellwert (n) 60n liegt, werden möglicherweise keine Objekte übertragen, da der gemessene Netzwerk-Bandbreiten-Schwellwert unter eine Untergrenze fällt. Der Satz mit niedrigster Priorität (n) gibt einen Prioritätssatz an, der zu verwenden ist, wenn die gemessene Netzwerkbandbreite zwischen dem niedrigsten Netzwerk-Bandbreiten-Schwellwert (n) und dem zweitniedrigsten Schwellwert (n – 1) liegt. Wenn die gemessene Netzwerkbandbreite zwischen zwei beliebigen aufeinanderfolgenden Schwellwerten 60a, 60b...60n liegt, ist der Prioritätssatz von zu übertragenden Prioritäten für Objekte der Prioritätssatz 62a, 62b...62n, der dem niedrigeren Netzwerk-Bandbreiten-Schwellwert 60b...60n der beiden aufeinanderfolgenden Netzwerk-Bandbreiten-Schwellwerte zugehörig ist, die einen Bereich festlegen, der die gemessene Netzwerkbandbreite einschließt. Wenn die gemessene Netzwerkbandbreite zum Beispiel zwischen dem ersten Netzwerk-Bandbreiten-Schwellwert (1) und dem zweiten Netzwerk-Bandbreiten-Schwellwert (2) liegt, werden Objekte übertragen, deren Prioritäten in dem zweiten Prioritätssatz (2) angegeben sind. Mit abnehmenden Netzwerk-Bandbreiten-Schwellwerten kann die Anzahl von Prioritäten in den Prioritätssätzen 62a, 62b...62n verringert werden, um das Übertragen von Änderungen für Objekte mit niedrigerer Priorität zu verzögern und Übertragungen in Zeiträumen mit niedrigerer Netzwerkbandbreite auf Objekte mit höherer Priorität einzuschränken.
  • 5 veranschaulicht eine Ausführungsform eines Beispiels 70 der Prioritätsdaten 30 bezüglich zwischengespeicherter Objekte für zwischengespeicherte Objekte an dem sekundären Standort 4, die eine Objekt-ID 72 und eine Priorität 74 enthalten, die dem Objekt von dem sekundären Server 14 beruhend auf dem Benutzerzugriff auf das zwischengespeicherte Objekt 12' an dem sekundären Standort 4 zugewiesen wurden.
  • 6 veranschaulicht eine Ausführungsform 80 von Prioritätszuordnungsdaten 28, die von dem sekundären Server 14 zum Ermitteln einer den zwischengespeicherten Objekten 12' zuzuweisenden Priorität beruhend auf der Benutzerzugriffshäufigkeit der zwischengespeicherten Objekte 12' verwendet werden. Die Zugriffshäufigkeitsschwellwerte 82a, 82b...82n, die von hohen Schwellwerten für die Benutzerzugriffshäufigkeit zu niedrigeren Schwellwerten reichen können, werden dazu verwendet, beruhend auf der Benutzerzugriffshäufigkeit zu ermitteln, welche Priorität den zwischengespeicherten Objekten 12' zuzuweisen ist. Wenn die für ein zwischengespeichertes Objekt 12' gemessene Benutzerzugriffshäufigkeit zum Beispiel den hohen ersten Zugriffshäufigkeitsschwellwert (1) 82a überschreitet, handelt es sich bei der diesem zwischengespeicherten Objekt 12' zugewiesenen Priorität um die höchste erste Priorität (1) 84a. Der niedrigste Zugriffshäufigkeitsschwellwert 82n für das zwischengespeicherte Objekt 12' kann den niedrigstmöglichen Wert aufweisen, so dass es sich bei der diesem zwischengespeicherten Objekt 12 zugewiesenen Priorität um die niedrigstmögliche Priorität (n) 84n handelt. Wenn die gemessene Benutzerzugriffshäufigkeit für das zwischengespeicherte Objekt 12' zwischen zwei beliebigen aufeinanderfolgenden Benutzerzugriffshäufigkeits-Schwellwerten 82a, 82b...82n liegt, handelt es sich bei der dem zwischengespeicherten Objekt 12' zugewiesenen Priorität um die Priorität 84a, 84b...84n, die dem niedrigeren Zugriffshäufigkeitsschwellwert 82b...82n der beiden aufeinanderfolgenden Zugriffshäufigkeitsschwellwerte zugehörig ist, welche die gemessene Benutzerzugriffshäufigkeit für das zwischengespeicherte Objekt 12 begrenzen. Wenn die für das zwischengespeicherte Objekt 12' gemessene Benutzerzugriffshäufigkeit zum Beispiel zwischen dem ersten Zugriffshäufigkeitsschwellwert (1) 82a und dem zweiten Zugriffshäufigkeitsschwellwert (2) 82b liegt, wird dem zwischengespeicherten Objekt 12' die zweite Priorität (2) 84b zugewiesen. Mit abnehmenden Zugriffshäufigkeitsschwellwerten wird die zugewiesene Priorität kleiner, da Objekte, auf die weniger häufig zugegriffen wird, als einen niedrigeren Bedarf und eine geringere Priorität aufweisend angesehen werden.
  • 7 veranschaulicht eine Ausführungsform 90 von Prioritätszuordnungsdaten 28, die von dem sekundären Server 14 zum Ermitteln einer den zwischengespeicherten Objekten 12' zuzuweisenden Priorität beruhend auf einer Kundenunterstützungsebene eines Kunden, der auf das zwischengespeicherte Objekt 12 zugegriffen hat, verwendet werden. Für jede mögliche Kundenunterstützungsebene 92a, 92b...92n gibt es jeweils eine entsprechende Priorität 94a, 94b...94n, die einem Objekt zugewiesen werden kann, auf das durch einen unter der angegebenen Kundenunterstützungsebene 92a, 92b...92n arbeitenden Kunden zugegriffen wird. Die Kundenunterstützungsebene kann für den Kunden berücksichtigt werden, der auf das zwischengespeicherte Objekt 12' zugegriffen und dessen Zwischenspeicherung veranlasst hat, für die zuletzt darauf zugreifenden Kunden oder für eine berechnete Kundenunterstützungsebene beruhend auf der Unterstützungsebene der zuletzt darauf zugreifenden Kunden. Auf diese Weise wird den zwischengespeicherten Objekten 12', auf die an dem sekundären Standort 4 durch Kunden zugegriffen wird, die eine höhere Unterstützungsebene aufweisen oder dafür zahlen, durch den sekundären Server 14 eine höhere Priorität zugewiesen.
  • 8 veranschaulicht eine Ausführungsform eines Eintrags 100 in den Prioritätszuordnungsdaten 28, der von dem sekundären Server 14 dazu verwendet wird, beruhend auf einem in einer Umgebung, die außerhalb des sekundären Servers 14 liegt, stattfindenden Ereignis eine den zwischengespeicherten Objekten 12' zuzuweisende Priorität zu ermitteln, wie zum Beispiel einem Ereignis in der echten Welt, in einer virtuellen Welt, in der politischen Welt, in der natürlichen Umgebung, in der Finanzwelt usw., das zu einem erhöhten oder verringerten Bedarf für ein zwischengespeichertes Objekt 12' führen würde. Die Prioritätszuweisung beruhend auf Ereignissen beinhaltet eine Vielzahl von Einträgen 100, einen für jedes mögliche unterschiedliche Ereignis. Jeder auf einem Ereignis beruhende Eintrag 100 enthält eine Ereignisbeschreibung 102, die das Ereignis kennzeichnet, die betroffenen Objekte 104, deren Zugriff an dem sekundären Standort 4 durch das Ereignis 102 wahrscheinlich auf eine vorhersagbare Weise betroffen ist, und eine Priorität 106, die den betroffenen Objekten 104 auf Grund des Ereignisses zuzuweisen ist. Wenn ein Ereignis zum Beispiel wahrscheinlich zu einem hohen Bedarf für ein Objekt führt, wie zum Beispiel eine plötzliche Bewegung auf dem Finanzmarkt, die wahrscheinlich zu geänderten Zugriffsmustern für auf Finanzdaten bezogene Objekte führt, wird die Priorität für dieses Objekt auf Grund des Ereignisses erhöht. Bestimmte Ereignisse können dazu führen, dass die Priorität für betroffene Objekte herabgesetzt wird, wenn das Ereignis vorhersagbarer Weise zu einem weniger häufigen Zugreifen auf ein Objekt führt.
  • 9 veranschaulicht eine Ausführungsform eines Eintrags 90 in den Prioritätszuordnungsdaten 28, der von dem sekundären Server 14 zum Ermitteln einer den zwischengespeicherten Objekten 12' zuzuweisenden Priorität beruhend auf dem ermittelten Inhaltstyp oder Attributen der zwischengespeicherten Objekte 12' verwendet wird. Die auf Inhalt/Attributen beruhenden Prioritätszuordnungsdaten enthalten eine Vielzahl von Einträgen 110, einen für jeden Inhaltstyp/jedes Attribut, dem eine Priorität zuzuordnen ist. Jeder Eintrag 110 kennzeichnet einen Inhaltstyp/ein Attribut 112 und eine zugehörige Priorität 114, so dass den zwischengespeicherten Objekten 12', die als den Inhaltstyp/das Attribut 112 eines Eintrags 110 aufweisend ermittelt wurden, die zugehörige Priorität 114 zugewiesen wird.
  • 10 veranschaulicht eine Ausführungsform von Arbeitsschritten, die von der Netzwerk-Cachespeicher-Verwaltungseinheit 20 beim Empfangen einer Anforderung für ein Objekt von dem sekundären Server 14 an dem sekundären Standort 4 durchgeführt werden. Beim Empfangen (in Block 130) einer Anforderung für ein Objekt aktualisiert die Netzwerk-Cachespeicher-Verwaltungseinheit 20 (in Block 132) den Objektinformationseintrag 40 (2) für das Objekt, um anzugeben, dass der sekundäre Server 14 einen Lese- oder Schreibzugriff anfordert, indem die Kennung des sekundären Servers 14 in den Feldern 46 oder 48 angegeben wird. Wenn (in Block 134) Zugriff gewährt wird, überträgt die Netzwerk-Cachespeicher-Verwaltungseinheit 20 das angeforderte Objekt an den anfordernden sekundären Server 14.
  • 11 veranschaulicht eine Ausführungsform von Arbeitsschritten, die von der Netzwerk-Cachespeicher-Verwaltungseinheit 20 zum Verarbeiten einer Aktualisierung oder Änderung eines an mindestens einem sekundären Standort 4 zwischengespeicherten Objekts durchgeführt werden. Beim Empfangen (in Block 150) der Änderung wendet die Netzwerk-Cachespeicher-Verwaltungseinheit 20 (in Block 152) die Änderung auf das Objekt 12 an und ermittelt (in Block 154) die Priorität für das geänderte Objekt 12, zum Beispiel aus der Priorität 44 in dem Objektinformationseintrag 40 für das Objekt. Die Netzwerk-Cachespeicher-Verwaltungseinheit 20 fügt (in Block 156) der Fern-Cachespeicher-Warteschlange 22 einen Eintrag 50 (3) für das geänderte Objekt hinzu, der die Priorität 54 angibt. Wenn es in der Fern-Cachespeicher-Warteschlange 22 einen bereits bestehenden Eintrag 50 für das geänderte Objekt 12 gibt, kann dieser Eintrag 50 mit den Informationen über die neue Änderung aktualisiert oder ergänzt werden. Der Eintrag 50 gibt die Priorität 54 und eine Übertragungsgröße 56 der zu übertragenden Änderung oder des zu übertragenden Objekts an.
  • 12 veranschaulicht eine Ausführungsform von Arbeitsschritten, die von der Netzwerk-Cachespeicher-Verwaltungseinheit 20 zum Verarbeiten von von einem sekundären Server 14 empfangenen Prioritätsdaten für ein zwischengespeichertes Objekt 12' durchgeführt werden. Beim Empfangen (in Block 170) der von dem sekundären Server 14 zugewiesenen Prioritätsdaten für ein zwischengespeichertes Objekt aktualisiert die Netzwerk-Cachespeicher-Verwaltungseinheit 20 (in Block 172) die Priorität 44 für das Objekt 12 mit der empfangenen Priorität. Der Aktualisierungsvorgang kann die bestehende Priorität mit der empfangenen Priorität überschreiben, beruhend auf vorher empfangenen Prioritäten für das Objekt eine Gesamtpriorität ermitteln usw.
  • Die Netzwerk-Cachespeicher-Verwaltungseinheit 20 kann Prioritäten für dasselbe Objekt empfangen, das an mehreren sekundären Standorten zwischengespeichert ist. Da jeder sekundäre Standort Prioritäten für zwischengespeicherte Objekte beruhend auf Attributen über Zugriffe und potenzielle Zugriffe der zwischengespeicherten Objekte berechnet, die für jeden sekundären Standort individuell sind, kann die Netzwerk-Cachespeicher-Verwaltungseinheit 20 von den verschiedenen Standorten 4 verschiedene Prioritäten für dasselbe Objekt 12 empfangen. In derartigen Fällen muss die Netzwerk-Cachespeicher-Verwaltungseinheit 20 möglicherweise aus den verschiedenen für ein Objekt 12 empfangenen Prioritäten auswählen oder diese zusammenfassen.
  • 13 veranschaulicht eine Ausführungsform von Arbeitsschritten, die von der Netzwerk-Cachespeicher-Verwaltungseinheit 20 zum Übertragen von Änderungen an zwischengespeicherten Objekten an den die Objekte 12' zwischenspeichernden sekundären Server 14 unter Verwendung der Fern-Cachespeicher-Warteschlange 22 durchgeführt werden. Beim Einleiten (in Block 190) des Arbeitsschritts zum Übertragen von Änderungen ermittelt die Netzwerk-Cachespeicher-Verwaltungseinheit 20 (in Block 192) aktuelle Netzwerkbandbreitenzustände. Die dieser ermittelten Netzwerkbandbreite zugehörige Priorität kann aus der Netzwerk-Bandbreiten-Prioritätszuweisung 24 ermittelt werden, um den Prioritätssatz einer oder mehrerer zu übertragenden Prioritäten von Objekten zu ermitteln. Ein Übertragungszeitraum wird (in Block 196) gestartet, der aus einer festen Anzahl von Übertragungen oder einer Zeituhr ermittelt werden kann. Wenn beim Starten des Übertragungszeitraums die Fern-Cachespeicher-Warteschlange 22 (in Block 198) nicht leer ist, ermittelt die Netzwerk-Cachespeicher-Verwaltungseinheit 20 (in Block 202) beruhend auf der Cachespeicher-Reihenfolge ein zwischengespeichertes Objekt mit der/den ermittelten Priorität(en) in der Fern-Cachespeicher-Warteschlange 22. Die Einträge in der Fern-Cachespeicher-Warteschlange 22 können nach Priorität geordnet sein, so dass Änderungen für Objekte mit höherer Priorität vor Änderungen für Objekte mit niedrigerer Priorität zuerst übertragen werden. Ferner kann die Warteschlange 22 Änderungen innerhalb einer Priorität beruhend auf einer Übertragungsgröße 56 auswählen, um das Übertragen von kleineren Änderungen/Objekten zu bevorzugen und die Anzahl von zwischengespeicherten Objekten zu maximieren, welche die Änderungen empfangen. Die Änderungen für das ermittelte zwischengespeicherte Objekt werden (in Block 202) an den mindestens einen das Objekt zwischenspeichernden sekundären Server 14 übertragen, wie in den sekundären Server-Feldern 46 und 48 des Objektinformationseintrags 40 für das Objekt angegeben ist.
  • Nach dem Auswählen der zu übertragenden Änderungen (in Block 202) geht die Steuerung zurück zu Block 198, wenn (in Block 204) der Übertragungszeitraum noch nicht beendet ist, um eine nächste Änderung zum Verarbeiten auszuwählen. Wenn (in Block 204) der Übertragungszeitraum beendet ist, z. B. da die Anzahl von Übertragungen stattgefunden hat, die Zeit abgelaufen ist usw., geht die Steuerung zurück zu Block 192, um die aktuelle Bandbreite des Netzwerks 6 zu ermitteln. Wenn (in Block 198) die Fern-Cachespeicher-Warteschlange 22 leer ist, geht die Steuerung zu Block 204 über, um zu prüfen, ob der Übertragungszeitraum beendet ist.
  • Mit den Arbeitsschritten aus 13 werden die gemessene Bandbreite des Netzwerks 6 und den Objekten durch die auf die Objekte zugreifenden sekundären Standorte 4 zugewiesenen Prioritäten dazu verwendet, beruhend auf (einer) verschiedenen Netzwerkbandbreitenbereichen zugewiesenen Objektpriorität(en) zu ermitteln, welche Objekte der primäre Server 8 überträgt.
  • 14 veranschaulicht eine Ausführungsform der Arbeitsschritte, die von der Netzwerk-Cachespeicher-Verwaltungseinheit 20 in Block 200 in 13 zum Ermitteln von zu übertragenden Änderungen für in der Fern-Cachespeicher-Warteschlange 22 gekennzeichnete Objekte durchgeführt werden, wenn es drei Paare von Netzwerk-Bandbreiten-Schwellwerten 60a, 60b, 60n/Prioritätssätzen 62a, 62b, 62n gibt. Wenn beim Einleiten (in Block 220) der Arbeitsschritte die gemessene Netzwerkbandbreite (in Block 222) einen höchsten ersten Netzwerk-Bandbreiten-Schwellwert (1) 60a (4) überschreitet, kopiert die Netzwerk-Cachespeicher-Verwaltungseinheit 20 Änderungen für zwischengespeicherte Objekte, deren Prioritäten in dem ersten Prioritätssatz 62a liegen, was sämtliche Prioritäten aufweisen kann, da die gemessene Netzwerkbandbreite hoch ist und den höchsten Schwellwert 60a überschreitet. Änderungen aus der Fern-Cachespeicher-Warteschlange 22 können beruhend auf der Reihenfolge der Warteschlange 22 wie zum Beispiel Priorität 54 und dann Übertragungsgröße 56 ausgewählt werden. Wenn (in Block 222) die gemessene Netzwerkbandbreite geringer als der erste Netzwerk-Bandbreiten-Schwellwert (1) 60a und größer (in Block 226) als der zweite Netzwerk-Bandbreiten-Schwellwert (2) 60b ist, kopiert die Netzwerk-Cachespeicher-Verwaltungseinheit 20 (in Block 228) Änderungen für zwischengespeicherte Objekte, deren Prioritäten in dem zweiten Prioritätssatz 62b liegen, was Prioritäten außer einer oder mehreren niedrigeren Prioritäten aufweisen kann, und reiht (in Block 230) Änderungen für zwischengespeicherte Objekte, deren Prioritäten nicht in dem zweiten Satz 62b liegen, in die Fern-Cachespeicher-Warteschlange 22 ein. Hierdurch wird das Übertragen von Änderungen für bestimmte Objekte mit niedrigerer Priorität verzögert, während die Netzwerkbandbreite unter dem hohen Schwellwert liegt. Wenn (in Block 226) die gemessene Netzwerkbandbreite geringer als der zweite Netzwerk-Bandbreiten-Schwellwert (2) 60b und größer (in Block 232) als ein dritter Netzwerk-Bandbreiten-Schwellwert (3) ist, kopiert die Netzwerk-Cachespeicher-Verwaltungseinheit 20 (in Block 234) Änderungen für zwischengespeicherte Objekte, deren Prioritäten in dem dritten Prioritätssatz 62n liegen, gemäß der Reihenfolge in der Fern-Cachespeicher-Warteschlange 22. Änderungen für die zwischengespeicherten Objekte 12, deren Prioritäten nicht in dem dritten Prioritätssatz 62n liegen, bleiben (in Block 236) in der Fern-Cachespeicher-Warteschlange 22 eingereiht. Wenn (in Block 232) die gemessene Netzwerkbandbreite unter einer niedrigstmöglichen Stufe liegt, kann die Steuerung enden, ohne irgendwelche Objekte zu übertragen. Durch die Arbeitsschritte aus 14 können zusätzliche Schwellwerte und Prioritätssätze berücksichtigt werden, um die Prioritäten von zu übertragenden Objekten für zusätzliche durch weitere Netzwerk-Bandbreiten-Schwellwerte festgelegte Bereiche zu ermitteln.
  • 15 veranschaulicht eine Ausführungsform von Arbeitsschritten, die von der Fern-Cachespeicher-Verwaltungseinheit 26 an dem sekundären Server 14 zum Ermitteln der Priorität der zwischengespeicherten Objekte 12 beruhend auf Attributen der zwischengespeicherten Objekte 12 an dem sekundären Standort 4 durchgeführt werden. Beim Einleiten (in Block 250) des Arbeitsschritts zum Ermitteln der Priorität der zwischengespeicherten Objekte 12' ermittelt die Fern-Cachespeicher-Verwaltungseinheit 26 (in Block 252) Attribute der zwischengespeicherten Objekte 12' und ermittelt (in Block 254) aus den Prioritätszuordnungsdaten 28 die Prioritäten für die zwischengespeicherten Objekte, die den ermittelten Attributen entsprechen. Die Fern-Cachespeicher-Verwaltungseinheit 26 überträgt (in Block 256) die ermittelten Prioritäten für die an dem sekundären Standort 4 zwischengespeicherten Objekte 12' an den primären Server 8, damit der primäre Server 8 diese dazu verwendet, eine Reihenfolge für das Kopieren von Änderungen auf die sekundären Standorte zu steuern.
  • In einer Ausführungsform überträgt der sekundäre Server 14 die Prioritätsdaten für die zwischengespeicherten Objekte 12' direkt an den primären Server 24. In einer weiteren Ausführungsform kann der sekundäre Server 14 die ermittelte Priorität an einen anderen sekundären Standort 4 übertragen, so dass dieser sekundäre Zwischenstandort 4 die Daten schreibt und die Priorität an den primären Server 8 überträgt.
  • 16 veranschaulicht eine Ausführungsform von Arbeitsschritten, die von der Fern-Cachespeicher-Verwaltungseinheit 26 zum Ermitteln von Prioritätsdaten beruhend auf der Benutzerzugriffshäufigkeit an dem sekundären Standort 4 für ein zwischengespeichertes Objekt 12' durchgeführt werden. Beim Einleiten (in Block 270) des Arbeitsschritts zum Ermitteln der Priorität ermittelt die Fern-Cachespeicher-Verwaltungseinheit 26 (in Block 272) eine Objektzugriffshäufigkeit beruhend auf dem Benutzerzugriff des zwischengespeicherten Objekts an dem sekundären Standort. Die ermittelte Objektzugriffshäufigkeit wird (in Block 274) mit zumindest einem der Zugriffshäufigkeitsschwellwerte 62a, 62b...62n (6) verglichen. Die dem ermittelten zumindest einen Benutzerzugriffshäufigkeits-Schwellwert zugehörige Priorität wird (in Block 276) ermittelt. Wenn die Benutzerzugriffshäufigkeit zum Beispiel größer als der höchste Schwellwert ist, wird die höchste Priorität zugewiesen, und wenn die Benutzerzugriffshäufigkeit zwischen zwei aufeinanderfolgenden Schwellwerten liegt, wird die Priorität für diesen Schwellwertbereich verwendet. Die ermittelte Priorität für das zwischengespeicherte Objekt 12' wird (in Block 278) in den Prioritätsdaten 30 bezüglich zwischengespeicherter Objekte angegeben und an den primären Server 8 übertragen, damit er diese dazu verwendet, Übertragungen von Änderungen an zwischengespeicherten Objekten zu steuern.
  • 17 veranschaulicht eine Ausführungsform von Arbeitsschritten, die von der Fern-Cachespeicher-Verwaltungseinheit 26 beruhend auf einer Kundenunterstützungsebene von auf das zwischengespeicherte Objekt 12' an dem sekundären Standort 4 zugreifende Benutzer durchgeführt werden. Beim Einleiten (in Block 300) des Arbeitsschritts zum Ermitteln der Priorität beruhend auf Kundenunterstützungsebenen des anfordernden Benutzers, der auf das zwischengespeicherte Objekt zugegriffen hat, ermittelt die Fern-Cachespeicher-Verwaltungseinheit 26 (in Block 302) einen anfordernden Benutzer, der auf das zwischengespeicherte Objekt 12' an dem sekundären Standort 4 zugegriffen hat. Die Kundenunterstützungsebene des anfordernden Benutzers wird (in Block 304) ermittelt. Die Fern-Cachespeicher-Verwaltungseinheit 26 ermittelt (in Block 306) aus den Kundenunterstützungsebenen-Prioritätszuordnungsdaten 90 die der Kundenunterstützungsebene des anfordernden Benutzers zugehörige Priorität. Die ermittelte Priorität wird (in Block 308) für das zwischengespeicherte Objekt 12' in den Prioritätsdaten 30 bezüglich zwischengespeicherter Objekte angegeben und an den primären Server 8 übertragen. Die Kundenunterstützungsebene kann für einen zuletzt anfordernden Benutzer, den anfordernden Benutzer, der zuerst auf das zwischengespeicherte Objekt 12' zugegriffen und das Zwischenspeichern veranlasst hat oder eine Kundenunterstützungsebene einer Vielzahl von anfordernden Benutzern zum Bereitstellen einer Gesamtpriorität geprüft werden.
  • 18 veranschaulicht eine Ausführungsform von Arbeitsschritten, die von der Fern-Cachespeicher-Verwaltungseinheit 26 zum Ermitteln der Priorität der zwischengespeicherten Objekte 12' beruhend auf dem Auftreten von externen Ereignissen, die voraussichtlich den Zugriff auf die zwischengespeicherten Objekte 12 beeinflussen werden, durchgeführt werden. Beim Einleiten (in Block 330) eines Arbeitsschritts zum Ermitteln einer auf Ereignissen beruhenden Priorität erkennt die Fern-Cachespeicher-Verwaltungseinheit 20 (in Block 332) ein Ereignis, das in einer Umgebung außerhalb des Betriebs des sekundären Servers 14 auftritt, das wahrscheinlich zu einem vermehrten Zugreifen auf ein zwischengespeichertes Objekt 12' führt und einer in den Ereignisprioritätsdaten 100 (8) angegebenen Ereignisbeschreibung 102 entspricht. Diese Ereignisdaten können an den sekundären Server 14 übertragen oder durch den sekundären Server 14 von einem fernen Standort wie einer Web-Seite abgerufen werden. Die Fern-Cachespeicher-Verwaltungseinheit 26 ermittelt (in Block 334) aus den auf Ereignissen beruhenden Prioritätsdaten 100 die Priorität 106, die der Beschreibung des externen Ereignisses 102 zugehörig ist, die in einem dem erkannten Ereignis entsprechenden Eintrag 100 angegeben ist. Die ermittelte Priorität wird (in Block 336) für das zwischengespeicherte Objekt 12' in den Prioritätsdaten 30 bezüglich zwischengespeicherter Objekte angegeben und an den primären Server 8 übertragen. Auf diese Weise wird das Auftreten eines externen Ereignisses, das voraussichtlich den Zugriff auf ein Objekt beeinflusst (erhöht oder verringert), dazu verwendet, die Priorität für das Objekt zu ändern.
  • 19 veranschaulicht eine Ausführungsform von Arbeitsschritten, die von der Fern-Cachespeicher-Verwaltungseinheit 26 zum Ermitteln der Priorität der zwischengespeicherten Objekte 12' beruhend auf dem Inhaltstyp der zwischengespeicherten Objekte 12' durchgeführt werden. Beim Einleiten (in Block 350) der auf dem Inhaltstyp beruhenden Prioritätsermittlung verarbeitet die Fern-Cachespeicher-Verwaltungseinheit 20 (in Block 352) den Inhalt des zwischengespeicherten Objekts 12', um zumindest einen dem Inhalt des zwischengespeicherten Objekts zugehörigen Inhaltstyp zu ermitteln. Es wird (in Block 354) zumindest eine der Prioritäten ermittelt, die dem ermittelten zumindest einen Inhaltstyp zugehörig ist, wie zum Beispiel die Priorität 114, die dem ermittelten Inhaltstyp 112 zugehörig ist, der in einem Eintrag 110 der Inhaltstyp-Prioritätszuordnungsdaten angegeben ist. Die ermittelte Priorität wird (in Block 358) für das zwischengespeicherte Objekt 12' in den Prioritätsdaten 30 bezüglich zwischengespeicherter Objekte angegeben und an den primären Server 8 übertragen.
  • In bestimmten Ausführungsformen können eine oder mehrere verschiedene Prioritätsbestimmungen zum Ermitteln verwendet werden, indem eine kombinierte oder zusammengefasste Priorität durch Ausführen einer oder mehrerer der Benutzerzugriffshäufigkeits-Prioritätsermittlung (16), der Kundenunterstützungsebenen-Prioritätsermittlung (17), der auf Ereignissen beruhenden Prioritätsermittlung (18) und der Inhaltstyp-Prioritätsermittlung (19) ermittelt wird. Verschiedene ermittelte Prioritäten können dann zusammengefasst oder kombiniert werden.
  • Beschriebene Ausführungsformen stellen Techniken bereit, mit denen ein sekundärer Server an einem sekundären Standort beruhend auf einem gemessenen oder vorhergesagten Zugriff auf zwischengespeicherte Objekte die Priorität für zwischengespeicherte Objekte beruhend auf Faktoren wie Benutzerzugriff an dem sekundären Standort, Kundenunterstützungsebenen von Kunden, die an dem sekundären Standort darauf zugreifen, Inhaltstyp, Ereignissen usw. ermittelt. Diese an dem sekundären Standort ermittelte Priorität kann an den primären Standort gesendet werden, um sie zum Ermitteln einer Reihenfolge für das Übertragen von Änderungen für zwischengespeicherte Objekte beruhend auf Messungen der Netzwerkbandbreite zu verwenden, um das Übertragen von Objekten mit höherer Priorität während Zeiträumen mit eingeschränkter Netzwerkbandbreite zu bevorzugen.
  • Cloud-Computing-Ausführungsformen
  • Die Datenverarbeitungsumgebung aus 1 kann Teil eines Cloud-Computing-Modells für das Bereitstellen von Diensten zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z. B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste) sein, die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Dienstes schnell bereitgestellt und freigegeben werden können Die Cloud-Computing-Umgebung kann ein auf Cloud beruhendes Zwischenspeichern von Objekten von einem primären Standort an eine Vielzahl von sekundären Standorten bereitstellen.
  • Die Cloud-Computing-Umsetzung wird in Bezug auf die 119 beschrieben. Dieses Cloud-Modell kann mindestens fünf Eigenschaften enthalten, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle.
  • Bei den Eigenschaften handelt es sich um die folgenden:
    On-Demand Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher sorgen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.
  • Broad Network Access: Es sind Funktionen über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, welche die Verwendung durch heterogene Thin- oder Thick-Source-Plattformen (z. B. Mobiltelefone, Laptops und PDAs) unterstützen.
  • Resource-Pooling: Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z. B. Land, Staat oder Rechenzentrum).
  • Rapid Elasticity: Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt und sie können jederzeit in jeder beliebigen Menge gekauft werden.
  • Measured Service: Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z. B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Der Ressourcen-Verbrauch kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.
  • Bei den Dienstmodellen handelt es sich um die folgenden:
    Software as a Service (SaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine Thin-Source-Schnittstelle wie einen Web-Browser (z. B. auf dem Web beruhende E-Mail) von verschiedenen Quelleinheiten zugänglich. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfunktionen, mit der möglichen Ausnahme von eingeschränkten benutzerspezifischen Anwendungskonfigurationseinstellungen.
  • Platform as a Service (PaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen des Application Hosting Environment.
  • Infrastructure as a Service (IaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, das Verarbeiten, Speicher, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z. B. Host-Firewalls).
  • Bei den Einsatzmodellen handelt es sich um die folgenden:
    Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
  • Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z. B. Mission, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann in den eigenen Räumen oder fremden Räumen stehen.
  • Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und sie gehört einer Cloud-Dienste verkaufenden Organisation.
  • Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die Daten- und Anwendungsportierbarkeit ermöglicht (z. B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert mit Fokus auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Herzen von Cloud-Computing liegt eine Infrastruktur, die ein Netzwerk aus zusammengeschalteten Knoten aufweist.
  • 20 veranschaulicht eine Ausführungsform eines Cloud-Computing-Knotens oder Computers 402, der eine Umsetzung der Server 8 und 14 und der Client-Computer 21 aufweisen kann. Der Computer 402 ist lediglich ein Beispiel eines geeigneten Cloud-Computing-Knotens und soll keinerlei Einschränkungen für den Umfang der Verwendung oder Funktionalität von Ausführungsformen der hierin beschriebenen Erfindung andeuten. Trotzdem kann eine beliebige vorstehend dargelegte Funktionalität in dem Cloud-Computing-Knoten 402 umgesetzt und/oder von diesem durchgeführt werden.
  • Der Cloud-Computing-Computer 402 ist mit zahlreichen anderen Universal- bzw. Spezial-Datenverarbeitungssystem-Umgebungen bzw. Konfigurationen betriebsfähig. Zu Beispielen für allgemein bekannte Datenverarbeitungssysteme, Umgebungen und/oder Konfigurationen, die zur Verwendung mit dem Computersystem/Server 402 geeignet sein können, gehören Personal-Computer-Systeme, Server-Computersysteme, Thin Sources, Thick Sources, Handheld- bzw. Laptop-Geräte, Multiprozessorsysteme, auf Mikroprozessoren beruhende Systeme, Set-Top-Boxen, programmierbare Verbraucherelektronik, Netzwerk-PCs, Minicomputersysteme, Mainframe-Computersysteme sowie verteile Cloud-Computing-Umgebungen, die irgendeine(s) der obigen Systeme bzw. Einheiten und dergleichen enthalten, aber nicht auf diese beschränkt sind.
  • Das Computersystem/der Server 402 kann in dem allgemeinen Kontext von durch Computersysteme ausführbaren Instruktionen, z. B. durch Programmmodule, beschrieben werden, die von einem Computersystem ausgeführt werden. Allgemein können zu Programmmodulen Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen und so weiter gehören, die bestimmte Aufgaben durchführen bzw. bestimmte abstrakte Datenarten umsetzen. Das Computersystem/der Server 402 kann in verteilten Cloud-Computing-Umgebungen ausgeführt werden, wo Aufgaben durch ferne Verarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich Programmmodule sowohl in lokalen als auch in fernen Computersystem-Speichermedien befinden, darunter Hauptspeichereinheiten.
  • Wie in 20 gezeigt ist, ist das Computersystem/der Server (Cloud-Knoten) 402 in Form einer Universal-Datenverarbeitungseinheit gezeigt. Die Komponenten des Computersystems/Servers 402 können einen oder mehrere Prozessoren oder Verarbeitungseinheiten 404, einen Systemspeicher 406 und einen Bus 408 aufweisen, der verschiedene Systemkomponenten, darunter den Systemspeicher 406, mit dem Prozessor 404 verbindet, sind aber nicht darauf beschränkt.
  • Der Bus 408 stellt eine oder mehrere einer beliebigen von mehreren Arten von Busstrukturen dar, darunter einen Speicherbus oder eine Speichersteuereinheit, einen Peripheriebus, einen beschleunigten Grafikanschluss und einen Prozessor- oder lokalen Bus, die eine beliebige aus einer Vielfalt von Busarchitekturen verwenden. Zu derartigen Architekturen gehören als Beispiel und nicht als Einschränkung ein ISA-Bus (Industry Standard Architecture), ein MCA-Bus (Micro Channel Architecture), ein EISA-Bus (Enhanced ISA), ein VESA-Lokalbus (Video Electronics Standards Association) sowie ein PCI-Bus (Peripheral Component Interconnects).
  • Das Computersystem/der Server 402 enthält üblicherweise eine Vielfalt von durch ein Computersystem lesbaren Medien. Bei derartigen Medien kann es sich um jedes beliebige Medium handeln, auf welches das Computersystem/der Server 402 zugreifen kann, und es beinhaltet sowohl flüchtige als auch nichtflüchtige Medien, austauschbare und nicht austauschbare Medien.
  • Der Systemspeicher 406 kann durch ein Computersystem lesbare Medien in Form eines nichtflüchtigen Speichers wie einen Direktzugriffsspeicher (RAM) 410 und/oder den Cachespeicher 412 enthalten. Das Computersystem/der Server 402 kann ferner andere austauschbare/nicht austauschbare, flüchtige/nichtflüchtige Computersystem-Speichermedien enthalten. Als Beispiel kann das Speichersystem 413 zum Lesen von und zum Schreiben auf ein nicht austauschbares, nichtflüchtiges magnetisches Medium bereitgestellt werden (das nicht gezeigt ist und üblicherweise „Festplattenlaufwerk” genannt wird). Es können auch ein Magnetplattenlaufwerk zum Lesen von und Schreiben auf eine austauschbare, nichtflüchtige Magnetplatte (z. B. eine „Floppy-Diskette”) und ein optisches Plattenlaufwerk zum Lesen von oder Schreiben auf eine austauschbare, nichtflüchtige optische Platte wie eine CD-ROM, DVD-ROM oder ein anderes optisches Medium bereitgestellt werden, auch wenn diese nicht gezeigt sind. In derartigen Fällen können sie jeweils über ein oder mehrere Datenmedienschnittstellen mit dem Bus 408 verbunden sein. Wie nachfolgend weiter abgebildet und beschrieben wird, kann der Speicher 406 mindestens ein Programmprodukt enthalten, das einen Satz von Programmmodulen (z. B. mindestens eins) aufweist, die so konfiguriert sind, dass sie die Funktionen von Ausführungsformen der Erfindung ausführen.
  • Als Beispiel und nicht als Einschränkung können das Programm/Dienstprogramm 414 mit (mindestens) einem Satz von Programmmodulen 416 sowie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten in dem Speicher 406 gespeichert sein. Jedes der Betriebssysteme, ein oder mehrere Anwendungsprogramme, andere Programmmodule und die Programmdaten oder eine beliebige Kombination daraus können eine Umsetzung einer Netzwerkumgebung enthalten. Die Programmmodule 416 führen allgemein die hierin beschriebenen Funktionen und/oder Methodiken von Ausführungsformen der Erfindung aus.
  • Das Computersystem/der Server 402 kann auch mit einer oder mehreren externen Einheiten 418 wie einer Tastatur, einer Zeigeeinheit, einer Anzeige 420 usw., einer oder mehreren Einheiten, die es einem Benutzer ermöglichen, mit dem Computersystem/Server 12 Daten auszutauschen, und/oder beliebigen Einheiten (z. B. Netzwerkkarten, Modems usw.) Daten austauschen, die es dem Computersystem/Server 402 ermöglichen, mit einer oder mehreren anderen Datenverarbeitungseinheiten Daten auszutauschen Ein derartiger Datenaustausch kann über die Eingabe/Ausgabe-(E/A-)Schnittstellen 422 erfolgen. Außerdem kann das Computersystem/der Server 402 über den Netzwerkadapter 424 mit einem oder mehreren Netzwerken Daten austauschen, wie zum Beispiel einem lokalen Netzwerk (LAN), einem allgemeinen Weitverkehrsnetz (WAN) und/oder einem öffentlichen Netzwerk (z. B. dem Internet). Wie abgebildet ist, tauscht der Netzwerkadapter 424 mit den anderen Komponenten des Computersystems/Servers 402 über den Bus 408 Daten aus. Es sollte klar sein, dass andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computersystem/Server 402 verwendet werden könnten, auch wenn diese nicht gezeigt sind. Zu Beispielen gehören folgende, ohne auf diese beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Festplattenlaufwerk-Arrays, RAID-Systeme, Bandlaufwerke und Speichersysteme zur Datenarchivierung usw.
  • 21 veranschaulicht eine Ausführungsform einer Cloud-Computing-Umgebung 450. Wie gezeigt ist, weist die Cloud-Computing-Umgebung 450 einen oder mehrere Cloud-Computing-Knoten 402 auf, mit denen von Cloud-Benutzern verwendete lokale Datenverarbeitungseinheiten wie der elektronische Assistent (PDA, personal digital assistant) oder das Mobiltelefon 454A, der Desktop-Computer 454B, der Laptop-Computer 454C und/oder das Automobil-Computer-System 454N Daten austauschen können. Die Knoten 402 können miteinander Daten austauschen. Sie können physisch oder virtuell in ein oder mehrere Netzwerke wie private, Benutzergemeinschafts-, öffentliche oder hybride Clouds gruppiert werden (nicht gezeigt), wie vorstehend beschrieben wurde, oder in eine Kombination daraus. Dies ermöglicht es der Cloud-Computing-Umgebung 450, Infrastruktur, Plattformen und/oder Software als Dienst anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sei darauf hingewiesen, dass die Arten von in 21 gezeigten Datenverarbeitungseinheiten 454A bis N lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 402 und die Cloud-Computing-Umgebung 450 über eine beliebige Art Netzwerk und/oder über eine beliebige Art von über ein Netzwerk aufrufbarer Verbindung (z. B. unter Verwendung eines Web-Browsers) mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
  • 22 stellt eine Ausführungsform eines Satzes von funktionalen Abstraktionsschichten bereit, die durch die Cloud-Computing-Umgebung 450 bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 22 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie abgebildet ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
    Die Hardware- und Software-Schicht 460 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten gehören Mainframe-Computer, in einem Beispiel IBM® zSeries®-Systeme, auf der RISC-(Reduced Instruction Set Computer)Architektur beruhende Server, in einem Beispiel IBM pSeries®-Systeme, IBM xSeries®-Systeme, IBM BladeCenter®-Systeme, Speichereinheiten, Netzwerke sowie Netzwerkkomponenten. Zu Beispielen für Software-Komponenten gehören Netzwerk-Anwendungsserver-Software, in einem Beispiel IBM WebSphere®-Anwendungsserver-Software, sowie Datenbank-Software, in einem Beispiel IBM DB2®-Datenbank-Software. (IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere sowie DB2 sind Marken von International Business Machines Corporation, die in vielen Jurisdiktionen weltweit eingetragen sind).
  • Die Virtualisierungsschicht 462 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server, virtueller Speicher, virtuelle Netzwerke, darunter virtuelle private Netzwerke, virtuelle Anwendungen und Betriebssysteme sowie virtuelle Quellen.
  • In einem Beispiel kann die Verwaltungsschicht 464 die nachfolgend beschriebenen Funktionen bereitstellen. Die Bereitstellung von Ressourcen stellt die dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Das Messen und die Preisfindung stellen die Kostenverfolgung beim Verwenden von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie die Rechnungsstellung für den Verbrauch dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen aufweisen. Die Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Das Benutzerportal stellt Nutzern und Systemadministratoren den Zugang zu der Cloud-Computing-Umgebung bereit. Die Verwaltung des Dienstumfangs stellt die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die benötigten Dienstziele erreicht werden. Das Planen und Erfüllen von Vereinbarungen zum Dienstumfang (SLA, Service Level Agreements) stellt die Anordnung vorab und die Beschaffung von Cloud-Computing-Ressourcen, für die eine zukünftige Anforderung vorausgesehen wird, gemäß einem SLA bereit.
  • Die Arbeitslastschicht 466 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Beispiele für Arbeitslasten und Funktionen können wie in Bezug auf die obigen 1 bis 19 beschrieben eine Mandantenfähigkeit für eine Cloud-Computing-Umgebung bereitstellen.
  • Die beschriebenen Arbeitsschritte können als Verfahren, Vorrichtung oder Computerprogrammprodukt umgesetzt werden, indem übliche Programmierungs- und/oder Ingenieurtechniken zum Herstellen von Software, Firmware, Hardware oder einer Kombination daraus verwendet werden. Entsprechend können Aspekte der Ausführungsformen die Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform (darunter Firmware, im Speicher befindliche Software, Mikrocode, usw.) oder einer Software- und Hardware-Aspekte kombinierenden Ausführungsform annehmen, die hierin alle allgemein als „Schaltkreis”, „Modul” oder „System” bezeichnet sein können. Des Weiteren können Aspekte der Ausführungsformen die Form eines auf einem oder mehreren durch einen Computer lesbaren Medien enthaltenen Computerprogrammprodukts annehmen, die durch einen Computer lesbaren Programmcode enthalten.
  • Es kann jede Kombination aus einem oder mehreren durch einen Computer lesbaren Medien verwendet werden. Bei dem durch einen Computer lesbaren Medium kann es sich um ein durch einen Computer lesbares Signalmedium oder ein durch einen Computer lesbares Speichermedium handeln. Bei einem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine derartige Vorrichtung oder Einheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu konkreteren Beispielen (eine nicht erschöpfende Liste) des durch einen Computer lesbaren Speichermediums gehören die folgenden: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine mobile Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein Lichtwellenleiter, ein mobiler Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede geeignete Kombination daraus. In dem Kontext dieses Dokuments kann es sich bei einem durch einen Computer lesbaren Speichermedium um jedes beliebige physische Medium handeln, das ein Programm enthalten oder speichern kann, das von oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Ausführung von Anweisungen verwendet wird.
  • Ein durch einen Computer lesbares Signalmedium kann ein weitergeleitetes Datensignal mit darin enthaltenem durch einen Computer lesbarem Programmcode beinhalten, zum Beispiel im Basisband oder als Teil einer Trägerwelle. Ein derartiges weitergeleitetes Signal kann eine beliebige Form aus einer Vielfalt an Formen annehmen, darunter elektromagnetische, optische bzw. jede geeignete Kombination daraus, jedoch nicht auf diese beschränkt. Bei einem durch einen Computer lesbaren Signalmedium kann es sich um ein beliebiges durch einen Computer lesbares Medium handeln, das kein durch einen Computer lesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zum Ausführen von Anweisungen übertragen, weiterleiten bzw. transportieren kann.
  • Auf einem durch einen Computer lesbaren Medium enthaltener Programmcode kann unter Verwendung eines beliebigen geeigneten Mediums übertragen werden, darunter drahtlos, drahtgebunden, Lichtwellenleiter-Kabel, HF usw. oder jede geeignete Kombination daraus, jedoch nicht auf diese beschränkt.
  • Computerprogrammcode für das Ausführen von Arbeitsschritten für Aspekte der vorliegenden Erfindung kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Java, Smalltalk, C++ o. ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C” oder ähnliche Programmiersprachen. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters).
  • Aspekte der vorliegenden Erfindung werden oben unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Funktionsschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern durch Computerprogrammanweisungen ausgeführt werden können. Diese Computerprogrammanweisungen können dem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen.
  • Diese Computerprogrammanweisungen können auch auf einem durch einen Computer lesbaren Medium gespeichert sein, das einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung bzw. andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass die auf dem durch einen Computer lesbaren Medium gespeicherten Anweisungen ein Herstellungsprodukt herstellen, darunter Anweisungen, welche die/den in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder angegebene(n) Funktion/Schritt umsetzen.
  • Die Computerprogrammanweisungen können auch auf einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung bzw. andere Einheiten geladen werden, um das Ausführen einer Folge von Prozessschritten auf dem Computer, der anderen programmierbaren Vorrichtung bzw. den anderen Einheiten zu veranlassen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer oder einer anderen programmierbaren Vorrichtung ausgeführten Anweisungen Verfahren zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktionen/Schritte erzeugen.
  • Die Begriffe „eine Ausführungsform”, „Ausführungsform”, „Ausführungsformen”, „die Ausführungsform”, „die Ausführungsformen”, „eine oder mehrere Ausführungsformen”, „einige Ausführungsformen” und „eine Ausführungsform” bedeuten „eine oder mehrere (aber nicht alle) Ausführungsformen der vorliegenden Erfindung(en)”, soweit nicht ausdrücklich anderweitig angegeben.
  • Die Begriffe „enthaltend”, „aufweisend”, „mit” und Abwandlungen davon bedeuten „einschließlich, ohne darauf beschränkt zu sein”, soweit nicht ausdrücklich anderweitig angegeben.
  • Die aufgezählte Auflistung von Gegenständen bedeutet nicht, dass sich eine oder alle der Gegenstände gegenseitig ausschließen, soweit nicht ausdrücklich anderweitig angegeben.
  • Die Begriffe „ein”, „eine” und „der”, „die”, „das” bedeuten „ein/eine/eines oder mehrere”, soweit nicht ausdrücklich anderweitig angegeben.
  • Einheiten, die miteinander Daten austauschen, müssen nicht in ständigem Datenaustausch miteinander stehen, soweit nicht ausdrücklich anderweitig angegeben. Außerdem können Einheiten, die miteinander Daten austauschen, direkt oder indirekt über ein oder mehrere Vermittler Daten austauschen.
  • Prozessschritte, Verfahrensschritte, Algorithmen und dergleichen können des Weiteren zwar möglicherweise aufeinander folgend beschrieben sein, derartige Prozesse, Verfahren und Algorithmen können jedoch so konfiguriert sein, dass sie in anderen Reihenfolgen ablaufen. Anders ausgedrückt, jeder beliebige Ablauf bzw. jede beliebige Reihenfolge von Schritten, die möglicherweise beschrieben sind, deutet nicht unbedingt auf eine Bedingung hin, dass die Schritte in dieser Reihenfolge durchzuführen sind. Die hierin beschriebenen Schritte von Prozessen können in jeder beliebigen praktischen Reihenfolge durchgeführt werden. Des Weiteren können einige Schritte gleichzeitig durchgeführt werden.
  • Prozessschritte, Verfahrensschritte, Algorithmen und dergleichen können des Weiteren zwar möglicherweise aufeinander folgend beschrieben sein, derartige Prozesse, Verfahren und Algorithmen können jedoch so konfiguriert sein, dass sie in anderen Reihenfolgen ablaufen. Anders ausgedrückt, jeder beliebige Ablauf bzw. jede beliebige Reihenfolge von Schritten, die möglicherweise beschrieben sind, deutet nicht unbedingt auf eine Bedingung hin, dass die Schritte in dieser Reihenfolge durchzuführen sind. Die hierin beschriebenen Schritte von Prozessen können in jeder beliebigen praktischen Reihenfolge durchgeführt werden. Des Weiteren können einige Schritte gleichzeitig durchgeführt werden.
  • Wenn eine einzelne Einheit oder ein einzelner Artikel hierin beschrieben ist, ist ohne Weiteres ersichtlich, dass an Stelle einer einzelnen Einheit/eines einzelnen Artikels mehr als eine Einheit/ein Artikel (unabhängig davon, ob diese zusammenwirken) verwendet werden können. Gleichermaßen ist ohne Weiteres ersichtlich, dass, wenn hierin mehr als eine Einheit oder ein Artikel beschrieben sind (unabhängig davon, ob diese zusammenarbeiten), an Stelle der/des mehr als einen Einheit oder einen Artikels eine einzelne Einheit/ein einzelner Artikel verwendet werden können oder dass an Stelle der gezeigten Anzahl von Einheiten oder Programmen eine unterschiedliche Anzahl von Einheiten/Artikeln verwendet werden kann. Die Funktionalität und/oder die Eigenschaften einer Einheit können alternativ durch eine oder mehrere andere Einheiten ausgeführt werden, die nicht ausdrücklich als eine derartige Funktionalität/Eigenschaften aufweisend beschrieben sind. Somit müssen andere Ausführungsformen der vorliegenden Erfindung nicht unbedingt die Einheit selbst enthalten.
  • Die veranschaulichten Arbeitsschritte aus den Figuren zeigen bestimmte Ereignisse, die in einer bestimmten Reihenfolge eintreten. In alternativen Ausführungsformen können bestimmte Arbeitsschritte in einer unterschiedlichen Reihenfolge durchgeführt, abgewandelt oder entfernt werden. Außerdem können der oben beschriebenen Logik Schritte hinzugefügt werden, ohne von den beschriebenen Ausführungsformen abzuweichen. Des Weiteren können hierin beschriebene Arbeitsschritte nacheinander stattfinden oder bestimmte Arbeitsschritte können parallel verarbeitet werden. Ferner können Arbeitsschritte durch eine einzelne Verarbeitungseinheit oder durch verteilte Verarbeitungseinheiten durchgeführt werden.
  • Die vorstehende Beschreibung verschiedener Ausführungsformen der Erfindung wurde zum Zwecke der Veranschaulichung und Beschreibung aufgeführt. Sie soll nicht gesamthaft stehen für bzw. begrenzt sein auf die Erfindung in der konkret beschriebenen Form. Angesichts der obigen Lehren sind viele Änderungen und Abwandlungen möglich. Es ist beabsichtigt, dass der Umfang der Erfindung nicht durch diese ausführliche Beschreibung beschränkt wird, sondern durch die hierzu beigefügten Ansprüche. Die oben aufgeführte(n) Beschreibung, Beispiele und Daten stellen eine vollständige Beschreibung des Herstellens und Verwendens der Zusammensetzung der Erfindung bereit. Da viele Ausführungsformen der Erfindung möglich sind, ohne von dem Gedanken und Umfang der Erfindung abzuweichen, befindet sich die Erfindung in den nachfolgend beigefügten Ansprüchen.

Claims (15)

  1. Computerprogrammprodukt zum Zwischenspeichern von Objekten, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, auf dem durch einen Computer lesbarer Programmcode enthalten ist, der ausgeführt wird, um Arbeitsschritte durchzuführen, wobei die Arbeitsschritte aufweisen: Kopieren von Objekten von einem primären Standort an einen sekundären Standort, um sie an dem sekundären Standort zwischenzuspeichern, wobei der primäre Standort einen primären Server und einen primären Speicher beinhaltet, und wobei der sekundäre Standort einen sekundären Server und einen sekundären Speicher beinhaltet, wobei der primäre und der sekundäre Standort über ein Netzwerk miteinander verbunden sind; Empfangen von Prioritäten für die Objekte an dem sekundären Standort von dem sekundären Server beruhend auf von dem sekundären Server angestellten Ermittlungen in Bezug auf die auf dem sekundären Speicher zwischengespeicherten Objekte; Ermitteln von Änderungen an den Objekten auf dem primären Speicher, die auf dem sekundären Speicher zwischengespeichert sind; und Verwenden der von dem sekundären Server empfangenen Prioritäten für die Objekte, um eine Übertragung der ermittelten Änderungen an den Objekten an den sekundären Server zu steuern.
  2. Computerprogrammprodukt nach Anspruch 1, wobei die Prioritäten durch den sekundären Server beruhend auf mindestens einem der folgenden zugewiesen werden: durch einen Systemverwalter zugewiesene Priorität; Inhalt des Objekts; Erkennen eines externen Ereignisses, das in einer Umgebung außerhalb des Betriebs des sekundären Servers auftritt, und wobei das externe Ereignis vorbestimmt ist, wahrscheinlich zu einem vermehrten Zugreifen auf das Objekt an dem sekundären Standort zu führen; und Kundenunterstützungsebene eines anfordernden Benutzers, der das Objekt über den sekundären Server angefordert und veranlasst hat, dass das Objekt von dem primären Server auf den sekundären Server kopiert wird.
  3. Computerprogrammprodukt nach Anspruch 1, wobei die Prioritäten für die Objekte zumindest eine erste und eine zweite Priorität beinhalten, wobei die Arbeitsschritte ferner aufweisen: Ermitteln einer Netzwerkbandbreite; Ermitteln von zumindest einer Priorität von zu übertragenden zwischengespeicherten Objekten, die der ermittelten Netzwerkbandbreite zugehörig ist; Übertragen der Änderungen für die zwischengespeicherten Objekte, welche die ermittelte zumindest eine Priorität aufweisen, an den sekundären Server; und Verzögern der Übertragung von Änderungen für die zwischengespeicherten Objekte, welche die ermittelte zumindest eine Priorität nicht aufweisen, an den sekundären Server.
  4. Computerprogrammprodukt nach Anspruch 3, wobei die Arbeitsschritte ferner aufweisen: Ordnen von Änderungen an Objekten innerhalb Prioritäten gemäß der Übertragungsgröße, wobei das Übertragen der Änderungen für zwischengespeicherte Objekte einer Priorität zuerst Änderungen mit kleinerer Übertragungsgröße überträgt.
  5. Computerprogrammprodukt nach Anspruch 1, wobei die Prioritäten für die Objekte zumindest eine erste, eine zweite und eine dritte Priorität beinhalten, wobei die Arbeitsschritte ferner aufweisen: Ermitteln, ob die Netzwerkbandbreite für das Netzwerk unter einen ersten vorbestimmten Schwellwert fällt; als Reaktion auf das Ermitteln, dass die Netzwerkbandbreite den ersten vorbestimmten Schwellwert überschreitet, Kopieren von Änderungen auf den sekundären Server für an dem sekundären Standort zwischengespeicherte Objekte, welche die erste, die zweite bzw. die dritte Priorität aufweisen; als Reaktion auf das Ermitteln, dass die Netzwerkbandbreite unter den ersten vorbestimmten Schwellwert fällt und einen zweiten vorbestimmten Schwellwert überschreitet, Durchführen von: Kopieren lediglich von Änderungen für Objekte, die eine Priorität in einem ersten Satz von Prioritäten aufweisen, auf den sekundären Server; und Einreihen von Änderungen für Objekte, die an dem sekundären Standort zwischengespeichert sind und nicht eine der Prioritäten in dem ersten Satz von Prioritäten aufweisen, in einer Warteschlange; und als Reaktion auf das Ermitteln, dass die Netzwerkbandbreite unter den zweiten vorbestimmten Schwellwert fällt, Durchführen von: Kopieren lediglich von Änderungen für Objekte, die eine Priorität in einem zweiten Satz von Prioritäten aufweisen und an dem sekundären Standort zwischengespeichert sind, auf den sekundären Standort, wobei der zweite Satz von Prioritäten zumindest eine geringere Priorität als der erste Satz enthält; und Einreihen von Änderungen für Objekte, die an dem sekundären Standort zwischengespeichert sind und nicht eine der Prioritäten in dem zweiten Satz aufweisen, in einer Warteschlange.
  6. Computerprogrammprodukt nach Anspruch 1, wobei die Arbeitsschritte ferner aufweisen: Übertragen von Objekten an dem primären Standort an eine Vielzahl von sekundären Standorten über ein Netzwerk durch den primären Server zum Zwischenspeichern an den sekundären Standorten, wobei jeder sekundäre Standort einen sekundären Server und einen sekundären Speicher aufweist; Bereitstellen von Zugriff auf die an dem primären Standort gepflegten Objekte für auf die Objekte über die sekundären Standorte zugreifende Benutzer durch den primären Server; und Empfangen von verschiedenen Prioritäten für zumindest eines der Objekte von den auf die Objekte zugreifenden sekundären Standorten.
  7. Computerprogrammprodukt zum Zwischenspeichern von Objekten, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, auf dem durch einen Computer lesbarer Programmcode enthalten ist, der ausgeführt wird, um Arbeitsschritte durchzuführen, wobei die Arbeitsschritte aufweisen: Empfangen von Objekten an einem sekundären Standort, die von einem primären Standort zum Zwischenspeichern an dem sekundären Standort übertragen werden, wobei der primäre Standort einen primären Server und einen primären Speicher beinhaltet, und wobei der sekundäre Standort einen sekundären Server und einen sekundären Speicher zum Zwischenspeichern der Objekte von dem primären Standort beinhaltet, wobei der primäre und der sekundäre Standort über ein Netzwerk miteinander verbunden sind; Pflegen von Prioritätszuordnungsdaten auf dem sekundären Server, die eine Zuordnung von Prioritäten und Objektattributen bereitstellen; Ermitteln von Attributen für die an dem sekundären Standort zwischengespeicherten Objekte; Ermitteln der Prioritäten für die zwischengespeicherten Objekte aus den Prioritätszuordnungsdaten entsprechend den ermittelten Attributen; und Übertragen der ermittelten Prioritäten für die auf dem sekundären Speicher zwischengespeicherten Objekte an den primären Server, damit der primäre Server diese dazu verwendet, eine Übertragung der ermittelten Änderungen an den Objekten an den sekundären Server zu steuern.
  8. Computerprogrammprodukt nach Anspruch 7, wobei die Prioritätsdaten Benutzerzugriffshäufigkeits-Schwellwerten Prioritäten zuordnen, wobei das Ermitteln der Attribute für die Objekte das Ermitteln von Objektzugriffshäufigkeiten beruhend auf dem Benutzerzugriff des Objekts während dessen Zwischenspeicherung an dem sekundären Standort aufweist, und wobei das Ermitteln der Priorität für das zwischengespeicherte Objekt das Vergleichen der ermittelten Objektzugriffshäufigkeit mit zumindest einem der Zugriffshäufigkeitsschwellwerte und das Ermitteln der dem ermittelten zumindest einem der Zugriffshäufigkeitsschwellwerte zugehörigen Priorität aus den Prioritätsdaten aufweist, und/oder wobei die Prioritätsdaten verschiedenen Kundenunterstützungsebenen Prioritäten zuordnen, wobei das Ermitteln der Attribute für die Objekte das Ermitteln einer Kundenunterstützungsebene eines anfordernden Benutzers aufweist, der auf das zwischengespeicherte Objekt an dem sekundären Standort zugegriffen hat, und wobei das Ermitteln der Priorität für das zwischengespeicherte Objekt das Ermitteln der der Kundenunterstützungsebene für den anfordernden Benutzer zugehörigen Priorität aus den Prioritätsdaten aufweist.
  9. Computerprogrammprodukt nach Anspruch 7, wobei die Prioritätsdaten zwischengespeicherten Objekten und Prioritäten Beschreibungen externer Ereignisse zuordnen, wobei das externe Ereignis in einer Umgebung außerhalb des Betriebs des sekundären Servers auftritt, und wobei das externe Ereignis vorbestimmt ist, wahrscheinlich zu einem geänderten Zugreifen auf das Objekt an dem sekundären Standort zu führen, wobei das Ermitteln der Attribute für die Objekte das Erkennen eines Ereignisses aufweist, das einer der in den Prioritätsdaten angegebenen Beschreibungen externer Ereignisse entspricht, und wobei das Ermitteln der Priorität für das zwischengespeicherte Objekt das Ermitteln des zwischengespeicherten Objekts und der dem erkannten Ereignis entsprechenden Beschreibung externer Ereignisse zugehörigen Priorität aus den Prioritätsdaten aufweist.
  10. Computerprogrammprodukt nach Anspruch 7, wobei die Prioritätsdaten Inhaltstypen Prioritäten zuordnen, wobei das Ermitteln der Attribute für die zwischengespeicherten Objekte das Verarbeiten von Inhalten des Objekts aufweist, um zumindest einen Inhaltstyp für die zwischengespeicherten Objekte zu ermitteln, und wobei das Ermitteln der Priorität das Ermitteln zumindest einer der dem ermittelten zumindest einen Inhaltstyp zugehörigen Prioritäten und das Verarbeiten der ermittelten zumindest einer der Prioritäten zum Ermitteln der Priorität für die zwischengespeicherten Objekte aufweist.
  11. Computerprogrammprodukt nach Anspruch 7, wobei die Prioritäten durch den sekundären Server beruhend auf mindestens einem der folgenden zugewiesen werden: durch einen Systemverwalter zugewiesene Priorität; Inhalt des Objekts; auf das Objekt angewendete Systemverwaltereinstellungen; Erkennen eines externen Ereignisses, das in einer Umgebung außerhalb des Betriebs des sekundären Servers auftritt, und wobei das externe Ereignis vorbestimmt ist, wahrscheinlich zu einem vermehrten Zugreifen auf das Objekt an dem sekundären Standort zu führen; und Kundenunterstützungsebene eines anfordernden Benutzers, der das Objekt über den sekundären Server angefordert und veranlasst hat, dass das Objekt von dem primären Standort zu dem Benutzer an dem sekundären Standort kopiert wird.
  12. System zum Zwischenspeichern von Objekten, das mit einem sekundären Standort über ein Netzwerk Daten austauscht, wobei der sekundäre Standort einen sekundären Server und einen sekundären Speicher aufweist, aufweisend: einen Speicher; einen Prozessor; ein durch einen Computer lesbares Speichermedium mit einem Code, der durch den Prozessor ausgeführt wird, um Arbeitsschritte durchzuführen, wobei die Arbeitsschritte aufweisen: Kopieren von Objekten aus dem Speicher an den sekundären Standort zum Zwischenspeichern an dem sekundären Standort; Empfangen von Prioritäten für die Objekte an dem sekundären Standort von dem sekundären Server beruhend auf von dem sekundären Server angestellten Ermittlungen in Bezug auf die auf dem sekundären Speicher zwischengespeicherten Objekte; Ermitteln von Änderungen an den Objekten auf dem primären Speicher, die auf dem sekundären Speicher zwischengespeichert sind; und Verwenden der von dem sekundären Server empfangenen Prioritäten für die Objekte, um eine Übertragung der ermittelten Änderungen an den Objekten an den sekundären Server zu steuern.
  13. System zum Zwischenspeichern von Objekten, das mit einem primären Standort über ein Netzwerk Daten austauscht, wobei der primäre Standort einen primären Server und einen primären Speicher aufweist, aufweisend: einen Speicher; einen Prozessor; ein durch einen Computer lesbares Speichermedium mit einem Code, der durch den Prozessor ausgeführt wird, um Arbeitsschritte durchzuführen, wobei die Arbeitsschritte aufweisen: Empfangen von von dem primären Standort zum Zwischenspeichern in dem Speicher übertragenen Objekten; Pflegen von Prioritätszuordnungsdaten, die eine Zuordnung von Prioritäten und Objektattributen bereitstellen; Ermitteln von Attributen für die in dem Speicher zwischengespeicherten Objekte; Ermitteln der Prioritäten für die zwischengespeicherten Objekte aus den Prioritätszuordnungsdaten entsprechend den ermittelten Attributen; und Übertragen der ermittelten Prioritäten für die auf dem Speicher zwischengespeicherten Objekte an den primären Server, damit der primäre Server diese dazu verwendet, eine Übertragung der ermittelten Änderungen an den Objekten an das System zu steuern.
  14. Verfahren zum Zwischenspeichern von Objekten, aufweisend: Kopieren von Objekten von einem primären Standort an einen sekundären Standort, um sie an dem sekundären Standort zwischenzuspeichern, wobei der primäre Standort einen primären Server und einen primären Speicher beinhaltet, und wobei der sekundäre Standort einen sekundären Server und einen sekundären Speicher beinhaltet, wobei der primäre und der sekundäre Standort über ein Netzwerk miteinander verbunden sind; Empfangen von Prioritäten für die Objekte an dem sekundären Standort von dem sekundären Server beruhend auf von dem sekundären Server angestellten Ermittlungen in Bezug auf die Objekte; Ermitteln von Änderungen an den Objekten auf dem primären Speicher, die auf dem sekundären Speicher zwischengespeichert sind; und Verwenden der von dem sekundären Server empfangenen Prioritäten für die Objekte, um eine Übertragung der ermittelten Änderungen an den Objekten an den sekundären Server zu steuern.
  15. Verfahren zum Zwischenspeichern von Objekten, aufweisend: Empfangen von Objekten an einem sekundären Standort, die von einem primären Standort zum Zwischenspeichern an dem sekundären Standort übertragen werden, wobei der primäre Standort einen primären Server und einen primären Speicher beinhaltet, und wobei der sekundäre Standort einen sekundären Server und einen sekundären Speicher zum Zwischenspeichern der Objekte von dem primären Standort beinhaltet, wobei der primäre und der sekundäre Standort über ein Netzwerk miteinander verbunden sind; Pflegen von Prioritätszuordnungsdaten auf dem sekundären Server, die eine Zuordnung von Prioritäten und Objektattributen bereitstellen; Ermitteln von Attributen für die an dem sekundären Standort zwischengespeicherten Objekte; Ermitteln der Prioritäten für die zwischengespeicherten Objekte aus den Prioritätszuordnungsdaten entsprechend den ermittelten Attributen; und Übertragen der ermittelten Prioritäten für die an dem sekundären Speicher zwischengespeicherten Objekte an den primären Server, damit der primäre Server diese dazu verwendet, eine Übertragung der ermittelten Änderungen an den Objekten an den sekundären Server zu steuern.
DE102013204186.1A 2012-03-26 2013-03-12 Ermitteln von Prioritäten für zwischengespeicherte Objekte zum Ordnen des Übertragens von Änderungen an zwischengespeicherten Objekten beruhend auf gemessener Netzwerkbandbreite Active DE102013204186B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/430,466 2012-03-26
US13/430,466 US8918474B2 (en) 2012-03-26 2012-03-26 Determining priorities for cached objects to order the transfer of modifications of cached objects based on measured network bandwidth

Publications (2)

Publication Number Publication Date
DE102013204186A1 true DE102013204186A1 (de) 2013-09-26
DE102013204186B4 DE102013204186B4 (de) 2020-09-03

Family

ID=49112398

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013204186.1A Active DE102013204186B4 (de) 2012-03-26 2013-03-12 Ermitteln von Prioritäten für zwischengespeicherte Objekte zum Ordnen des Übertragens von Änderungen an zwischengespeicherten Objekten beruhend auf gemessener Netzwerkbandbreite

Country Status (3)

Country Link
US (2) US8918474B2 (de)
CN (1) CN103368867B (de)
DE (1) DE102013204186B4 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9930310B2 (en) 2009-09-09 2018-03-27 Apple Inc. Audio alteration techniques
US9503731B2 (en) * 2012-10-18 2016-11-22 Nec Corporation Camera system
US11223547B1 (en) 2013-01-07 2022-01-11 Workspot, Inc. Managing information technology infrastructure based on user experience
US20150039359A1 (en) * 2013-08-01 2015-02-05 Santosh Katakol Component Based Mobile Architecture with Intelligent Business Services to Build Extensible Supply Chain Ready Procurement Platforms
US9710976B2 (en) * 2014-06-03 2017-07-18 Hyundai Motor Company System and method for transmitting data of a vehicle
US9921750B2 (en) 2014-11-20 2018-03-20 Samsung Electronics Co., Ltd. Solid state drive (SSD) memory cache occupancy prediction
CN105302497B (zh) * 2015-11-24 2019-09-24 浪潮(北京)电子信息产业有限公司 一种缓存管理方法与系统
US10607386B2 (en) 2016-06-12 2020-03-31 Apple Inc. Customized avatars and associated framework
US20180089880A1 (en) * 2016-09-23 2018-03-29 Apple Inc. Transmission of avatar data
US10861210B2 (en) 2017-05-16 2020-12-08 Apple Inc. Techniques for providing audio and video effects
JP7450726B2 (ja) 2019-12-27 2024-03-15 ヒタチ ヴァンタラ エルエルシー ハイブリッドクラウド非同期データ同期
US11494304B2 (en) * 2020-03-13 2022-11-08 International Business Machines Corporation Indicating extents of tracks in mirroring queues based on information gathered on tracks in extents in cache
US11425196B1 (en) * 2021-11-18 2022-08-23 International Business Machines Corporation Prioritizing data replication packets in cloud environment
CN115842789B (zh) * 2023-02-23 2023-05-09 鹏城实验室 数据包调度方法、设备及可读存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601107B1 (en) * 1998-02-02 2003-07-29 Hughes Electronics Corporation Adaptive fuzzy control of data acquisition and broadcasting
US7054927B2 (en) 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
US7240135B2 (en) 2004-03-05 2007-07-03 International Business Machines Corporation Method of balancing work load with prioritized tasks across a multitude of communication ports
US7716660B2 (en) * 2004-12-14 2010-05-11 Microsoft Corporation Method and system for downloading updates
JP2006350404A (ja) 2005-06-13 2006-12-28 Hitachi Ltd 優先制御方法、計算機システム及び管理装置
US7437510B2 (en) * 2005-09-30 2008-10-14 Intel Corporation Instruction-assisted cache management for efficient use of cache and memory
US8131689B2 (en) 2005-09-30 2012-03-06 Panagiotis Tsirigotis Accumulating access frequency and file attributes for supporting policy based storage management
US7444478B2 (en) * 2005-11-18 2008-10-28 International Business Machines Corporation Priority scheme for transmitting blocks of data
CN100426260C (zh) * 2005-12-23 2008-10-15 中国科学院计算技术研究所 利用路预测技术的多线程处理器的取指方法及系统
CN101682621B (zh) * 2007-03-12 2014-07-09 思杰系统有限公司 用于高速缓存操作的系统和方法
US8234327B2 (en) 2007-03-30 2012-07-31 Netapp, Inc. System and method for bandwidth optimization in a network storage environment
US7864676B2 (en) 2008-07-14 2011-01-04 The Mitre Corporation Network cross-domain precedence and service quality conflict mitigation
US8694578B2 (en) * 2009-05-29 2014-04-08 Microsoft Corporation Swarm-based synchronization over a network of object stores
US20120089700A1 (en) * 2010-10-10 2012-04-12 Contendo, Inc. Proxy server configured for hierarchical caching and dynamic site acceleration and custom object and associated method

Also Published As

Publication number Publication date
US8832218B2 (en) 2014-09-09
US20130254320A1 (en) 2013-09-26
CN103368867A (zh) 2013-10-23
US8918474B2 (en) 2014-12-23
DE102013204186B4 (de) 2020-09-03
CN103368867B (zh) 2017-07-21
US20130254323A1 (en) 2013-09-26

Similar Documents

Publication Publication Date Title
DE102013204186B4 (de) Ermitteln von Prioritäten für zwischengespeicherte Objekte zum Ordnen des Übertragens von Änderungen an zwischengespeicherten Objekten beruhend auf gemessener Netzwerkbandbreite
DE112012004336B4 (de) System, Verfahren und Programmprodukt für kostenbewusste Auswahl von Vorlagen zum Bereitstellen von gemeinsam genutzten Ressourcen
DE112012005037B4 (de) Verwalten von redundanten unveränderlichen Dateien unter Verwendung von Deduplizierungen in Speicher-Clouds
DE112012003505T5 (de) Automatisierte Auswahl von Funktionen zum Verringern der Speicherkapazität auf der Grundlage von Leistungsanforderungen
DE112013001308T5 (de) Verwalten von mandantenspezifischen Datensätzen in einer mandantenfähigen Umgebung
DE112012005032T5 (de) Entfernen der Datenremanenz in deduplizierten Speicher-Clouds
DE112017000629T5 (de) Multi-Tenant-Arbeitsspeicherdienst für Architekturen mit Arbeitsspeicher-Pools
DE102013204508A1 (de) Dynamisches Neukonfigurieren eines Speichersystems
DE112019000421B4 (de) Arbeitslastverwaltung mit datenzugriffserkennung in einem datenverarbeitungscluster
DE112012002762T5 (de) Replikationen von Datenobjekten von einem Quellserver auf einen Zielserver
DE112012005275T5 (de) Datenauswahl zur Sicherung von Datenspeichern
DE112013004805T5 (de) Unterstützen eines koordinierten Zugriffs auf einen gemeinsam genutzten Speicher eines Dateisystems unter Verwendung einer automatischen Ausrichtung eines Protokolls für einen parallelen Dateizugriff und einer Metadatenverwaltung
DE102013205572A1 (de) Verwenden von softwarekomponenten-metadaten zum bereitstellen von virtuellen maschinen in einer vernetzten datenverarbeitungsumgebung
DE102013216735A1 (de) Ressourcenzuweisung in einer virtualisierten Datenverarbeitungsumgebung
DE102012215219A1 (de) Ermitteln von Verteilungen von Abbildmustern von virtuellen Maschinen in einer vernetzten Datenverarbeitungsumgebung
DE112019001433T5 (de) Datenanonymisierung
DE102021127254A1 (de) Inhaltssensitives Auswählen von Knoten zum Erstellen von Containern
DE112018002266T5 (de) Kognitives Datenfiltern für Speicherumgebungen
DE112018002955T5 (de) Kognitive datei- und objektverwaltung für verteilte speicherumgebungen
DE102012220390A1 (de) Verwenden des geografischen Ortes zum Ermitteln von Element- und Gebietsdaten zum Bereitstellen an eine Datenverarbeitungseinheit
DE112021003401T5 (de) Schattenexperimente für serverlose multi-tenant-cloud-dienste
DE112017005022T5 (de) Umladen der Bandverarbeitung auf Objektspeicher
DE112021004290T5 (de) Gemeinsames nutzen von zwischengespeicherten klassendaten in einer containerisierten umgebung
DE112021005586T5 (de) Automatisches skalieren einer abfrage-steuerungsroutine für arbeitslasten im bereich big data auf unternehmensebene
DE112020003825T5 (de) Entsprechung zwischen externen Operationen und Containern sowie Mutationsereignissen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final