-
GEBIET DER ERFINDUNG
-
Ausführungsformen der Erfindung betreffen ein Bestimmen der tatsächlichen nutzbaren Bandbreite einer Netzanbindung.
-
HINTERGRUND
-
Bei vielen Technologien, insbesondere denjenigen, welche bei der Übertragung von Video- und Audiodaten beteiligt sind, ist es erforderlich, die Bitrate zu optimieren, mit welcher ein Datenpaketstrom über eine Netzanbindung übertragen wird, um dem Endnutzer die bestmögliche Erlebnisqualität zu bieten. Aktuell sind bekannte Lösungsansätze zum Wählen einer optimalen Bitrate für eine Übertragung eines Datenpaketstroms über eine spezielle Netzanbindung simplistisch. Mit derartigen Lösungsansätzen gelingt häufig keine korrekte Modellierung des real auftretenden Verhaltens eines Netzwerkes, da ein genaues Erfassen der Nuancen eines Netzwerkverhaltens schwierig und fehlerbehaftet ist.
-
Eine Auslieferung eines digitalen Videos erfolgt typischerweise über ein paketbasiertes Netz unter Verwendung eines CDN (Content Delivery Network = Inhaltslieferungsnetz), beispielsweise eines Kabelanbieters. In einem CDN ist ein Quellen- oder Kabelkopf-Server für ein Erzeugen oder Bereitstellen eines Videoinhalts verantwortlich, der über das Netz an Clients ausgeliefert werden kann, die den Videoinhalt angefordert haben. Wenn ein spezielles geographisches Gebiet genügend Clients aufweist, die an das CDN angeschlossen sind, wird häufig ein Edge-Server eingesetzt, um bei der Bereitstellung eines Dienstes für dieses geographische Gebiet zu helfen. Die Rolle des Edge-Servers besteht darin, dass er Anfragen von in diesem Gebiet befindlichen Clients empfängt und diese Anfragen an den Kopfstellen-Server des CDN weiterleitet. Obschon möglicherweise Clients in einem Gebiet mehrere Anfragen nach dem gleichen Videoinhalt senden können, braucht der Edge-Server lediglich eine einzige Anfrage nach dem Videoinhalt an den Kabelkopf-Server senden; sobald der Edge-Server den angefragten Videoinhalt von dem Kabelkopf-Server besitzt, kann der Edge-Server den Videoinhalt an einen beliebigen Client ausliefern, der den Videoinhalt anfragt, und zwar in dem geographischen Gebiet, für welches der Edge-Server verantwortlich ist. Dieser Lösungsansatz weist somit den Vorteil auf, dass Bandbreite im CDN zwischen dem Kopfstellen-Server und den Edge-Servern eingespart wird.
-
Ein CDN kann als CCAP (Converged Cable Access Platform) implementiert sein, was eine Industriestandardplattform zur Übertragung von Videodaten und Audioinhalt ist. Die CCAP ist durch CableLabs, Louisville, Colorado spezifiziert. CableLabs hat Spezifikationen einer Remote-PHY-Familie veröffentlicht, die als MHAv2-Spezifikationen bekannt sind (MHAv2 = Modular HeadendArchitecture version 2). Die MHAv2-Spezifikationen beschreiben, wie eine CCAP-Plattform in zwei Komponenten aufgeteilt werden kann, und zwar (1) einen CCAP-Core, der sich an einer Kabelkopfstelle befindet, und (2) eine RPD (RPD = Remote PHY Device = Remote-PHY-Einrichtung), die sich typischerweise im Outdoor-Bereich befindet. Eine RPD kann sich beispielsweise an der Verbindungsstelle der Faser- und Koax-Anlagen in einem optischen Knoten befinden, der als RPN dient (RPN = Remote PHY Node = Remote-PHY-Knoten).
-
1 ist ein Blockdiagramm eines beispielhaften CCAP-Systems, das eine RPD beinhaltet, die sich innerhalb eines RPN befindet, gemäß den MHAv2-Spezifikationen des Standes der Technik. Bei der RPD von 1 erfolgt die Upstream-Kommunikation (d. h. in Richtung von der RPD zu dem CCAP-Core) über ein digitales Lichtleitfasernetz unter Verwendung von Ethernet/IP zu weiteren Netzwerkeinrichtungen. In Downstream-Richtung (d. h. in Richtung von der RPD zu einem DOCSIS-Kabelmodem (DOCSIS = Data Over Cable Service Interface Specification) moduliert die RPD Informationsdatenströme (Daten, Video, Sprache etc.) in RF-Signale, die über Koaxialkabel transportiert werden, und demoduliert ähnliche Ströme aus empfangenen RF-Signalen (RF = Radio Frequency = Hochfrequenz).
-
Figurenliste
-
Ausführungsformen der Erfindung sind beispielhaft und nicht einschränkend in den Figuren der anliegenden Zeichnungen dargestellt, wobei gleiche Bezugszeichen ähnliche Elemente bezeichnen; es sind:
- 1 ein Blockdiagramm eines CCAP-Systems, das einen RPN gemäß den MHAv2-Spezifikationen des Standes der Technik beinhaltet (RPN = Remote PHYNode = Remote-PHY-Knoten);
- 2 ein Blockdiagramm eines CDN-Edge-Knotens (CDN = Content Delivery Network = Inhaltslieferungsnetz), der einen Datenpaketstrom an ein CPE sendet, gemäß einer Ausführungsform der Erfindung (CPE = Customer Premises Equipment = Teilnehmerendgerät);
- 3 ein Ablaufdiagramm, das die funktionalen Schritte eines Bestimmens einer Bitrate darstellt, mit der ein Datenpaketstrom über eine Netzanbindung auszuliefern ist, gemäß einer Ausführungsform der Erfindung; und
- 4 ein Blockdiagramm eines Computersystems, das einer in 2 dargestellten Quelleneinrichtung oder Zieleinrichtung entsprechen kann, gemäß einer Ausführungsform der Erfindung.
-
DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
-
Lösungsansätze zur Bestimmung einer optimalen Bitrate, mit der ein Datenpaketstrom über eine Netzanbindung, basierend auf im Netz beobachteten Gegebenheiten, ausgeliefert wird, werden hier vorgestellt. In der folgenden Beschreibung sind zu Erläuterungszwecken zahlreiche spezifische Details dargelegt, um für ein grundlegendes Verständnis der Ausführungsformen der hier beschriebenen Erfindung zu sorgen. Es versteht sich jedoch, dass die hier beschriebenen Ausführungsformen der Erfindung ohne diese spezifischen Details ausgeführt sein können. In anderen Fällen sind allgemein bekannte Strukturen und Vorrichtungen in Form eines Blockdiagramms dargestellt oder werden auf einer höheren Ebene erörtert, um zu vermeiden, dass die Lehren der Ausführungsformen der Erfindung unklar werden.
-
Ausführungsformen der Erfindung ermöglichen, dass ein Knoten, beispielsweise, jedoch nicht eingeschränkt auf einen CDN-Edge-Knoten (CDN = Content Delivery Network = Inhaltslieferungsnetz), identifiziert, mit welcher Bitrate ein Datenpaketstrom über eine Netzanbindung an eine Zieleinrichtung, beispielsweise ein Kabelmodem (CM), ausgeliefert werden sollte, und zwar basierend auf beobachteten Gegebenheiten dieser Netzanbindung. Es können Ausführungsbeispiele verwendet werden, um eine Videobitratenwahl in einem über eine adaptive Bitrate verfügenden Streaming-Protokoll, beispielsweise HLS oder DASH, auszuführen (HLS = HTTP Live Streaming; DASH = Dynamic Adaptive Streaming over HTTP). Bei Ausführungsbeispielen kann eine Erlebnisqualität eines Benutzers bewahrt werden, indem man den Datenpaketstrom nutzt und dabei weiterhin den Einfluss auf die Bandbreite der Netzanbindung beobachtet, die aus einer Übertragung des Datenpaketstroms mit höherer Bitrate resultiert. Ausführungsbeispiele können vollständig bei dem Knoten implementiert werden, der den Datenpaketstrom über die Netzanbindung sendet, ohne dass ein individuell angepasster Client an dem Zielort erforderlich wäre oder beteiligt wäre.
-
Als Beispiel eines Kontextes, in dem Ausführungsformen der Erfindung zum Einsatz kommen können, betrachte man 2, welches ein Blockdiagramm einer Quelleneinrichtung 210 ist, die einen Datenpaketstrom an eine Zieleinrichtung 220 über eine Netzanbindung 230 sendet, gemäß einer Ausführungsform der Erfindung. Eine Quelleneinrichtung 210, wie hier im weitesten Sinne verwendet, repräsentiert jegliches Computersystem, das fähig ist, einen Strom von Paketen über eine Netzanbindung 230 zu senden. Eine Zieleinrichtung 220, wie hier im weitesten Sinne verwendet, repräsentiert jegliches Computersystem, das in der Lage ist, einen Strom von Paketen über die Netzanbindung 230 zu empfangen.
-
Die Quelleneinrichtung 210 und die Zieleinrichtung 220 können in vielerlei unterschiedlichen Kontexten implementiert sein, beispielsweise einem CDN (CDN = Content Delivery Network = Inhaltslieferungsnetz). Beispielsweise kann eine Quelleneinrichtung 210 einem CDN-Edge-Knoten entsprechen, hingegen kann eine Zieleinrichtung 220 einem Kabelmodem (CM) entsprechen. Als weiteres Beispiel kann die Quelleneinrichtung 210 einem Server entsprechen, der an einer Kabelkopfstelle betrieben wird, und die Zieleinrichtung 220 kann einem CDN-Edge-Knoten entsprechen.
-
Die Netzanbindung 230, wie hier im weitesten Sinne verwendet, repräsentiert jeglichen Mechanismus für ein Austauschen von Datenpaketen zwischen der Quelleneinrichtung 210 und der Zieleinrichtung 220. Die Netzanbindung 230 kann beispielsweise durch ein kabelloses Netzwerk oder ein kabelgebundenes Netzwerk implementiert sein. Der Austausch von Datenpaketen über die Netzanbindung 230 kann unter Verwendung vielerlei verschiedener Protokolle durchgeführt werden, einschließlich und nicht einschränkend TCP und UDP (TCP = Transmission Control Protocol = Übertragungssteuerprotokoll; UDP = User Datagram Protocol = Benutzerdatagrammprotokoll). Um ein konkretes Beispiel zu liefern, kann die Netzanbindung 230 unter Verwendung einer TCP-Verbindung implementiert sein, die sich zumindest über „das Netzwerk der letzten Meile“ zu einem Kabelkundengerät (d. h. einem CPE) erstreckt (CPE = Customer Premises Equipment = Teilnehmerendgerät).
-
Aus verschiedenen Gründen treten bei der für die Netzanbindung 230 verfügbaren effektiven Bandbreite über einen zeitlichen Verlauf Schwankungen auf. Beispielsweise schwankt die für die Netzanbindung 230 verfügbare effektive Bandbreite basierend auf den Netzwerkverbindungen, die zu einer beliebigen gegebenen Zeit über die Netzanbindung 230 transportiert werden. Als weiteres Beispiel kann in einer Wohnung eines Benutzers eine Funkstörung eine Beeinträchtigung der Verbindung zwischen der den Videodatenstrom konsumierenden Einrichtung des Benutzers und jeglichem vom Benutzer verwendeten Wi-Fi-Router bewirken. Weitere Quellen von intermittierendem Rauschen und Störungen vor Ort können die verfügbare Bandbreite auf der Netzanbindung 230 beeinträchtigen.
-
3 ist ein Ablaufdiagramm, das die funktionalen Schritte einer Bestimmung einer Bitrate darstellt, mit welcher ein Datenpaketstrom über eine Netzanbindung auszuliefern ist, gemäß einer Ausführungsform der Erfindung. Die Schritte von 3 sind konzipiert, um die höchste Bitrate für ein Senden eines Datenpaketstroms über die Netzanbindung 230, die aktuell als nachhaltig erachtet wird, auszuwählen oder zu identifizieren. Das Ziel besteht nicht einfach darin, eine Auslieferung mit der höchsten Bitrate durchzuführen, die über die Netzanbindung 230 möglich ist, sondern vielmehr besteht das Ziel darin, eine Maximierung der Erlebnisqualität des Benutzers mit dem ausgelieferten Datenpaketstrom zu bewerkstelligen. Obschon es richtig ist, dass ein Ausliefern eines Videodatenstroms mit einer höheren Bitrate zu einer größeren wahrgenommenen Bitqualität für den Betrachter führen kann, kann auch das Umgekehrte richtig sein. Beispielsweise kann ein Erhöhen der Bitrate eines Videodatenstroms über das hinaus, was durch die aktuellen Betriebsbedingungen einer Netzanbindung sicher unterstützt werden kann, zu einem Stocken des Videos führen (was passieren kann, wenn ein Videodecoder nicht genügend Bits zum Abspielen erhält, wenn eine gewählte Bitrate zu hoch ist) und/oder zu häufigem Wechsel von Bitraten führen. In beiden Fällen kann der Benutzer eine Verschiebung, einen Übergang oder eine Diskontinuität bei der Bildqualität wahrnehmen, was zu einer geringeren Gesamterlebnisqualität führen kann, als wenn man von vorneherein auf eine Lieferung eines Videos von höherer Bildqualität verzichtet hätte. In vorteilhafter Weise wird bei Ausführungsbeispielen die Erlebnisqualität eines Benutzers dadurch bewahrt, dass der Datenpaketstrom genutzt wird und dabei weiterhin der Einfluss auf die Bandbreite der Netzanbindung beobachtet wird, der von einem Senden des Datenpaketstroms mit höherer Bitrate herrührt; somit wird, in Übereinstimmung mit den tatsächlichen beobachteten Bedingungen auf der Netzanbindung 230, die Erlebnisqualität des Benutzers maximiert.
-
Erneut Bezug nehmend auf die Schritte von 3, sendet bei Schritt 310 die Quelleneinrichtung 210 über die Netzanbindung 230 unverlangte Datenpakete an die Zieleinrichtung 220, wobei dabei gleichzeitig über die Netzanbindung 230 ein erster Datenpaketstrom, der mit einer anfänglichen Bitrate codiert ist, an die Zieleinrichtung 220 gesendet wird. Der erste Datenpaketstrom repräsentiert den Datenpaketstrom, bei dem man anstrebt, die Erlebnisqualität des Benutzers bei der Verwendung in nachhaltiger Weise über die Netzanbindung 230 zu optimieren. Beispielsweise kann der erste Datenpaketstrom einem digitalen Video oder einem digitalen Inhalt, der von einem CDN angefragt wird, oder einem Videodatenstrom entsprechen, der zu einer Anwendung wie beispielsweise einer Videokonferenzsoftware gehört.
-
Die unverlangten Datenpakete können unverlangten, erneut übertragenen Paketen entsprechen, und zwar mittels vielerlei Transportprotokollen wie beispielsweise, jedoch nicht eingeschränkt auf, TCP und UDP (TCP = Transmission Control Protocol = Übertragungssteuerprotokoll; UDP = User Datagram Protocol = Benutzerdatagrammprotokoll). Der Zweck eines Sendens der unverlangten Datenpakete besteht darin, dass dadurch die tatsächliche aktuell für die Netzanbindung 230 verfügbare Bandbreite durch die Quelleneinrichtung 210 bewertet und ermittelt werden kann. Die unverlangten Datenpakete werden durch den empfangenden Client an der Zieleinrichtung 220 verworfen, falls die unverlangten Datenpakete nicht benötigt werden. Es ist beabsichtigt, dass der überwiegende Teil dieser unverlangten Datenpakete nicht benötigt wird, da beabsichtigt ist, dass sie lediglich einen Teil der aktuell für die Netzanbindung 230 verfügbaren Bandbreite verbrauchen.
-
Bei Schritt 320 bestimmt die Quelleneinrichtung 210, ob der aktuelle Zustand der Netzanbindung 230 ein Ausliefern eines zweiten Datenpaketstroms anstelle des ersten Datenpaketstroms unterstützt. Der zweite Datenpaketstrom kann einer unterschiedlichen Version des ersten Datenpaketstroms entsprechen, die mit einer neuen Bitrate codiert ist. Diese Bestimmung kann nur an der Quelleneinrichtung 210 vorgenommen werden, und zwar basierend auf der Anzahl von durch die Quelleneinrichtung 210 empfangenen Anfragen nach einer Neuübertragung für Pakete, die nicht durch die Zieleinrichtung 220 empfangen wurden. Auf diese Weise kann, falls die Menge an unverlangten Datenpaketen, die von der Quelleneinrichtung 210 an die Zieleinrichtung 220 über die Netzanbindung 230 gesendet wurden, bewirkt, dass die Netzanbindung 230 gewisse von der Zieleinrichtung 220 erwartete Pakete jenseits eines akzeptierten Schwellenwertes verwirft, dann die Quelleneinrichtung 210 ermitteln, dass die Menge an verfügbarer Bandbreite, die der Netzanbindung 230 aktuell zur Verfügung steht, derzeit keine Übertragung von Inhalten mit höherer Bitrate unterstützt.
-
Ausführungsbeispiele können eine Erhöhung oder Verringerung der Menge an unverlangten Datenpaketen je nach Bedarf im zeitlichen Verlauf vornehmen, bis die aktuell der Netzanbindung 230 zur Verfügung stehende Bandbreite mit einem gewissen Vertrauensniveau sichergestellt ist. Dieser Prozess kann im zeitlichen Verlauf periodisch wiederholt werden, um die aktuell verfügbare Bandbreite, die der Netzanbindung 230 zur Verfügung steht, kontinuierlich zu überwachen.
-
Ausführungsformen der Erfindung ermöglichen vielerlei unterschiedliche Anwendungen. Beispielsweise können die Schritte von 3 verwendet werden, um vom Menschen generierte client- oder serverseitige Bitraten-Optimierungen für ein Codieren, Transcodieren oder ein Übertragen von Paketdatenströmen zu verbessern. Als weiteres Beispiel können die Schritte von 3 verwendet werden, um Trainingsdaten von durch künstliche Intelligenz vorgenommenen dient- oder serverseitigen Bitraten-Optimierungen für ein Codieren, Transcodieren oder Übertragen von Datenpaketströmen zu sammeln.
-
Ausführungsbeispiele können verwendet werden, um die Qualität von Software zu verbessern, die ein Anzeigen von Videodatenströmen für einen oder mehrere Benutzer durchführt. Beispielsweise können bei einem Ausführungsbeispiel die Quelleneinrichtung 210 und die Zieleinrichtung 220 Computersysteme sein, die beide eine Videokonferenzsoftware ausführen. Die Videokonferenzsoftware, die auf einer Quelleneinrichtung 210 und einer Zieleinrichtung 220 ausgeführt wird, kann einen Videoanruf hosten. Die Videokonferenzsoftware kann für die Zieleinrichtung 210, unter Verwendung eines Ausführungsbeispiels, eine neue Bitrate zur Verwendung bei der Übertragung von Videodatenströmen über die Netzanbindung 230 an die Zieleinrichtung 220 bestimmen.
-
Die US-Patentanmeldung mit der Serien-Nr. 16/798,940 (die '940-Anmeldung), wurde am 24. Februar 2020 eingereicht, trägt den Titel „Automatic OFDM Profile Selection“ (Automatische OFDM-Profilauswahl), und erörtert Lösungsansätze für eine Wahl eines geeigneten DOCSIS-Profils für einen OFDM-Kanal (OFDM = Orthogonal Frequency-Division Multiplexing = Orthogonales Frequenzmultiplexverfahren). Ausführungsformen der Erfindung können die Modulationsprofil-Zuweisungsmethoden verwenden, die in der '940-Anmeldung erörtert wurden, um ein geeignetes DOCSIS-Profil auszuwählen, das eine neue Bitrate identifiziert, wie durch die Schritte von 3 für einen OFDM-Kanal aufgezeigt wird.
-
4 ist ein Blockdiagramm eines Computersystems, das einer in 2 dargestellten Quelleneinrichtung oder Zieleinrichtung entsprechen kann, gemäß einer Ausführungsform der Erfindung. Bei einer Ausführungsform beinhaltet das Computersystem 400 einen Prozessor 404, einen Hauptspeicher 406, ein ROM 408, eine Speichervorrichtung 410 und eine Kommunikationsschnittstelle 418. Das Computersystem 400 beinhaltet mindestens einen Prozessor 404 zum Verarbeiten von Information. Das Computersystem 400 beinhaltet auch einen Hauptspeicher 406, wie beispielsweise einen RAM (Random Access Memory = Direktzugriffsspeicher) oder eine andere dynamische Speichervorrichtung zum Speichern von Informationen und Anweisungen, die durch den Prozessor 404 auszuführen sind. Der Hauptspeicher 406 kann auch für ein Speichern von temporären Variablen oder weiterer Zwischeninformation während eines Ausführens von durch den Prozessor 404 auszuführenden Anweisungen verwendet werden. Das Computersystem 400 beinhaltet weiter einen ROM (Read Only Memory = Festwertspeicher) 408 oder eine andere statische Speichervorrichtung zum Speichern von statischer Information und Anweisungen für den Prozessor 404. Eine Speichervorrichtung 410, wie beispielsweise eine Magnetplatte oder eine optische Platte, ist für ein Speichern von Information und Anweisungen vorgesehen.
-
Ausführungsformen der Erfindung betreffen die Verwendung eines Computersystems 400 für ein Implementieren der hier beschriebenen Methoden. Gemäß einer Ausführungsform der Erfindung werden diese Methoden durch das Computersystems 400 ansprechend darauf durchgeführt, dass der Prozessor 404 eine oder mehrere Sequenzen aus einer oder mehreren im Hauptspeicher 406 befindlichen Anweisungen ausführt. Derartige Anweisungen können in den Hauptspeicher 406 von einem anderen maschinenlesbaren Medium, wie beispielsweise der Speichervorrichtung 410, eingelesen werden. Ein Ausführen der im Hauptspeicher 406 enthaltenen Sequenzen von Anweisungen veranlasst den Prozessor 404, die hier beschriebenen Prozessschritte auszuführen. Bei alternativen Ausführungsformen kann ein fest verdrahteter Schaltkreis verwendet werden, anstelle oder in Kombination mit Softwareanweisungen, um Ausführungsformen der Erfindung zu implementieren. Somit sind Ausführungsformen der Erfindung nicht auf irgendeine spezifische Kombination aus Hardware-Schaltkreisen und Software eingeschränkt.
-
Der Begriff „nicht-transitorisches maschinenlesbares Speichermedium“, wie hier verwendet, bezieht sich auf jegliches körperlich greifbare Medium, das am Speichern von Anweisungen teilnimmt, die dem Prozessor 404 zum Ausführen geliefert werden können. Nicht einschränkende, illustrierende Beispiele für nicht-transitorische maschinenlesbare Medien beinhalten beispielsweise eine Diskette, eine flexible Disk, eine Festplatte, ein Magnetband oder ein beliebiges anderes magnetisches Medium, eine CD-ROM, ein beliebiges anderes optisches Medium, ein RAM, ein PROM, ein EPROM, ein FLASH-EPROM, einen beliebigen anderen Speicherchip oder -patrone oder ein beliebiges anderes Medium, von dem ein Computer lesen kann.
-
Verschiedene Formen von nicht-transitorischen maschinenlesbaren Medien können daran beteiligt sein, eine oder mehrere Sequenzen aus einer oder mehreren Anweisungen an den Prozessor 404 zur Ausführung zu transportieren. Beispielsweise können sich die Anweisungen anfänglich auf einer Magnetplatte eines entfernt befindlichen Computers befinden. Der entfernte Computer kann die Anweisungen in seinen dynamischen Speicher laden und die Anweisungen über eine Netzanbindung 420 zum Computersystem 400 senden.
-
Die Kommunikationsschnittstelle 418 stellt eine Zweiweg-Datenkommunikationsverbindung zu einer Netzanbindung 420 bereit, die mit einem lokalen Netzwerk verbunden ist. Beispielsweise kann eine Kommunikationsschnittstelle 418 eine ISDN-Karte (ISDN = Integrated Services Digital Network = dienstintegrierendes digitales Netz) oder ein Modem sein, um eine Datenkommunikationsverbindung zu einem korrespondierenden Typ von Telefonleitung bereitzustellen. Als weiteres Beispiel kann eine Kommunikationsschnittstelle 418 eine LAN-Karte (LAN = Local Area Network = Lokales Netzwerk) sein, um eine Datenkommunikationsverbindung zu einem kompatiblen LAN bereitzustellen. Es können auch Funkanbindungen implementiert sein. Bei jeder derartigen Implementierung führt die Kommunikationsschnittstelle 418 ein Senden und Empfangen von elektrischen, elektromagnetischen oder optischen Signalen durch, die digitale Datenströme transportieren, welche verschiedene Typen von Information repräsentieren.
-
Die Netzanbindung 420 stellt typischerweise eine Datenkommunikation über eines oder mehrere Netzwerke zu anderen Datengeräten bereit. Beispielsweise kann die Netzwerk-Anbindung 420 eine Verbindung über ein lokales Netzwerk zu einem Host-Computer oder zu Datenanlagen bereitstellen, die durch einen Internetdienstanbieter (ISP = Internet Service Provider) betrieben werden.
-
Das Computersystem 400 kann Nachrichten senden und Daten, einschließlich Programmcode, empfangen, und zwar über das/die Netzwerk(e), die Netzanbindung 420 und die die Kommunikationsschnittstelle 418. Beispielsweise könnte ein Server einen angeforderten Code für ein Anwendungsprogramm über das Internet, einen lokalen ISP, ein lokales Netzwerk, und danach an die Kommunikationsschnittstelle 418 übertragen. Der empfangene Code kann durch den Prozessor 404 bei Empfang ausgeführt werden, und/oder in einer Speichervorrichtung 410 oder einem anderen nicht flüchtigen Speicher zur späteren Ausführung gespeichert werden.
-
In der vorhergehenden Beschreibung wurden Ausführungsformen der Erfindung mit Bezug auf zahlreiche spezifische Details beschrieben, die von Implementierung zu Implementierung variieren können. Somit ist der einzige und ausschließliche Indikator, was die Erfindung ist und was seitens der Anmelder als Erfindung beabsichtigt ist, der Satz der Ansprüche, die aus dieser Anmeldung hervorgehen, und zwar in der spezifischen Form, in welcher derartige Ansprüche zu erstellen sind, einschließlich jeglicher anschließenden Korrektur. Jegliche Definitionen, die für in derartigen Ansprüchen enthaltene Begriffe hier ausdrücklich dargelegt sind, sollen für die Bedeutung derartiger Begriffe wie in den Ansprüchen verwendet maßgeblich sein. Somit sollte keine Einschränkung, Element, Eigenschaft, Merkmal, Vorteil oder Attribut, das in einem Anspruch nicht ausdrücklich dargelegt ist, den Schutzumfang dieses Anspruchs in irgendeiner Weise einschränken. Die Beschreibung und die Zeichnungen sind demgemäß in einem illustrierenden und nicht in einem einschränkenden Sinn zu verstehen.