DE602004009176T2 - Dienstverwaltung durch verwendung mehrerer dienstort-manager - Google Patents

Dienstverwaltung durch verwendung mehrerer dienstort-manager Download PDF

Info

Publication number
DE602004009176T2
DE602004009176T2 DE602004009176T DE602004009176T DE602004009176T2 DE 602004009176 T2 DE602004009176 T2 DE 602004009176T2 DE 602004009176 T DE602004009176 T DE 602004009176T DE 602004009176 T DE602004009176 T DE 602004009176T DE 602004009176 T2 DE602004009176 T2 DE 602004009176T2
Authority
DE
Germany
Prior art keywords
service
service location
location manager
record
managers
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.)
Expired - Lifetime
Application number
DE602004009176T
Other languages
English (en)
Other versions
DE602004009176D1 (de
Inventor
Michael Palo Alto HARVILLE
Michele Palo Alto COVELL
John Palo Alto ANKCORN
John G. Palo Alto APOSTOLOPOULOS
Sumit Menlo Park ROY
Bo Fremont Shen
Wai-tian Sunnyvale TAN
Susie J. Palo Alto WEE
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE602004009176D1 publication Critical patent/DE602004009176D1/de
Application granted granted Critical
Publication of DE602004009176T2 publication Critical patent/DE602004009176T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5058Service discovery by the service manager
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/509Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to media content delivery, e.g. audio, video or TV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Exchange Systems With Centralized Control (AREA)

Description

  • Verwandte Anmeldung
  • Diese Anmeldung beansprucht Priorität an der mitanhängigen Provisional-Patentanmeldung, Seriennummer 60/471,851, Anwaltsaktenzeichen 200312253-1.PRO, mit dem Titel „Architecture for Distributing and Managing Streaming Media Services", die am 19. Mai 2003 eingereicht wurde und der Bevollmächtigten der vorliegenden Anmeldung zugewiesen ist.
  • Hintergrund
  • Es gibt Netzwerke, in denen eine Clientenvorrichtung die Lieferung einer Mediendatei zusammen mit einer Verarbeitung anfordern kann, die an der angeforderten Mediendatei ausgeführt wird, wie z. B. eine Rauschreduzierung. Sobald die Anforderung zur Medien-Lieferung und -Verarbeitung durch einen Server empfangen wird, wird die Mediendatei wiedergewonnen und dann wird die angeforderte Verarbeitung an dieser Mediendatei durch den Server ausgeführt. Sobald die Verarbeitung vollständig ausgeführt ist, liefert der Server eine Streaming-Lieferung der verarbeiteten Mediendatei zu der Clientenvorrichtung. Es gibt jedoch Nachteile, die diesem Systemtyp zugeordnet sind.
  • Zum Beispiel ist einer der Nachteile, dass der Benutzer der Clientenvorrichtung möglicherweise relativ lange warten muss, während der Server versucht, viele separate Anforderungen zum Verarbeiten und Streamen von Mediendateien zu unterschiedlichen anfordernden Clientenvorrichtungen zu handhaben. Ferner kann die Streamingmediendatei sehr groß sein und es kann lange Zeit benötigen, die angeforderte Verarbeitung an dem Inhalt vor einer Initiierung der Streaming-Lieferung abzuschließen. Dies kann für den Benutzer der Clientenvorrichtung frustrierend sein, besonders, wenn er oder sie versucht, etwas vor einer Frist fertigzustellen.
  • Die US 6,412,004 offenbart einen Metaserver für ein Multimedia-Verteilnetzwerk, das versucht, Engpässe zu beseitigen, Überlastungen zu reduzieren und die Fehlertoleranz zu erhöhen.
  • Aus diesen und anderen Gründen besteht ein Bedarf nach der vorliegenden Erfindung.
  • Zusammenfassung der Erfindung
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein Verfahren gemäß Anspruch 1 geschaffen.
  • Ein Ausführungsbeispiel der Erfindung umfasst ein Verfahren zum Verwalten eines Streaming-Mediendienstes. Das Verfahren umfasst das Empfangen einer Anforderung nach einem Streaming-Mediendienst von einem Clienten. Es wird darauf hingewiesen, dass der Streaming-Mediendienst eine Mediendienstkomponente umfasst. Zusätzlich dazu umfasst das Verfahren das Auswählen einer Dienstortverwaltungseinrichtung, zu der die Anforderung zu liefern ist, aus einer Mehrzahl von Dienstortverwaltungseinrichtungen. Ferner umfasst das Verfahren das Auswählen eines Dienstanbieters, dem die Mediendienstkomponente zuzuweisen ist, aus einer Mehrzahl von Dienstanbietern eines Netzwerks. Ferner umfasst das Verfahren das Informieren des ausgewählten Dienstanbieters über seine Zuweisung, um die Mediendienstkomponente auszuführen, wodurch ermöglicht wird, dass der angeforderte Streaming-Mediendienst an Streamingmedien ausgeführt wird.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm, das einen Informationsfluss in ein und aus einem System zeigt, zum Betreuen (Warten) und Liefern von Inhalt zu einer Clientenvorrichtung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
  • 2 ist ein Blockdiagramm eines Systems zum Betreuen von Inhalt gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
  • 3 ist ein Flussdiagramm aus Operationen, die gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zum Verwalten eines Streaming-Mediendienstes ausgeführt werden.
  • Detaillierte Beschreibung
  • Es wird nun detailliert auf Ausführungsbeispiele der Erfindung Bezug genommen, wobei Beispiele derselben in den beiliegenden Zeichnungen dargestellt sind. Während die Erfindung in Verbindung mit Ausführungsbeispielen beschrieben wird, wird darauf hingewiesen, dass sie die Erfindung nicht auf diese Ausführungsbeispiele einschränken sollen. Im Gegenteil, die Erfindung soll Alternativen, Modifikationen und Entsprechungen abdecken, die in dem Schutzbereich der Erfindung umfasst sein können, wie er durch die beiliegenden Ansprüche definiert ist. Ferner sind in der nachfolgenden, detaillierten Beschreibung der vorliegenden Erfindung zahlreiche spezifische Details ausgeführt, um ein tief greifendes Verständnis der vorliegenden Erfindung zu liefern. Für einen Durchschnittsfachmann auf dem Gebiet ist jedoch offensichtlich, dass die vorliegende Erfindung ohne diese spezifischen Details ausgeführt werden kann. In anderen Fällen wurden bekannte Verfahren, Prozeduren, Komponenten und Schaltungen nicht detailliert beschrieben, um die Aspekte der vorliegenden Erfindung nicht unnötig kompliziert zu machen.
  • Einige Abschnitte der detaillierten Beschreibungen, die folgen, sind im Hinblick auf Prozeduren, Logikblöcke, Verarbeitung und andere symbolische Darstellungen von Operationen an Datenbits in einem Rechensystem oder digitalen Systemspeicher präsentiert. Diese Beschreibungen und Darstellungen sind die Mittel, die durch Fachleute auf dem Gebiet der Datenverarbeitung verwendet werden, um den Gegenstand ihrer Arbeit anderen Fachleuten auf dem Gebiet am effektivsten zu übermitteln. Eine Prozedur, ein Logikblock, ein Prozess etc. wird hierin und allgemein als eine selbstkonsistente Sequenz aus Operationen und Anweisungen betrachtet, die zu einem gewünschten Ergebnis führen. Die Operationen können physische Manipulationen physischer Quantitäten umfassen. Üblicherweise, aber nicht notwendigerweise, nehmen diese physischen Manipulationen die Form elektrischer oder magnetischer Signale an, die in der Lage sind, gespeichert, übertragen, kombiniert, verglichen und anderweitig in einem Rechensystem oder einer ähnlichen elektronischen Rechenvorrichtung manipuliert zu werden. Aus Gründen der Einfachheit und Bezug nehmend auf die allgemeine Verwendung werden diese Signale als Bits, Werte, Elemente, Symbole, Zeichen, Ausdrücke, Zahlen oder ähnliches Bezug nehmend auf die vorliegende Erfindung bezeichnet.
  • Es sollte jedoch berücksichtigt werden, dass all diese Ausdrücke als referenzierende physische Manipulationen und Quantitäten interpretiert werden sollen und ausschließlich vorteilhafte Etiketten sind und weiter interpretiert werden sollen im Hinblick auf Ausdrücke, die allgemein in der Technik verwendet werden. Außer dis ist spezifisch anderweitig angegeben, ist verständlich, wie aus der nachfolgenden Erörterung offensichtlich ist, dass in den Erörterungen der vorliegenden Erfindung Erörterungen, die Ausdrücke verwenden, wie z. B. „Empfangen", „Auswählen", „Informieren", „Benachrichtigen", „Beibehalten", „Überwachen", „Ausführen", „Umleiten", „Schätzen", „Aktualisieren", „Senden", „Übermitteln", „Bestimmen", „Anwenden", "Verarbeiten", „Entscheiden", „Sicherstellen", „Übertragen", „Bereitstellen", „Erkennen", „Erzeugen", „Verwenden", „Entfernen", „Ausschließen", „Verwerfen", „Implementieren", „Einsetzen", „Speichern" oder ähnliches, sich auf die Aktion und Prozesse eines Rechensystems oder einer ähnlichen elektronischen Rechenvorrichtung beziehen, die Daten manipuliert und transformiert. Die Daten sind als physische (elektronische) Quantitäten innerhalb der Register und Speichereinrichtungen des Rechensystems dargestellt und werden in andere Daten transformiert (umgewandelt), die auf ähnliche Weise als physische Quantitäten in den Speichereinrichtungen oder Registern oder anderen solchen Informations-Speicher-, -Übertragungs- oder -Anzeige-Vorrichtungen des Rechensystems dargestellt sind.
  • 1 ist ein Blockdiagramm eines Systems 100 zum Betreuen (Bedienen, Warten) von Inhalt aus einer Inhaltsquelle 110 und zum Liefern des Dienstergebnisinhalts zu einer Clientenvorrichtung 150 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Als Überblick kontaktiert eine Clientenvorrichtung 150, die einen Dienst sucht, das System 100 (z. B. Portal 140). Die Clientenvorrichtung 150 wird zu einem Anbieter des Dienstes umgeleitet (z. B. Dienstanbieter 130). Inhalt aus einer Inhaltsquelle (z. B. Inhaltsquelle 110) wird zu der Clientenvorrichtung über den Dienstanbieter gesendet (z. B. gestreamt). Somit ist das System 100 bei einem Ausführungsbeispiel zum Streamen von Medien von einer Inhaltsquelle zu einer Clientenvorrichtung vorgesehen.
  • Zu Zwecken der vorliegenden Anmeldung bezeichnen Streamingmedien, wie hierin verwendet, Daten, die zwischen Netzwerkknoten auf kontinuierliche Weise kommuniziert werden. Beispiele umfassen das Streamen von Audio und Video, die strikte Zeitbeschränkungen bei der Lieferung aufweisen können. Wenn bei diesen Beispielen Abschnitte dieser Ströme zu spät geliefert werden, werden die zu spät geliefert werden, werden die Abschnitte aufgrund von Unpünktlichkeit ignoriert (sie sind zu spät, um zu beeinflussen, was durch die Clientenanwendung abgespielt wird, und sind daher größtenteils nutzlos). Alternativ, wenn Abschnitte dieser Ströme zu früh geliefert werden, gehen sie aufgrund von Puffereinschränkungen innerhalb der Dienst- oder Clientenanwendung verloren. Andere Beispiele von Daten, die auf kontinuierliche Weise übertragen werden, umfassen Ströme aus Messungen oder Ströme aus Experimentergebnissen. Diese Typen von Strömen umfassen Wetterablesungen von entfernten Sensoren und Temperaturablesungen aus Kühlsystemen. Bei diesen Beispielen gibt es keine strikten Zeiteinschränkungen für die Lieferung. Die Datenübertragung weist jedoch eine Zeitkomponente auf, die am besten durch nahtlos übergehende Übertragungen bedient wird.
  • Als solches hat durch Verwenden von Streamingmedien die Wirkung einer Dienstplatzierung eine langlebige Wirkung auf Ressourcen von sowohl dem Netzwerk als auch den Serverknoten. Zum Beispiel umspannen beim Transcodieren eines Films zum Betrachten unter Streaming-Bedingungen die Daten bis zu zwei Stunden und daher kann die Transcodier-Sitzung bis zu zwei Stunden der Serverzeit umspannen. Für andere Typen eines Streamings (z. B. Instrumentablesungen) kann die Dauer des Stroms und des Dienstes, der an dem Strom ausgeführt wird, unendlich sein. Die Rechenressourcen des Serverknotens werden für lange Zeitperioden unbestimmter Dauer beeinflusst. Auf ähnliche Weise werden die Netzwerkressourcen an dem Serverknoten, auf allen Verknüpfungen zwischen dem Server und dem Inhaltsanbieter und zwischen dem Server und der Clientenmaschine für lange Zeitperioden mit unbestimmter Dauer beeinflusst. Dies steht in großem Kontrast zu klassischeren Netzwerktransaktionen, bei denen die Datenübertragung in einem Block ausgeführt wird, häufig in weniger als Sekunden oder Minuten, und bei denen der Dienst, der an den Daten ausgeführt wird, eine beschränkte Dauer aufwiest.
  • Bei einem Ausführungsbeispiel, das sich mit Streamingmedien befasst, sind die Nachfolgenden einige der Punkte, die betrachtet werden sollen; d. h., im Vergleich zu einer Webbasierten Verteilung und Web-basierten Geschäfts-Transaktionen und/oder Downloads weisen Streamingmedien die folgenden Charakteristika auf, die adressiert werden müssen:
    eine große Datenmenge – der Endpunkt der Daten ist möglicherweise nicht bekannt und das Zwischenspeichern einer Anzahl von Inhaltselementen kann eine wesentliche Menge an Speicherressourcen verbrauchen;
    zeitlich geordnete Daten – die zeitliche Reihenfolge, in der Daten empfangen werden, kann wichtig sein;
    ein Zugriff kann möglicherweise nicht fertiggestellt werden – z. B. kann möglicherweise nur auf einen gewissen Abschnitt eines Inhaltselements zugegriffen werden (z. B. die ersten paar Minuten eines ganzen Films);
    die benötigte Bandbreite kann nicht bestimmt werden ohne einen gewissen Grad an Kenntnis des betreffenden Mediums – z. B. kann eine Videodatei eine hohe räumliche Auflösung haben und eine andere Videodatei möglicherweise nicht, und damit, während die Dateien, obwohl beides Videodateien sind, gleich erscheinen können, kann ihre entsprechende Bandbreite relativ unterschiedlich sein;
    Jitter bei Latenzzeit oder Bandbreite kann problematisch sein – eine konsistente Latenzzeit kann akzeptabel sein, aber eine Latenzzeit, die während einer Sitzung bedeutend variiert, kann aufgrund eines Pufferüberlaufs oder -unterlaufs problematisch sein;
    unangemessene Rechen- oder Bandbreitenressourcen können Ergebnisse aufgrund von Zeitbeschränkungen nutzlos machen;
    Daten sind üblicherweise codiert (komprimiert), und so kann ein Verlust oder eine Verspätung eines Teils der Daten Konsequenzen für die Decodierung (Dekomprimierung) nachfolgender Daten haben;
    verlorene Daten werden üblicherweise aufgrund von Zeitbeschränkungen nicht neu übertragen; und
    eine Zustandsaufzeichnung sollte für alle Clientenvorrichtungen beibehalten werden – für Streamingmedien muss der Streaming-Knoten ein Streamen von Daten fortsetzen und kann nicht warten, Zustandsinformationen von Clienten zu empfangen.
  • Das Ergebnis dieser Differenzen ist eine wesentliche Zunahme des Bedarfs nach der Verwaltung und Überwachung von Diensten, die an Streamingmedien ausgeführt werden.
  • Ein System 100 umfasst eine Mehrzahl von Dienstortverwaltungseinrichtungen, beispielhaft gezeigt durch Dienstortverwaltungseinrichtungen 120 und 122, eine Mehrzahl von Dienstportalen, beispielhaft gezeigt durch Dienstportale 140 und 142, und eine Mehrzahl von Dienstanbietern, beispielhaft gezeigt durch Dienstanbieter 130, 132, 134 und 136. Die Dienstortverwaltungseinrichtungen 120 und 122, die Portale 140 und 142 und die Dienstanbieter 130, 132, 134 und 136 sind logische Entitäten, die auf einer einzelnen Vorrichtung oder unter Verwendung mehrerer Vorrichtungen implementiert sein können. Somit kann das System 100 z. B. darstellend für ein einzelnes Computersystem sein, das die Funktionalität der Dienstortverwaltungseinrichtungen 120, 122, der Portale 140 und 142 und der Dienstanbieter 130, 132, 134 und 136 implementiert. Alternativ kann das System 100 unterschiedliche Knoten oder Vorrichtungen in einem Computersystemnetzwerk umfassen. Diese Knoten können Servercomputersysteme, Schalter, Router oder ähnliches sein, mit Verarbeitungs- und Speicher-Fähigkeiten, die ausreichend sind, um die verschiedenen Funktionalitäten auszufüh ren, die hierin beschrieben werden. Es wird darauf hingewiesen, dass die Funktionalität, die durch System 100 bereitgestellt wird, unter Verwendung von einer oder mehreren Vorrichtungen implementiert sein kann. Ferner, obwohl das System 100 mit Portalen 140 und 142 beschrieben ist, können mehr als oder weniger als zwei dieser Elemente vorhanden sein. Zusätzlich dazu können mehr oder weniger Dienstanbieter vorhanden sein als die Dienstanbieter 130, 132, 134 und 136. Ferner können mehr Dienstortverwaltungseinrichtungen vorhanden sein als die Dienstortverwaltungseinrichtungen 120 und 122.
  • Das System 100 kann in einem existierenden Computersystemnetzwerk implementiert sein, durch Überlagern der Funktionalität der Dienstortverwaltungseinrichtungen 120, 122, der Dienstanbieter 130, 132, 134 und 136 und/oder der Portale 140 und 142 auf das existierende Netzwerk. Das heißt, die gesamte oder ein Teil der Funktionalität, die durch das System 100 bereitgestellt wird, kann in existierenden Netzwerkknoten eingelagert sein. Alternativ kann das ganze oder ein Teil des Systems 100 durch Addieren von Knoten in ein existierendes Netzwerk implementiert sein. Zum Beispiel können existierende Inhaltsquellen und Portale verwendet werden, wobei Knoten zum Betreuen (Bedienen) von Inhalt und zum Verwalten von Dienstanbietern hinzugefügt sind.
  • In 1 kann das System 100 mit einer Inhaltsquelle 110 und einer Clientenvorrichtung 150 kommunizieren. Obwohl das System 100 mit einer einzelnen Inhaltsquelle 110 und einer Clientenvorrichtung 150 beschrieben ist, können mehr als eines von jedem dieser Elemente vorhanden sein. Die Kommunikation zwischen dem System 100, der Inhaltsquelle 110 und der Clientenvorrichtung 150 sowie die Kommunikation innerhalb des Systems 100 kann verdrahtete und/oder drahtlose Kommunikationstechniken umfassen.
  • Die Portale 140 und 142 können jeweils gut publizierte Portalorte sein, die jeweils als der erste Kontaktpunkt zwischen der Clientenvorrichtung 150 und dem System 100 dienen können. Es wird darauf hingewiesen, dass das Portal 140 eine zusätzliche Funktion des Überwachens ausführen kann, zu Rechnungsstellungszwecken, wie lange eine Clientenvorrichtung (z. B. 150) mit dem System 100 gekoppelt war, und welcher Inhalt empfangen wurde. Die Inhaltsquelle 110 speichert und liefert Zugriff auf ein oder mehrere Inhaltselemente.
  • Die Clientenvorrichtung 150 kann praktisch jede Art einer Benutzervorrichtung sein, wie z. B., aber nicht ausschließlich, ein Desktop- oder Laptop-Computersystem, ein videounterstütztes, tragbares Computersystem (z. B. ein tragbarer, digitaler Assistent), ein Zellentelefon oder jeglicher anderer Typ einer Rechenvorrichtung. Die Clientenvorrichtung 150 kann verwendet werden, um ein Inhaltselement anzufordern und nachfolgend zu empfangen. Alternativ kann die Clientenvorrichtung 150 verwendet werden, um ein oder zwei Inhaltselemente zu dem System 100 zu liefern. Zum Beispiel kann die Clientenvorrichtung 150 Inhalt zu einem Dienstanbieter (z. B. 130) für einen Dienst liefern, der an dem Inhalt ausgeführt werden soll (z. B. Videohintergrundentfernung), bevor er nachfolgend durch eine Inhaltsquelle (z. B. 110) gespeichert oder zu einer anderen Clientenvorrichtung (nicht gezeigt) gesendet wird.
  • In 1 kann sich ein Inhaltselement auf Medien- oder Nichtmedien-Daten beziehen, die live oder aufgezeichnet sein können. Zum Beispiel kann ein Inhaltselement Folgendes umfassen, ist aber nicht darauf beschränkt: videobasierte Daten, audiobasierte Daten, bildbasierte Daten, Webseitenbasierte Daten, Graphikdaten, textbasierte Daten oder eine Kombination derselben. Zum Beispiel kann ein Inhaltselement ein Film mit DVD-Qualität (DVD = digital video disc) sein.
  • Ein Diensttyp kann an einem Inhaltselement ausgeführt werden, bevor der Inhalt zu der Clientenvorrichtung 150 geliefert wird. Alternativ kann ein Diensttyp an einem Inhaltselement ausgeführt werden, nachdem die Lieferung des Inhalts von der Clientenvorrichtung 150 zu einem Dienstanbieter (z. B. 130) begonnen hat. Diensttypen können die Verarbeitung eines Inhaltselements und/oder die Analyse eines Inhaltselements umfassen. Zum Beispiel können die Diensttypen eine Videoverarbeitung umfassen, wie z. B., aber nicht ausschließlich, Transcodieren, Neudimensionieren des Videos, Jitterentfernung, dynamisches Schneiden und Neudimensionieren des Videostroms basierend auf räumlichen Grenzen, bestimmt aus der Flächenerfassung, Auslesung optischer Zeichen aus dem Video, Videohintergrundentfernung und ähnliches. Zusätzlich dazu können andere Diensttypen eine Audioverarbeitung umfassen, wie z. B., aber nicht ausschließlich, eine Audiohintergrundentfernung, Audiogeräuschlosigkeitserfassung, Audio-Beschleunigung- oder Verlangsamung, Audioverbesserung, Rauschreduzierung, Spracherkennung, Sprecheridentifizierung, Sprache/Musik-Unterscheidung, Lacherfassung, Musikanalyse und ähnliches.
  • Die Analyse eines Inhaltselements kann umfassen, ist jedoch nicht beschränkt auf Spracherkennung, die eine Textabschrift erzeugt, oder Optikzeichenerkennung, die auf ein oder mehrere Videobilder eines Videostroms angewendet wird, um eine Textausgabe zu erzeugen. Ein auf Video basierender Personenverfolgungsdienst, der einen Strom aus Aufzeichnungen aus Personen-Orten und -Zeiten ausgibt, ist ein anderes Beispiel, das verwendet werden kann, um die Analyse eines Inhaltselements darzustellen. Die Orte können ausgedrückt sein im Hinblick auf Bildkoordinaten, können jedoch nützlicher sein, wenn sie im Hinblick auf Physische-Welt-Koordinaten ausgedrückt sind (z. B. „x, y"-Koordinaten Bezug nehmend auf den Boden eines Raums). Ein anderes Beispiel, das verwendet werden kann, um eine Analyse eines Inhaltselements darzustellen, bezieht sich auf einen Gesichtsdetektordienst, der Schnappschüsse von Gesichtern ausgibt, die aus einem Videostrom extrahiert werden, die Zeiten und Bildorte, an denen die Schnappschüsse erfasst wurden, Identitäten für die Gesichter und/oder die Klassifizierung der Gesichter. Ein Teil dieser Informationen kann als Textdaten dargestellt sein.
  • Wie hierin verwendet, kann ein Inhaltselement betreut worden sein, kann dabei sein, betreut zu werden, kann nicht betreut werden oder kann noch nicht betreut worden sein. Anders ausgedrückt kann ein Inhaltselement, egal ob es betreut wird oder nicht, weiterhin als ein Inhaltselement bezeichnet werden. Ein Betreuen eines Inhaltselements kann die Analyse oder Verarbeitung eines Inhaltselements umfassen. Zur Einfachheit der Erörterung kann das Ergebnis der Betreuung eines Inhaltselements hierin unter Verwendung von Ausdrücken bezeichnet werden, wie z. B. „Dienstergebnis" oder „Dienstergebnisinhalt" oder „Dienstergebnisdaten". Dienstergebnisinhalt kann bestehen aus, ist jedoch nicht beschränkt auf: eine modifizierte Version des betreuten Originalinhaltselements (z. B. wenn eine Hintergrundentfernung auf einen Videostrom angewendet wird); ein Inhaltselement, das aus dem Originalinhaltselement hergeleitet ist (z. B. wenn eine optische Zeichenerkennung verwendet wird, um eine Textausgabe zu erzeugen); ein Inhaltselement, das durch einen Dienstanbieter geleitet wird und nicht modifiziert sondern nur weitergeleitet wird (z. B. Inhalt, der keine Transcodierung erfordert, wenn er durch den Transcodierdienstanbieter empfangen wird); oder ein Inhaltselement, das vorangehend zu einem Dienstanbieter gesendet wurde und nun auf dem Dienstanbieter zwischengespeichert (gespeichert) ist (z. B. Inhalt, der vorangehend betreut wurde und nun in dem Speicher an dem Dienstanbieter gespeichert ist), so dass er zu Anforderern geliefert werden kann. Zusätzlich dazu kann Dienstergebnisinhalt aus jeglicher Kombination der obigen Beispiele bestehen.
  • Weiterhin Bezug nehmend auf 1 können Dienste, wie jene, die oben beschrieben wurden, durch die Dienstanbieter 130, 132, 134 und 136 ausgeführt werden. Die Dienstanbieter 130, 132, 134 und 136 funktionieren jeweils, um einen oder mehrere Diensttypen anzubieten/zu liefern. Das heißt, die Dienstanbieter 130, 132, 134 und 136 können jeweils mehrere und unterschiedliche Diensttypen liefern. Zum Beispiel kann der Dienstanbieter 130 zum Transcodieren eines Inhaltselements und zur Hintergrundentfernung eines anderen Inhaltselements verwendet werden. Unterschiedliche Diensttypen können parallel an unterschiedlichen Dienstelementen ausgeführt werden. Das heißt, die Dienstanbieter 130, 132, 134 und 136 können Dienste an unterschiedlichen aber gleichzeitigen Inhaltsströmen ausführen. Die Dienstanbieter 130, 132, 134 und 136 können auch Zwischenspeicherdienste liefern. Zum Beispiel können die Dienstanbieter 130, 132, 134 und 136 ein Inhaltselement ganz oder teilweise zwischenspeichern, bevor das Inhaltselement durch den Dienstanbieter 130, 132, 134 oder 136 betreut wird. Auf ähnliche Weise kann der Dienstanbieter 130, 132, 134 oder 136 das Dienstergebnis ganz oder teilweise zwischenspeichern, bevor der Dienstergebnisinhalt zu der Clientenvorrichtung 150 weitergeleitet wird.
  • Dienstortverwaltungseinrichtungen 120 und 122 funktionieren, um einen Dienstanbieter auszuwählen (z. B. Dienstanbieter 130, 132, 134 und 136), der einen angeforderten Diensttyp an einem Inhaltselement ausführen kann, um ein Dienstergebnis zu erzeugen, das zu einer Clientenvorrichtung 150 geliefert wird. Ein oder mehrere Dienstanbieter sind jeder Dienstortverwaltungseinrichtung bekannt, und jede Dienstortverwaltungseinrichtung wählt unter den Dienstanbietern aus, die ihr bekannt sind, um einen Dienstanbieter zuzuweisen, um einen angeforderten Dienst auszuführen. Eine Dienstortverwaltungseinrichtung kann derart betrachtet werden, dass sie jeglichen Dienstanbieter "beaufsichtigt" oder „eine Aufsicht ist für denselben", der aus der Gruppe von Dienstanbietern ist, aus denen sie einen Dienstanbieter auswählt, um einen angeforderten Dienst auszuführen. Bei verschiedenen Ausführungsbeispielen der Erfindung können die Sätze aus Dienstanbietern, die durch zwei unterschiedliche Dienstortverwaltungseinrichtungen beaufsichtigt werden, getrennt sein (z. B. keine gemeinsa men Dienstanbieter enthalten), genau gleich sein oder teilweise überlappend sein (z. B. einige Dienstanbieter sind in beiden Sätzen, aber einige, die in einem Satz sind, sind nicht in dem anderen). Zum Beispiel können Bezug nehmend auf 1 die Dienstanbieter 130, 132, 134 und 136 und jegliche anderen verfügbaren Dienstanbieter alle durch beide Dienstortverwaltungseinrichtungen 120 und 122 beaufsichtigt werden. Alternativ können die Dienstanbieter 130 und 132 nur durch die Dienstortverwaltungseinrichtung 120 beaufsichtigt werden, während die Dienstanbieter 134 und 136 nur durch die Dienstortverwaltungseinrichtung 122 beaufsichtigt werden können. Bei einem anderen Ausführungsbeispiel können die Dienstanbieter 130, 132 und 134 nur durch die Dienstortverwaltungseinrichtung 120 beaufsichtigt werden, während die Dienstanbieter 134 und 136 nur durch die Dienstortverwaltungseinrichtung 122 beaufsichtigt werden.
  • Bei einigen Ausführungsbeispielen führt jede Dienstortverwaltungseinrichtung (z. B. 120 und 122 aus 1) eine Aufzeichnung oder Auflistung der Dienstanbieter, die sie beaufsichtigt. Bei einigen Ausführungsbeispielen sind für jeden Dienstanbieter (z. B. 130, 132, 134 und 136 aus 1) die Diensttypen, die jeder Dienstanbieter ausführen kann oder veranlasst werden kann, auszuführen, auch jeder der Dienstortverwaltungseinrichtungen bekannt und von derselben aufgezeichnet, die denselben beaufsichtigen. Ferner sind bei einigen Ausführungsbeispielen für jeden Dienstanbieter die verfügbaren Ressourcen, die jedem der Dienstanbieter zugeordnet sind, auch jeder der Dienstortverwaltungseinrichtungen bekannt und von derselben aufgezeichnet, die denselben beaufsichtigt. Die „verfügbaren Ressourcen" eines Dienstanbieters können durch auf die Rechen-, Speicher-, Netzwerkbandbreiten-, Hardware- und andere Typen von -Ressourcen beziehen, die durch den Dienstanbieter verwaltet werden und die hin zu dem Ausführen eines angeforderten Dienstes angeordnet sein können. Im Allgemeinen können die verfügbaren Ressourcen eines Dienst anbieters weniger sein als seine Gesamtressourcen. In 1 z. B., wenn die Dienstortverwaltungseinrichtung 120 die Dienstanbieter 130 und 132 beaufsichtigt, dann sind die verfügbaren Ressourcen, die den Dienstanbietern 130 und 132 zugeordnet sind, der Dienstortverwaltungseinrichtung 120 bekannt und von derselben aufgezeichnet. Die Ressourcen, die den Dienstanbietern 130, 132, 134 und 136 zugeordnet sind, können Rechen- oder Hardware-Ressourcen umfassen, wie z. B., aber nicht beschränkt auf, Prozessorgeschwindigkeit, Gesamtspeicherkapazität und Spezialprozessoren, die jedem der Dienstanbieter zugeordnet sind. Die Ressourcen, die den Dienstanbietern 130, 132, 134 und 136 zugeordnet sind, können auch Netzwerkressourcen umfassen, wie z. B., aber nicht beschränkt auf, die Gesamtbandbreite, die an jedem der Dienstanbieter verfügbar ist, zum Empfangen von Inhalt und zum Senden von Inhalt. Im Allgemeinen ist bei einem Ausführungsbeispiel die Dienstortverwaltungseinrichtung 120 in Kenntnis über die verfügbaren Ressourcen der Dienstanbieter (z. B. 130 und 132), die sie beaufsichtigt, während die Dienstortverwaltungseinrichtung 122 in Kenntnis über die verfügbaren Ressourcen der Dienstanbieter ist (z. B. 134 und 136), die sie beaufsichtigt.
  • Bezug nehmend auf 1 können bei einigen Ausführungsbeispielen die Kenntnisse und die Aufzeichnungen der Ressourcen der verfügbaren Dienstanbieters (z. B. 130, 132, 134 und 136), die durch die Dienstortverwaltungseinrichtungen (z. B. 120 und 122) geführt werden, teilweise auf Informationen basieren, die vor dem Empfang von jeglichen Anforderungen nach Diensten von den Clientenvorrichtungen (z. B. 150) durch die Dienstortverwaltungseinrichtungen erhalten werden. Diese Informationen können als „statische" Ressourceninformationen bezeichnet werden. Bei einigen Ausführungsbeispielen können die Kenntnisse und Aufzeichnungen der verfügbaren Dienstanbieterressourcen, die durch die Dienstortverwaltungseinrichtungen geführt werden, im Lauf der Zeit aktualisiert werden, nachdem Anforderungen nach Diensten empfangen und durch die Dienstortverwaltungsein richtungen zugewiesen wurden, basierend auf Informationen, die von den Dienstanbietern empfangen werden. Diese Informationen können hierin als „dynamische" Ressourceninformationen bezeichnet werden. Eine Dienstortverwaltungseinrichtung kann sowohl eine abfragebasierte als auch übermittlungsbasierte Datensammlung verwenden, um ihre Aufzeichnungen mit dynamischen Ressourceninformationen zu aktualisieren. Eine Abfragebasierte Ressourceninformationssammlung kann die Übertragung von Anforderungen zu Dienstanbietern (z. B. 130 und 132) umfassen, durch eine Beaufsichtigungs-Dienstortverwaltungseinrichtung (z. B. 120), als Mittel zum Erhalten von Informationen von den Dienstanbietern im Hinblick auf Ressourcenverfügbarkeit. Eine übermittlungsbasierte Informationssammlung kann die periodische „Übermittlung" oder Übertragung von Informationen im Hinblick auf Ressourcenverfügbarkeit zu einer Dienstortverwaltungseinrichtung (z. B. 120) durch die Dienstanbieter (z. B. 130 und 132) umfassen, die sie beaufsichtigt. Eine Kombination sowohl aus abfragebasierter als auch übermittlungsbasierter Informationssammlung kann gemäß einem Ausführungsbeispiel eingesetzt werden. Bei einigen Ausführungsbeispielen können die Kenntnisse und die Aufzeichnungen der verfügbaren Dienstanbieterressourcen, die durch die Dienstortverwaltungseinrichtungen geführt werden, teilweise auf statischen und dynamischen Ressourceninformationen basieren.
  • Bei einigen Ausführungsbeispielen, wenn eine Dienstortverwaltungseinrichtung (z. B. 120 oder 122) eine Anforderung nach einem Inhaltselement empfängt, die das Ausführen eines Dienstes an dem Inhaltselement mit sich bringt, kann die Dienstortverwaltungseinrichtung (z. B. 120 oder 122) eine Vorhersage oder Schätzung der Ressourcen treffen, die zum Ausführen dieses Dienstes benötigt werden. Wenn ein Dienstanbieter ausgewählt wird, einen neu angeforderten Dienst auszuführen, kann die Aufzeichnung der Dienstortverwaltungseinrichtung über den Schätzwert der von dem Dienstanbieter verfügbaren Ressourcen überprüft werden, um zu zeigen, dass diese Ressourcen zumindest teilweise dem Ausführen des neu angeforderten Dienstes zugeordnet sind. Wenn z. B. erwartet wird, dass der angeforderte Dienst N Megabyte Speicher bei dem Dienstanbieter 130 erfordert, dann wird die Aufzeichnung der Dienstortverwaltungseinrichtung im Hinblick auf die verfügbaren Speicherressourcen des Dienstanbieters 130 aktualisiert, um anzuzeigen, dass N Megabyte Speicher zugeordnet wurden. Alternativ kann die Menge an verfügbaren Speicherressourcen, die durch die Dienstortverwaltungseinrichtung (z. B. 120 oder 122) für den Dienstanbieter 130 aufgezeichnet ist, um N Megabyte reduziert werden. Wie ersichtlicht ist, kann die Aufzeichnung von verfügbaren Ressourcen, die einem Dienstanbieter zugeordnet sind, auf ähnliche Weise eingestellt (z. B. erhöht) werden, wenn Z. B. ein Dienst durch einen Dienstanbieter fertiggestellt wird.
  • Wie vorangehend erwähnt wurde, können mehrere Clientenvorrichtungen jeweils an einer Sitzung teilnehmen, die das Anfordern umfassen kann, dass ein Dienst an einem Inhaltselement ausgeführt wird. Für jede Sitzung, die durch die Dienstortverwaltungseinrichtung (z. B. 120 oder 122) gehandhabt wird, bei der ein Inhaltselement betreut werden soll, wählt die Dienstortverwaltungseinrichtung (z. B. 120 oder 122) einen Dienstanbieter aus, um den Dienst auszuführen. Die verschiedenen Ausführungsbeispiele der oben beschriebenen Methode werden an jede Sitzung im Ablauf befindliche Sitzung angewendet, so dass die Dienstortverwaltungseinrichtung (z. B. 120 oder 122) eine aktualisierte Aufzeichnung der Ressourcen hat, zugeordnet durch, und/oder der Ressourcen, verfügbar auf jedem Dienstanbieter, der durch die Dienstortverwaltungseinrichtung (z. B. 120 oder 122) beaufsichtigt wird.
  • Im Wesentlichen weist die Dienstortverwaltungseinrichtung (z. B. 120 oder 122) gemäß einem Ausführungsbeispiel ein Budget aus Ressourcen auf, die zum Ausführen von Diensten verfügbar sind. Genauer gesagt weist die Dienstortverwaltungseinrichtung (z. B. 120 oder 122) ein Budget der Res sourcen auf, die an jedem Dienstanbieter verfügbar sind, den sie beaufsichtigt. Für jede Sitzung, durch die angefordert wird, dass ein Dienst ausgeführt wird, kann eine Schätzung der Ressourcen, die bei diesem Dienst beteiligt sind, durch die Dienstortverwaltungseinrichtung (z. B. 120 oder 122) ausgeführt werden. Für jede Sitzung, die zu einem Dienstanbieter abgeschickt wird, kann das Budget von verfügbaren Ressourcen für diesen Dienstanbieter um den Schätzwert reduziert werden. Wenn Sitzungen abgeschlossen sind oder wenn Dienste fertiggestellt sind, kann das Budget von verfügbaren Ressourcen der Dienstortverwaltungseinrichtung (z. B. 120 oder 122) vergrößert werden, um zu reflektieren, dass die Ressourcen wieder verfügbar geworden sind. Aktualisierungen des Budgets von verfügbaren Ressourcen können dynamisch erhalten werden, durch eine abfragebasierte oder übermittlungsbasierte Datensammlung zwischen der Dienstortverwaltungseinrichtung und den Dienstanbietern, die sie beaufsichtigt, während ein oder mehrere Dienste bei den Dienstanbietern in Ausführung sind. Der Schätzwert der Größe und Verteilung des Ressourcenbudgets ist dadurch immer relativ aktuell und kann durch die Dienstortverwaltungseinrichtung (z. B. 120 oder 122) als eine Basis zum Auswählen eines Dienstanbieters für jede neue Sitzung verwendet werden.
  • Es wird darauf hingewiesen, dass bei alternativen Ausführungsbeispielen ein Dienstanbieter durch die Dienstortverwaltungseinrichtung (z. B. 120 oder 122) ausgewählt sein kann, um einen Dienst basierend auf den Ressourcen auszuführen, die an jedem Dienstanbieter verfügbar sind, oder basierend auf den Ressourcen, die bereits zugeordnet sind, ohne Berücksichtigung des Schätzwerts der Ressourcen, die benötigt werden, um diesen Dienst auszuführen, oder ein Dienstanbieter kann durch die Dienstortverwaltungseinrichtung (z. B. 120 oder 122) ausgewählt sein, um einen Dienst auszuführen, basierend auf dem Schätzwert der Ressourcen, die benötigt werden, um diesen Dienst auszuführen, ohne Berücksichtigung der Ressourcen, die für jeden Dienstanbieter verfügbar oder vorangehend zugeordnet sind.
  • Zwei mit dem Netzwerk verbundene Rechenvorrichtungen können als „nahe beieinander" im Sinn eines Netzwerks erachtet werden, wenn die Latenzzeit und/oder Anzahl von Netzwerk-„Sprüngen" zwischen denselben gering ist und/oder wenn die Bandbreite zwischen denselben hoch ist. In 1 kann ein Ausführungsbeispiel gemäß der Erfindung die Funktionalität umfassen, dass eine einzelne Dienstortverwaltungseinrichtung (z. B. 120 oder 122) eine „Region" von Dienstanbietern verwalten würde, die „nahe" bei derselben in einem Netzwerk-Sinn sind. Das Portal (z. B. 140 oder 142), das die Clientenvorrichtung (z. B. 150) kontaktiert, kann dann die Dienstanforderung zu einer ausgewählten Dienstortverwaltungseinrichtung weiterleiten, die nahe an dem anfordernden Clienten, der Inhaltsquelle oder beidem ist. Zum Beispiel kann die Dienstortverwaltungseinrichtung basierend auf der Inhaltsquelladresse oder basierend auf der gemessenen Nähe derselben an der Inhaltsquell-Netzwerkadresse oder der Clientennetzwerkadresse oder beidem ausgewählt sein. Die Dienstortverwaltungseinrichtungsregionen können überlappen. Zum Beispiel kann jede Dienstortverwaltungseinrichtung einen oder mehrere derselben „Grenz"-Dienstanbieter beaufsichtigen, die ungefähr so nahe zu derselben sind, wie sie zu einer oder mehreren anderen Dienstortverwaltungseinrichtungen sind. In diesen Fällen kann jede Dienstortverwaltungseinrichtung Aufzeichnungen ihrer Dienstzuweisungen zu „benachbarten" Dienstortverwaltungseinrichtungen weiterleiten, die zumindest einen Dienstanbieter gemeinsam beaufsichtigen, so dass diese separaten Dienstortverwaltungseinrichtungen nicht unabhängig zu viele Dienste zu „Grenz"-Dienstanbietern zuweisen.
  • Zusätzlich dazu, wenn eine Dienstortverwaltungseinrichtung alle Aufzeichnungen von Dienstzuweisungen zu zumindest einer anderen Dienstortverwaltungseinrichtung weiterleitet, kann die Dienstverwaltungsfunktionalität fehlertolerant gemacht werden. Wenn z. B. ein Portal (z. B. 140 oder 142) eine gegebene Dienstortverwaltungseinrichtung nicht kontaktieren kann (z. B. 120), kann es eine Anforderung zu einer benachbarten Dienstortverwaltungseinrichtung weiterleiten (z. B. 122), zusammen mit den Informationen, dass die erste Dienstortverwaltungseinrichtung nicht verfügbar ist. Dies fordert die verfügbare, benachbarte Dienstortverwaltungseinrichtung auf, die Verwaltung der „Grenz"-Dienstanbieter und einige oder alle der Dienstanbieter zu übernehmen, die in der Region der ausgefallenen Dienstortverwaltungseinrichtung sind.
  • Bei einigen Ausführungsbeispielen verwenden Dienstortverwaltungseinrichtungen Informationen über eine oder mehrere benachbarte Dienstortverwaltungseinrichtungen, um einen größeren Ausgleich bei der Verteilung der Arbeitslast zwischen den Dienstortverwaltungseinrichtungen zu erreichen. Zum Beispiel kann eine Dienstortverwaltungseinrichtung mit schwer überlasteten Dienstanbietern, oder die Dienstanforderungen von Portalen mit sehr hoher Rate empfängt, beginnen, einige der Dienstanforderungen, die sie empfängt, auf benachbarte Dienstortverwaltungseinrichtungen „abzuladen". Genauer gesagt, wenn die Rate, mit der eine gegebene Dienstortverwaltungseinrichtung Dienstanforderungen von Portalen empfängt eine Schwelle überschreitet, oder wenn eine Warteschlange solcher Anforderungen, die für eine Aktion durch den Dienstort anstehend sind, eine Schwellenlänge überschreitet, oder wenn die Aufzeichnungen verfügbarer Ressourcen auf Dienstanbietern, die durch die Dienstortverwaltungseinrichtung verwaltet werden, anzeigt, dass die gesamten verfügbaren Ressourcen in einer Kategorie unter eine Schwelle fallen, kann diese Dienstortverwaltungseinrichtung eine zweite Dienstortverwaltungseinrichtung auswählen, zu der zukünftige und/oder anhängige Dienstanforderungen weitergeleitet werden, bis die auslösende Bedingung nicht mehr erfüllt wird.
  • Bei einigen Ausführungsbeispielen können die Dienstortverwaltungseinrichtungen die Sätze aus Dienstanbietern anpassen, die sie beaufsichtigen. Dieser Anpassungsprozess kann aus dem Hinzufügen neuer Dienstanbieter zu dem Satz, der durch eine gegebene Dienstortverwaltungseinrichtung beaufsichtigt wird, dem Entfernen von Dienstanbietern aus diesem Satz oder beidem bestehen. In einigen Fällen kann diese Anpassung zu einer Erhöhung der Anzahl von Dienstanbietern führen, die durch eine gegebene Dienstortverwaitungseinrichtung beaufsichtigt werden, während sie in anderen Fällen zu einer Verringerung oder keiner Änderung dieser Anzahl führen können.
  • Bei einigen Ausführungsbeispielen wird die Anpassung des überwachten Satzes aus Dienstanbietern für eine Dienstortverwaltungseinrichtung (z. B. 120) ausgelöst, wenn die Rechenlast der Dienstortverwaltungseinrichtung eine Schwelle überschreitet. Ansprechend darauf benachrichtigt die Dienstortverwaltungseinrichtung eine zweite Dienstortverwaltungseinrichtung (z. B. 122), dass sie die Beaufsichtigung eines Teilsatzes der Dienstanbieter übernehmen sollte, die gegenwärtig durch die Dienstortverwaltungseinrichtung 120 beaufsichtigt werden. Bei einem Ausführungsbeispiel wird die Übertragung der Beaufsichtigung durch das Senden von Aufzeichnungen im Hinblick auf die verfügbaren Ressourcen, Dienstzuweisungsstatus und andere Informationen für die Dienstanbieter, deren Beaufsichtigung übertragen werden soll, von der Dienstortverwaltungseinrichtung 120 zu der Dienstortverwaltungseinrichtung 122 ermöglicht. Bei anderen Ausführungsbeispielen ist diese Übertragung von Dienstanbieteraufzeichnungen zwischen Dienstortverwaltungseinrichtungen weggelassen. Bei wiederum anderen Ausführungsbeispielen benachrichtigt die Dienstortverwaltungseinrichtung 120 die Dienstanbieter, dass sie das Beaufsichtigen beenden wird und dass dieselben das Senden von Ressourcenstatusinformationen zu der neuen, beaufsichtigenden Dienstortverwaltungseinrichtung 120 beginnen sollten. Bei anderen Ausführungsbeispielen initiiert die Dienstortverwaltungs einrichtung 122 eine abfragebasierte oder übermittlungsbasierte Informationssammlung für jeden der neu beaufsichtigten Dienstanbieter auf der Liste, die derselben von der Dienstortverwaltungseinrichtung 120 gesendet wurde.
  • Bei einigen Ausführungsbeispielen wird die Anpassung des beaufsichtigten Satzes aus Dienstanbietern für eine Dienstortverwaltungseinrichtung (z. B. 120) ausgelöst, wenn die Gesamtverfügbarkeit von Ressourcen in einer Kategorie über alle beaufsichtigten Dienstanbieter hinweg unter einen Schwellenwert fällt. Ansprechend darauf fordert die Dienstortverwaltungseinrichtung von einer zweiten Dienstortverwaltungseinrichtung (z. B. 122) die Erlaubnis, die Beaufsichtigung eines Teilsatzes der Dienstanbieter zu übernehmen, die gegenwärtig durch die Dienstortverwaltungseinrichtung 120 beaufsichtigt werden. Wenn die Erlaubnis verwehrt wird, oder wenn die Anzahl von verfügbaren Ressourcen von Dienstanbietern, die durch die Dienstortverwaltungseinrichtung 122 angeboten wird, nicht ausreichend ist, kann die Dienstortverwaltungseinrichtung 120 eine einfache Anforderung einer dritten Dienstortverwaltungseinrichtung (nicht gezeigt), einer vierten (nicht gezeigt) usw. treffen, bis die Erlaubnis zur Beaufsichtigung einer ausreichenden Anzahl von neuen Dienstanbietern und/oder Dienstanbieterressourcen gewährt wird. Die „ausreichende" Anzahl von neuen Dienstanbietern und/oder die ausreichende Anzahl von neuen Dienstanbieterressourcen, die die Dienstortverwaltungseinrichtung 120 benötigt, wird bei einem Ausführungsbeispiel basierend zumindest teilweise auf der aktuellen Rate von Dienstanforderungen, die durch die Dienstortverwaltungseinrichtung 120 empfangen werden, der aktuellen Warteschlange aus anhängigen Dienstanforderungen zur Erledigung durch die Dienstortverwaltungseinrichtung 120 oder beidem bestimmt. Bei verschiedenen Ausführungsbeispielen kann die Übertragung der Beaufsichtigung von Dienstanbietern zwischen Dienstortverwaltungseinrichtungen 120 und 122 durch jegliche der Einrichtungen erreicht werden, die oben für den Fall erörtert wurden, in dem die Dienstortverwal tungseinrichtung 120 wünscht, die Anzahl von Dienstanbietern zu verringern, die sie beaufsichtigt.
  • Bei einem Ausführungsbeispiel gemäß der Erfindung wird die Verarbeitungslast jeder Dienstortverwaltungseinrichtung überwacht. Das Überwachen kann dadurch erreicht werden, dass die Prozessorlast jeder Dienstortverwaltungseinrichtung, die anhängige Dienstanforderungs-Warteschlangenlänge und/oder andere Informationen, die sich auf die Verarbeitungslast beziehen, gelegentlich oder periodisch einer anderen überwachenden Entität berichtet werden, ist jedoch nicht darauf beschränkt. Das Berichten kann entweder abfragebasiert (auf Anfrage der überwachenden Entität) oder übermittlungsbasiert (gesendet durch die Dienstortverwaltungseinrichtung zu Zeiten ihrer Wahl) sein. Bei einigen Ausführungsbeispielen kann die überwachende Entität ein oder mehrere der Portale aufweisen (z. B. 140 und 142). Bei anderen Ausführungsbeispielen kann dieselbe eine oder mehrere der Dienstortverwaltungseinrichtungen (z. B. 120 oder 122) aufweisen. Bei wiederum anderen Ausführungsbeispielen kann sie eine oder mehrere zweckgebundene Rechenvorrichtungen aufweisen, die an das Netzwerk angebracht sind und in der Lage sind, mit zumindest einigen der Dienstortverwaltungseinrichtungen zu kommunizieren. Bei einigen Ausführungsbeispielen überwacht keine einzelne Entität alle der Dienstortverwaltungseinrichtungen. Zum Beispiel überwacht bei einem Ausführungsbeispiel ein gegebenes Portal (z. B. 140) nur die Dienstortverwaltungseinrichtungen (z. B. 120 und 122), zu denen es Dienstanforderungen sendet. Bei anderen Ausführungsbeispielen wird eine Überwachung durch die Einrichtung einer Kommunikation zwischen den Dienstortverwaltungseinrichtungen in einer baumartigen Kommunikationshierarchie ermöglicht, so dass Verarbeitungslast-Statusmeldungen zwischen Dienstortverwaltungseinrichtungen gesendet werden, die in dem Baum direkt verknüpft sind, wobei die Meldungen von der Kind-Dienstortverwaltungseinrichtung zu der Mutter-Dienstortverwaltungseinrichtung in der Hierarchie gesendet werden. Auf diese Weise sammelt die Dienstortverwaltungseinrichtung oben an dem Baum den Status aller Dienstortverwaltungseinrichtungen in dem Netzwerk. Diese Dienstortverwaltungseinrichtung kann dann andere Dienstortverwaltungseinrichtungen, Portale oder andere vernetzte Rechenvorrichtungen über den Gesamt-Dienstortverwaltungseinrichtungs-Verarbeitungslaststatus informieren.
  • Das System 100 aus 1 wird nun in Betrieb umfassender beschrieben. Am Beginn einer Sitzung sendet die Clientenvorrichtung 150 eine Meldung 1 zu einem Portal (z. B. 140). Es wird darauf hingewiesen, dass die Meldung 1 ein bestimmtes Inhaltselement identifiziert (z. B. den Namen eines Films).
  • Ferner umfasst bei einem Ausführungsbeispiel die Meldung 1 Informationen, die zum Identifizieren eines Diensttyps ausreichend sind, der an dem Inhaltselement ausgeführt werden sollte, bevor das Dienstergebnis zu der Clientenvorrichtung 150 und/oder zu anderen Zielortvorrichtungen geliefert wird. Diese Informationen können viele Formen annehmen. In einer Form identifiziert Meldung 1 einen Diensttyp spezifisch (z. B. Hintergrundentfernung oder Spracherkennung). In einer anderen Form identifiziert Meldung 1 Attribute der Clientenvorrichtung 150 und/oder anderer Zielortvorrichtungen, wie z. B. ihre Speicherkapazität, Bildschirmgröße, Verarbeitungsfähigkeit und ähnliches. Basierend auf diesen Attributen kann das System 100 (z. B. Portal 140) einen Diensttyp herleiten, der ausgeführt werden sollte (z. B. Transcodieren). Bei einer wiederum anderen Form identifiziert Meldung 1 den (die) Typ(en) der Clientenvorrichtung 150 und/oder anderen Zielortvorrichtungen, und basierend auf gespeicherten Kenntnissen dieser Typen von Vorrichtungen kann das System 100 (z. B. Portal 140) einen Diensttyp herleiten, der ausgeführt werden sollte (z. B. Transcodieren).
  • In 1 kann Meldung 1 andere Informationen umfassen. Wenn die Quelle des Inhaltselements der Clientenvorrichtung 150 bekannt ist, dann kann die Inhaltsquelle (z. B. 110) auch in Meldung 1 identifiziert sein. Meldung 1 kann z. B. die einheitliche Quellenangabe (URL; Uniform Resource Locator) für die Inhaltsquelle 110 umfassen. Wenn die Quelle des Inhaltselements der Clientenvorrichtung 150 nicht bekannt ist, kann die Inhaltsquelle durch das System 100 lokalisiert werden (z. B. durch Portal 140), wenn diese Informationen dem System 100 nicht bereits bekannt sind. In einigen Fällen kann die Clientenvorrichtung 150 die Quelle des Inhalts sein.
  • Nachdem Empfangen von Meldung 1 wählt das Portal 140 eine Dienstortverwaltungseinrichtung (z. B. 120 oder 122) aus, zu der Meldung 2 gesendet werden soll. Es wird darauf hingewiesen, dass das Portal 140 diese Auswahl auf viele Arten ausführen kann. Zum Beispiel das Portal 140 kann bei einem Ausführungsbeispiel eine Aufzeichnung führen, die eine einzelne Dienstortverwaltungseinrichtung (z. B. 120) umfasst, mit der aus allen möglichen Dienstortverwaltungseinrichtungen des Systems 100 kommuniziert werden soll. In diesem Fall wählt das Portal 140 die einzelne Dienstortverwaltungseinrichtung gemäß seiner Aufzeichriung aus. Alternativ kann das Portal 140 bei einem anderen Ausführungsbeispiel eine Aufzeichnung führen, die eine priorisierte Liste eines Teilsatzes der Dienstortverwaltungseinrichtungen aus der Mehrzahl von Dienstortverwaltungseinrichtungen des Systems 100 umfasst. Es sollte darauf hingewiesen werden, dass dieser Teilsatz alle der Mehrzahl von Dienstortverwaltungseinrichtungen des Systems 100 umfassen kann oder einige der Dienstortverwaltungseinrichtungen des Systems 100 nicht umfassen kann. Aus dieser Aufzeichnung einer priorisierten Dienstortverwaltungseinrichtungsliste kann das Portal 140 die Dienstortverwaltungseinrichtung höchster Priorität (z. B. 120) auswählen, eine neue Dienstanforderung von einer Clientenvorrichtung 150 zu handhaben. Wenn jedoch nachfolgend bestimmt wird, dass die Dienstortverwal tungseinrichtung höchster Priorität nicht auf eine Kommunikation von dem Portal 140 antwortet, dann kann das Portal 140 versuchen, mit der Dienstortverwaltungseinrichtung nächst hoher Priorität (z. B. 122) der Aufzeichnung zu kommunizieren, usw.
  • Bei anderen Ausführungsbeispielen kann das Portal 140 eine Aufzeichnung führen, die eine Liste eines Teilsatzes von Dienstortverwaltungseinrichtungen umfasst, die demselben aus der Mehrzahl von Dienstortverwaltungseinrichtungen des Systems 100 verfügbar sind. Es sollte darauf hingewiesen werden, dass dieser Teilsatz alle der Mehrzahl von Dienstortverwaltungseinrichtungen des Systems 100 umfassen kann oder einige der Dienstortverwaltungseinrichtungen des Systems 100 nicht umfassen kann. Bei einem Ausführungsbeispiel kann das Portal 140 eine Dienstortverwaltungseinrichtung zufällig aus der aufgezeichneten Liste auswählen. Alternativ kann das Portal 140 bei einem anderen Ausführungsbeispiel eine Dienstortverwaltungseinrichtung (z. B. 120) auf eine Round-Robin-Weise (Round Robin = zyklischer Umlauf) aus der aufgezeichneten Liste auswählen. Für eine Liste aus N Dienstortverwaltungseinrichtungen kann eine „Round-Robin"-Auswahl ausgeführt werden, durch Auswählen der ersten Dienstortverwaltungseinrichtung auf der Liste, um die erste Dienstanforderung zu handhaben, dann Auswählen der zweiten Dienstortverwaltungseinrichtung auf der Liste, um die zweite Dienstanforderung zu handhaben usw., bis die N-te Anforderung durch das Portal empfangen wird und zu der N-ten Dienstortverwaltungseinrichtung auf der Liste weitergeleitet wird. Die nächste (N + 1te) Anforderung kann dann zu der ersten Dienstortverwaltungseinrichtung auf der Liste weitergeleitet werden, und nachfolgende Anforderungen werden zu fortlaufenden Dienstortverwaltungseinrichtungen der Liste weitergeleitet, in der Reihenfolge, in der sie auf der Liste erscheinen, bis der letzte Listeneintrag wieder erreicht wird und der Prozess wieder „umläuft" zu dem ersten Listeneintrag.
  • Bei einem wiederum anderen Ausführungsbeispiel kann das Portal 140 aus 1 eine Aufzeichnung führen, für jede der Dienstortverwaltungseinrichtungen, die demselben aus der Mehrzahl von Dienstortverwaltungseinrichtungen des Systems 100 verfügbar sind, die die verfügbare Rechenleistung, Anzahl von anhängigen Dienstanforderungen und/oder erwartete Latenzzeit beim Zuweisen einer nächsten Dienstanforderung, nachdem sie empfangen wird, der Dienstortverwaltungseinrichtung umfassen kann. Diese Aufzeichnung kann im Lauf der Zeit aktualisiert werden, basierend auf einer abfragebasierten oder übermittlungsbasierten Sammlung des Dienstortverwaltungseinrichtungsstatus, wie oben erörtert wurde. Wenn eine neue Dienstanforderung von der Clientenvorrichtung 150 empfangen wird, kann das Portal 140 dann diese Anforderung zu der Dienstortverwaltungseinrichtung (z. B. 120) aus der Aufzeichnung weiterleiten, die gegenwärtig die maximal verfügbare Rechenleistung aufweist oder von der erwartet werden kann, dass sie gegenwärtig die Dienstanforderung am schnellsten handhabt, sobald sie empfangen wird. Auf diese Weise wählt das Portal 140 die Dienstortverwaltungseinrichtung aus, die am wenigsten beschäftigt ist.
  • Bei einem anderen Ausführungsbeispiel kann jede Dienstortverwaltungseinrichtung eine Aufzeichnung ihrer insgesamt verfügbaren Rechenleistung der Dienstanbieter führen, die sie beaufsichtigt, und kann diese Aufzeichnung (z. B. entweder über abfragebasierte oder übermittlungsbasierte Verfahren) zu einem oder mehreren Portalen (z. B. 140) weiterleiten. Wenn eine neue Dienstanforderung empfangen wird, kann das Portal 140 dann wählen, die Anforderung zu der Dienstortverwaltungseinrichtung weiterzuleiten, deren beaufsichtigter Satz aus Dienstanbietern gegenwärtig die meiste gesamt verfügbare Rechenleistung aufweist. Bei einem anderen Ausführungsbeispiel kann das Portal 140 aus 1 eine Aufzeichnung führen, die die verfügbare Netzwerkbandbreite von jeder der Dienstortverwaltungseinrichtungen umfasst, die für denselben aus der Mehrzahl von Dienstort verwaltungseinrichtungen des Systems 100 verfügbar sind. Diese Aufzeichnung kann im Lauf der Zeit aktualisiert werden, basierend auf einer abfragebasierten oder übermittlungsbasierten Sammlung des Dienstortverwaltungseinrichtungsstatus, wie oben erörtert wurde. Wenn eine neue Dienstanforderung von der Clientenvorrichtung 150 empfangen wird, kann das Portal 140 die Dienstortverwaltungseinrichtung auswählen (z. B. 120), um die Dienstanforderung zu handhaben, die gegenwärtig gemäß seiner Aufzeichnung die höchste Bandbreite aufweist.
  • Alternativ kann das Portal 140 bei einem anderen Ausführungsbeispiel eine Aufzeichnung führen, die „Netzwerk"-Distanzen zwischen den Dienstanbietern, die es beaufsichtigt, und anderen Rechenvorrichtungen auf dem Netzwerk umfasst, wobei diese Distanzen eine Funktion der Netzwerklatenzzeit und/oder der Anzahl von Netzwerk-„Sprüngen” zwischen Rechenvorrichtungen auf dem Netzwerk sind. Diese Aufzeichnung von Distanzen kann im Lauf der Zeit aktualisiert werden, basierend auf einer abfragebasierten oder übermittlungsbasierten Sammlung von Netzwerkstatusinformationen, und neue Aufzeichnungselemente können hinzugefügt werden, wenn die Dienstanforderungen empfangen werden, die Clientenvorrichtungen oder Inhaltsquellen umfassen, die der Dienstortverwaltungseinrichtung vorangehend unbekannt waren. Wenn eine neue Dienstanforderung von der Clientenvorrichtung 150 empfangen wird, kann das Portal 140 gemäß seiner Aufzeichnung die Dienstortverwaltungseinrichtung auswählen (z. B. 120), die ihm selbst, der Clientenvorrichtung 150 und/oder der Inhaltsquelle, die der Dienst benötigt, „am nächsten" ist, um die Dienstanforderung zu handhaben. Wenn jedoch nachfolgend bestimmt wird, dass die am nächsten liegende Dienstortverwaltungseinrichtung nicht auf eine Kommunikation von dem Portal 140 antwortet, kann das Portal 140 versuchen, mit der nächst nahen Dienstortverwaltungseinrichtung (z. B. 122) der Aufzeichnung zu kommunizieren, usw.
  • Abschließend kann bei einem wiederum anderen Ausführungsbeispiel das Portal 140 eine Aufzeichnung führen, die für jede der Dienstortverwaltungseinrichtungen, die demselben aus der Mehrzahl von Dienstortverwaltungseinrichtungen des Systems 100 verfügbar sind, mehr als einen der Typen von Informationen umfasst, die oben erörtert wurden (z. B. Dienstortverwaltungseinrichtungs-Rechenleistung, anhängige Dienstanforderungs-Warteschlangenlänge, erwartete Latenzzeit beim Zuweisen einer empfangenen Anforderung, gesamte, dem beaufsichtigten Dienstanbieter verfügbare Rechenleistung, Netzwerkdistanz und/oder Netzwerkbandbreite). Wenn eine neue Dienstanforderung von der Clientenvorrichtung 150 empfangen wird, kann das Portal 140 für jede verfügbare Dienstortverwaltungseinrichtung eine Funktion einer Kombination der oben erörterten Informationstypen gemäß seiner Aufzeichnung berechnen. Das Portal 140 kann dann die Dienstortverwaltungseinrichtung auswählen (z. B. 120), die als „beste" gemäß der Funktion eingestuft wird (z. B. die mit dem höchsten oder niedrigsten Funktionswert, abhängig von der Funktion), um die Dienstanforderung zu handhaben.
  • Sobald das Portal 140 eine Dienstortverwaltungseinrichtung ausgewählt hat (z. B. 120), sendet das Portal 140 eine Meldung 2 zu der Dienstortverwaltungseinrichtung 120. Bei einem Ausführungsbeispiel umfasst die Meldung 2 Informationen, die ausreichend zum Identifizieren eines Diensttyps sind, der an dem Inhaltselement ausgeführt werden sollte, bevor das Dienstergebnis zu der Clientenvorrichtung 150 und/oder anderen Zielortvorrichtungen geliefert wird. Wie soeben beschrieben wurde, können diese Informationen viele Formen annehmen. Bei einer Form Meldung 2 spezifisch einen Diensttyp identifiziert (z. B. Hintergrundentfernung oder Spracherkennung). Bei einer anderen Form identifiziert Meldung 2 Attribute der Clientenvorrichtung 150 und/oder anderer Zielortvorrichtungen, wie z. B. ihre Speicherkapazität, Bildschirmgröße, Verarbeitungsfähigkeit und ähnliches. Basierend auf diesen Attributen kann das System 100 (z. B. Dienstortverwaltungseinrichtung 120) einen Diensttyp herleiten oder bestimmen, der ausgeführt werden sollte (z. B. transcodieren). Bei einer wiederum anderen Form identifiziert Meldung 2 den oder die Typen der Clientenvorrichtung 150 und/oder anderer Zielortvorrichtungen und basierend auf dem gespeicherten Wissen über diese Vorrichtungstypen kann das System 100 (z. B. Dienstortverwaltungseinrichtung 120) einen Diensttyp herleiten oder bestimmen, der ausgeführt werden sollte (z. B. transcodieren). Basierend auf den Informationen, die durch Meldung 2 geliefert werden, identifiziert die Dienstortverwaltungseinrichtung 120 den Diensttyp, der ausgeführt werden sollte.
  • Es wird darauf hingewiesen, dass Meldung 2 andere Informationen umfassen kann. Zum Beispiel kann Meldung 2 auch das Inhaltselement und/oder die Inhaltsquelle identifizieren.
  • Bei einem Ausführungsbeispiel kann die Dienstortverwaltungseinrichtung 120 (und 122) eine Aufzeichnung führen, die eine Liste der Dienstanbieter (z. B. 130 und 132) und der Dienste umfasst, die sie liefern können. Bei einem solchen Ausführungsbeispiel umfasst die Aufzeichnung, die durch die Dienstortverwaltungseinrichtung 120 (und 122) geführt wird, auch die Gesamtressourcenkapazitäten, die den Dienstanbietern (z. B. 130 und 132) zugeordnet sind, die sie überwacht. Die Aufzeichnung, die durch die Dienstortverwaltungseinrichtung 120 (und 122) geführt wird, kann ferner die Ressourcen umfassen, die an jedem der beaufsichtigten Dienstanbieter (z. B. 130, 132 und 134) zum Ausführen angeforderter Dienste verfügbar sind. Die Aufzeichnung, die durch die Dienstortverwaltungseinrichtung 120 (und 122) geführt wird, kann auch die Ressourcen von jedem der Dienstanbieter (z. B. 130 und 132) umfassen, die vorangehend anderen Dienstsitzungen durch jene Dienstortverwaltungseinrichtungen zugeordnet wurden.
  • Bei diesem vorliegenden Beispiel wählt die Dienstortverwaltungseinrichtung 120 unter den Dienstanbietern (z. B. 130 und 132) aus, die sie beaufsichtigt, welcher den Dienst ausführen soll, der aus Meldung 2 identifiziert wird. Bei einem Ausführungsbeispiel wählt die Dienstortverwaltungseinrichtung 120 einen Dienstanbieter basierend auf den Informationen aus, die in der oben beschriebenen Aufzeichnung bereitgestellt sind. Zum Beispiel kann die Dienstortverwaltungseinrichtung 120 einen Dienstanbieter basierend darauf auswählen, welcher Dienstanbieter die geringste menge an Ressourcen, die verwendet werden, oder die größte Menge an Ressourcen, die zum Ausführen neu zugewiesener Dienste verfügbar sind, aufweist.
  • Bei einem anderen Ausführungsbeispiel schätzt die Dienstortverwaltungseinrichtung 120 den Betrag an Ressourcen, die dem Ausführen des Dienstes zugeordnet sind, der in Meldung 2 identifiziert ist, und verwendet den Schätzwert, um einen Dienstanbieter auszuwählen (z. B. 130, 132, 134 oder 136), um den Dienst auszuführen. Alternativ kann die Dienstortverwaltungseinrichtung 120 einen Dienstanbieter auswählen, den sie beaufsichtigt, um einen Dienst auszuführen, basierend sowohl auf dem Betrag an Ressourcen, die zum Ausführen von Diensten an den verschiedenen Dienstanbietern verfügbar sind (oder dem Betrag an Ressourcen, der vorangehend zugeordnet wurde) und dem Betrag an Ressourcen, die schätzungsweise durch das Ausführen des Dienstes verbraucht werden.
  • Bei einem wiederum anderen Ausführungsbeispiel kann die Dienstortverwaltungseinrichtung 120 einen Dienstanbieter auswählen, den sie beaufsichtigt, um einen Dienst auszuführen, basierend auf Informationen, empfangen von dem Dienstanbieter selbst oder von einer anderen Dienstortverwaltungseinrichtung (z. B. 122), die auch denselben Dienstanbieter beaufsichtigt. Diese Informationen können eine Anzeige umfassen, dass ein bestimmter Dienst gestartet wurde oder gegenwärtig durch den Dienstanbieter ausgeführt wird. Es ist ersichtlich, dass die Informationen über den bestimmten Dienst auch den geschätzten Ressourcenbetrag umfassen, der durch Ausführen des Dienstes verbraucht wird.
  • Es wird darauf hingewiesen, dass die Dienstortverwaltungseinrichtung 120 und die Dienstortverwaltungseinrichtung 122 ihre Aufzeichnungen auf periodische oder nichtperiodische Weise zueinander senden können, wie durch den Doppelpfeil 75 gezeigt ist. Auf diese Weise, wenn eine Dienstortverwaltungseinrichtung (z. B. 120) nachfolgend betriebsunfähig wird, hat eine verbleibende Dienstortverwaltungseinrichtung (z. B. 122) die Informationen, die benötigt werden, um die Betriebsverantwortlichkeit der betriebsunfähigen Dienstortverwaltungseinrichtung (z. B. 120) auf nahtlose Weise zu übernehmen. Auf diese Weise wird eine Fehlertoleranz für die Dienstortverwaltungseinrichtungen 120 und 122 bereitgestellt, wie nachfolgend detaillierter beschrieben wird.
  • Bei dem Beispiel aus 1 wählt die Dienstortverwaltungseinrichtung 120 den Dienstanbieter 130 aus. Die zuvor erwähnte Dienstanbieteraufzeichnung wird durch die Dienstortverwaltungseinrichtung 120 aktualisiert, um die Auswahl des Dienstanbieters 130 wiederzugeben. Bei einem Ausführungsbeispiel werden die Mengen der verschiedenen Ressourcen, die dem Dienstanbieter 130 zugeordnet sind, um die geschätzte Menge an Ressourcen reduziert, die erwartungsgemäß zum Ausführen des Dienstes verwendet wird (oder der Betrag an zugeordneten Ressourcen wird erhöht).
  • Ferner sendet die Dienstortverwaltungseinrichtung 120 eine Meldung 3 zu dem Portal 140. Die Meldung 3 umfasst ausreichend Informationen zum Lokalisieren und Kontaktieren des Dienstanbieters 130. Zum Beispiel kann die Meldung 3 einen URL umfassen, der den Dienstanbieter 130 spezifiziert. Es wird darauf hingewiesen, dass die Meldung 3 andere Informationen umfassen kann. Zum Beispiel kann die Meldung 3 auch das Inhaltselement und/oder die Inhaltsquelle identifizieren.
  • Nach dem Empfangen von Meldung 3 sendet das Portal 140 eine Meldung 4 zu der Clientenvorrichtung 150. Die Meldung 4 umfasst die Informationen zum Lokalisieren und Kontaktieren des Dienstanbieters 130, der durch Meldung 3 spezifiziert wurde. Es wird darauf hingewiesen, dass Meldung 4 identisch zu Meldung 3 sein kann (z. B. kann Meldung 4 eine Weiterleitung von Meldung 3 sein). Meldung 4 kann jedoch andere (zusätzliche) Informationen umfassen, die durch das Portal 140 hinzugefügt sind. Zum Beispiel kann Meldung 4 auch das Inhaltselement und/oder die Inhaltsquelle identifizieren (z. B. 110), wenn diese Informationen durch Portal 140 und nicht die Dienstortverwaltungseinrichtung 120 bestimmt werden.
  • Bei einem alternativen Ausführungsbeispiel kann die Dienstortverwaltungseinrichtung 120 anstelle der Meldungen 3 und 4 eine Meldung direkt zu der Clientenvorrichtung 150 senden. Die Meldung von der Dienstortverwaltungseinrichtung 120 zu der Clientenvorrichtung 150 kann die Informationen zum Lokalisieren und Kontaktieren des Dienstanbieters 130 umfassen. Die Meldung kann ferner andere Informationen umfassen, wie z. B. die Identität des Inhaltselements und/oder der Inhaltsquelle (z. B. 110).
  • In jedem Fall empfängt die Clientenvorrichtung 150 eine Meldung, die Informationen umfasst, die zum Lokalisieren und Kontaktieren des Dienstanbieters 130 ausreichend sind. Basierend auf diesen Informationen wird eine Kommunikation zwischen der Clientenvorrichtung 150 und dem Dienstanbieter 130 eingerichtet. Anders ausgedrückt wird die Sitzung, die durch die Clientenvorrichtung 150 initiiert wird, von dem Portal 140 zu dem Dienstanbieter 130 übertragen. Bei einem Ausführungsbeispiel wird darauf hingewiesen, dass die Übertragung von dem Portal 140 zu dem Dienstanbieter 130 für einen Endbenutzer einer Clientenvorrichtung 150 nahtlos und transparent ist.
  • Bei einem Ausführungsbeispiel verwendet die Meldung, die durch die Clientenvorrichtung 150 empfangen wird (z. B. Meldung 4), oder basiert auf einer synchronisierten Multimediaintegrationssprache (SMIL; Synchronized Multimedia Integration Language). Die Umleitung der Clientenvorrichtung 150 von dem Portal 140 zu dem Dienstanbieter 130 kann unter Verwendung einer SMIL-Neuschreibung erreicht werden. Der dynamische SMIL-Neuschreibprozess kann aus dem Einsetzen eines URL, der den Dienstanbieter 130 spezifiziert, für einen oder mehrere Platzhalter in einer Schablonen-SMIL-Datei bestehen. Das Neuschreiben der SMIL-Datei kann bei diesem Beispiel durch die Dienstortverwaltungseinrichtung 120 erreicht werden. Diese SMIL-Datei wird dann zu der Clientenvorrichtung 150 gesendet, die den Dienst angefordert hat, entweder direkt von der Dienstortverwaltungseinrichtung 120 oder über Meldungen 3 und 4, wie oben beschrieben wurde.
  • Weiter mit dem Beispiel im Hinblick auf 1 sendet die Clientenvorrichtung 150 nach dem Empfangen der Meldung 4 von dem Portal 140 (oder einer entsprechenden Meldung von der Dienstortverwaltungseinrichtung 120) eine Meldung 5 zu dem Dienstanbieter 130. Meldung 5 identifiziert das Inhaltselement und den Diensttyp, der durch den Dienstanbieter 130 ausgeführt werden soll. Meldung 5 kann andere Informationen umfassen. Wenn z. B. an diesem Punkt die Inhaltsquelle der Clientenvorrichtung 150 bekannt ist, können diese Informationen in Meldung 5 umfasst sein.
  • Nach dem Empfangen von Meldung 5 sendet der Dienstanbieter 130 eine Meldung 6 zu der Inhaltsquelle 110. Wie oben erwähnt wurde, kann die Inhaltsquelle 110 für den Dienstanbieter 130 in Meldung 5 identifiziert sein. Ansonsten kann der Dienstanbieter 130 die Inhaltsquelle 110 lokalisieren. In Meldung 6 fordert der Dienstanbieter 130 an, dass das Inhaltselement zu ihm geliefert wird.
  • Ansprechend auf Meldung 6 sendet die Inhaltsquelle 110 das Inhaltselement zum Betreuen (Bedienen) zu dem Dienstanbieter 130 (dargestellt durch Pfeil 7 in 1). Bei einem Ausführungsbeispiel wird das Inhaltselement zu dem Dienstanbieter 130 gestreamt.
  • Bei einem Ausführungsbeispiel kann der Dienstanbieter 130 immer eingerichtet und bereit sein, den spezifizierten Dienst auszuführen. Das heißt, der spezifizierte Dienst kann kontinuierlich auf dem Dienstanbieter 130 ausgeführt werden und auf Daten zum Bearbeiten warten. Bei einem anderen Ausführungsbeispiel kann der spezifizierte Dienst im Ruhezustand sein, bis entweder Meldung 5 oder das Inhaltselement durch den Dienstanbieter 130 empfangen wird oder beginnt, empfangen zu werden. Das heißt, der Dienstanbieter 130 muss eventuell den spezifizierten Dienst einrichten oder starten und tut dies nicht, bis der potentielle Bedarf für den Dienst identifiziert ist oder bis Inhalt, an dem der Dienst ausgeführt werden soll, an dem Dienstanbieter 130 anzukommen begonnen hat.
  • In jedem Fall kann der Dienstanbieter 130 dann den spezifizierten Dienst an dem Inhaltselement ausführen. Das Inhaltselement kann durch den Dienstanbieter 130 ganz oder teilweise vor der Betreuung zwischengespeichert werden, oder das Inhaltselement kann betreut werden, wenn es durch den Dienstanbieter 130 empfangen wird.
  • Der Dienstergebnisinhalt wird dann durch den Dienstanbieter 130 zu der Clientenvorrichtung 150 gesendet (dargestellt durch Pfeil 8 in 1). Bei einem Ausführungsbeispiel wird der Dienstergebnisinhalt zu der Clientenvorrichtung 150 gestreamt. Der Dienstergebnisinhalt kann durch den Dienstanbieter 130 ganz oder teilweise nach dem Betreuen (vor dem Streamen) zwischengespeichert werden, oder der Dienstergebnisinhalt kann gestreamt werden, wenn er durch den Dienstanbieter 130 betreut wird.
  • In 1, sobald der Dienstergebnisinhalt durch den ausgewählten Dienstanbieter (z. B. Dienstanbieter 130) geliefert und durch die Clientenvorrichtung 150 empfangen wurde, kann die laufende Sitzung beendet werden. Dementsprechend kann die Dienstanbieteraufzeichnung, die durch die Dienstortver waltungseinrichtung 120 geführt wird, aktualisiert werden, um zu reflektieren, dass der Dienstanbieter 130 seine Betreuungsaufgaben abgeschlossen hat, oder dass die Sitzung beendet wurde. Diese Aufzeichnung kann auch aktualisiert werden, um zu zeigen, dass Ressourcen, die dem Ausführen des Dienstes zugeordnet sind, wieder verfügbar sind. Zum Beispiel kann der Betrag an Ressourcen, der zum Ausführen von Diensten verfügbar ist, die für den Dienstanbieter 130 aufgezeichnet sind, erhöht werden.
  • Wenn ein Dienstanbieter (z. B. 130) durch mehr als eine Dienstortverwaltungseinrichtung beaufsichtigt wird (z. B. 120 und 122), ist es wünschenswert, Informationen im Hinblick auf Änderungen bei dem Status des Dienstanbieters zu allen beaufsichtigenden Dienstortverwaltungseinrichtungen weiterzuleiten. Somit, bei dem obigen Beispiel, wenn die Dienstortverwaltungseinrichtung 120 ihre Aufzeichnung des Dienstanbieters 130 aktualisiert, um zu reflektieren, dass er eine bestimmte Dienstaufgabe abgeschlossen hat, die ihm durch die Dienstortverwaltungseinrichtung 120 zugewiesen wurde, oder dass eine bestimmte Sitzung, die ihm durch die Dienstortverwaltungseinrichtung 120 zugewiesen wurde, abgeschlossen wurde, ist es wünschenswert, diese Informationen zu der Dienstortverwaltungseinrichtung 122 weiterzuleiten. Um dies zu erreichen, kann eine Kopie der aktualisierten Aufzeichnung der Dienstortverwaltungseinrichtung 120 im Hinblick auf den Dienstanbieter 130 zu der Dienstortverwaltungseinrichtung 122 gesendet werden, wodurch die Dienstortverwaltungseinrichtung 122 über die Statusänderung des Dienstanbieters 130 informiert wird. Auf diese Weise ist die Dienstortverwaltungseinrichtung 122 in der Lage, ihre Aufzeichnung zu aktualisieren, wenn sie den Dienstanbieter 130 auch beaufsichtigt. Ferner kann die Übertragung dieser aktualisierten Aufzeichnung von der Dienstortverwaltungseinrichtung 120 zu der Dienstortverwaltungseinrichtung 122 eine Fehlertoleranzfunktionalität ermöglichen, insofern, dass die Dienstortverwaltungseinrichtung 122 besser vorbereitet ist, die Operationen der Dienstortverwaltungs einrichtung 120 zu übernehmen, wenn die letztere nicht mehr antwortet. Alternativ führt bei einigen Ausführungsbeispielen jeder Dienstanbieter (z. B. 130) eine Liste der Dienstortverwaltungseinrichtungen (z. B. 120 und 122), die ihn überwachen. Bei diesen Ausführungsbeispielen, wenn der Dienstanbieter 130 eine Dienstaufgabe fertig stellt, oder wenn eine Sitzung, die ihm zugewiesen ist, abgeschlossen wird, kann er alle Dienstortverwaltungseinrichtungen benachrichtigen (z. B. 120 und 122), die ihn beaufsichtigen, dass er nun mehr Ressourcen zum Ausführen von Diensten verfügbar hat.
  • Unterschiedliche Ansätze können verwendet werden, um eine Aktualisierung der Aufzeichnung des Status eines Dienstanbieters auszulösen, die durch eine gegebene Dienstortverwaltungseinrichtung geführt wird. Bei einem Ansatz Bezug nehmend auf das gegebene Beispiel kann die Dienstortverwaltungseinrichtung 120 zu der oder ungefähr zu der Zeit, zu der die Dienstortverwaltungseinrichtung 120 eine Auswahl eines Dienstanbieters trifft, den Zeitbetrag schätzen, der zum Fertigstellen des Dienstes notwendig ist, der an dem Inhaltselement ausgeführt werden soll. Die Aufzeichnung kann aktualisiert werden, um zu reflektieren, dass der Dienst fertiggestellt wurde, wenn der Zeitbetrag abgelaufen ist. Wenn die Dienstortverwaltungseinrichtung 120 eine Aufzeichnung anderer Dienstortverwaltungseinrichtungen führt, die den Dienstanbieter 130 beaufsichtigen, und wenn die Dienstortverwaltungseinrichtung 122 auf dieser Liste ist, kann die Dienstortverwaltungseinrichtung 120 eine Aktualisierung der Aufzeichnung im Hinblick auf den Dienstanbieter 130 zu der Dienstortverwaltungseinrichtung 122 senden, wenn der geschätzte Zeitbetrag zum Fertigstellen des Dienstes abgelaufen ist. Alternativ, für Ausführungsbeispiele, bei denen jeder Dienstanbieter eine Liste aller Dienstortverwaltungseinrichtungen führt, die ihn beaufsichtigen, kann der Dienstanbieter (z. B. 130) allen beaufsichtigenden Dienstortverwaltungseinrichtungen (z. B. 120 und 122) anzeigen, wenn er einen Dienst abgeschlossen hat, und ihre entsprechenden Aufzeichnungen im Hinblick auf den Dienstanbieter 130 können entsprechend aktualisiert werden. Diese Ansätze können ausgedehnt werden, um die Lieferung des Dienstergebnisinhalts zu der Clientenvorrichtung 150 zu berücksichtigen. Zum Beispiel kann der Zeitbetrag, der durch die Dienstortverwaltungseinrichtung 120 geschätzt wurde, den der Dienstanbieter 130 zum Ausführen des Dienstes benötigt, erhöht werden, um jegliche zusätzliche Zeit zu berücksichtigen, die durch den Dienstanbieter 130 benötigt wird, um den Dienstergebnisinhalt zu der Clientenvorrichtung 150 zu senden. Auf ähnliche Weise kann die Dienstortverwaltungseinrichtung 120 die Zeitlänge schätzen, die die Sitzung erwartungsgemäß dauert (z. B. wenn das Inhaltselement ein Film ist, der zwei Stunden dauert, kann geschätzt werden, dass die Sitzung ungefähr zwei Stunden dauert). Alternativ kann der Dienstanbieter 130 den beaufsichtigenden Dienstortverwaltungseinrichtungen 120 und 122 anzeigen, wann er das Senden des Dienstergebnisinhalts zu der Clientenvorrichtung 150 abgeschlossen hat. Bei einem anderen Ausführungsbeispiel kann der Dienstanbieter 130 allen beaufsichtigenden Dienstortverwaltungseinrichtungen 120 und 122 anzeigen, wann das Senden des Dienstergebnisinhalts zu der Clientenvorrichtung 150 durch die Clientenvorrichtung 150 beendet wurde.
  • Bei der obigen Erörterung wird das Inhaltselement zu dem Dienstanbieter 130 ansprechend auf die Meldung 6 gesendet. Wie hierin vorangehend erwähnt wurde, kann der Dienstanbieter 130 stattdessen Inhalt speichern oder zwischenspeichern, der vorangehend empfangen und/oder betreut wurde, wodurch sich der Nutzen von Meldung 6 und der Antwort auf Meldung 6 erübrigt (z. B. Beseitigen des Datenflusses, der durch Pfeil 7 in 1 angezeigt ist).
  • In 1 ist bei einem Ausführungsbeispiel die Hinzufügung von Meldung A von der Dienstortverwaltungseinrichtung 120 zu dem ausgewählten Dienstanbieter (z. B. 130) gezeigt. Bezug nehmend auf das vorliegende Beispiel kann Meldung A von der Dienstortverwaltungseinrichtung 120 zu dem Dienstanbieter 130 zu jeglicher Zeit nach Meldung 2 und vor Meldung 5 gesendet werden. Meldung A kann für jegliche Anzahl von unterschiedlichen Zwecken verwendet werden. Zum Beispiel, kann in einer Situation, in der der Diensttyp, der an dem spezifizierten Inhaltselement ausgeführt werden soll, nicht kontinuierlich auf dem Dienstanbieter 130 ausgeführt wird, Meldung A verwendet werden, um den Dienstanbieter 130 über den bevorstehenden Bedarf nach dem Dienst zu warnen. Folglich kann das Einrichten und/oder Initiieren des Dienstes beginnen und vielleicht abgeschlossen werden, bevor Meldung 5 von der Clientenvorrichtung 150 empfangen wird, wodurch die Gesamtlatenzzeit reduziert wird.
  • Ferner kann Meldung A verwendet werden, um dem Dienstanbieter 130 die Identität des Inhaltselements und vielleicht die Identität der Inhaltsquelle 110 zu liefern. Mit diesen Informationen kann der Dienstanbieter 130 die Inhaltsquelle 110 auffordern, das Inhaltselement zu liefern (z. B. ein Streamen zu beginnen), bevor Meldung 5 empfangen wird, was weiter zu einer Reduzierung der Latenzzeit beiträgt. Zusätzlich dazu kann die Verwendung von Meldung A auf diese Weise zu einer verbesserten Sicherheit führen, da die Inhaltsquelle 110 z. B. nicht für die Clientenvorrichtung 150 identifiziert werden muss.
  • Ferner kann Meldung A anstelle der Meldungen 3, 4 und 5 verwendet werden. Zum Beispiel kann, zusätzlich zu dem Identifizieren des Inhaltselements und vielleicht der Inhaltsquelle, Meldung A auch Informationen umfassen, die dem Dienstanbieter 130 ermöglichen, eine Kommunikation mit der Clientenvorrichtung 150 einzurichten. Anders ausgedrückt, anstatt zu veranlassen, dass die Clientenvorrichtung 150 die Übertragung einer Kommunikation von dem Portal 140 zu dem Dienstanbieter 130 initiiert, kann die Übertragung der Kommunikation durch den Dienstanbieter 130 auf eine Weise initiiert werden, die weiterhin nahtlos und transparent für einen Benutzer der Clientenvorrichtung 150 ist.
  • In 1 kann das System 100 derart implementiert sein, dass, wenn Dienstanbieter (z. B. 134 und 136) zu beschäftigt sind, während ihre beaufsichtigende Dienstortverwaltungseinrichtung (z. B. 122) noch in der Lage ist, neue Dienstanforderungen von einem Portal (z. B. 140) zu verarbeiten, können ein oder mehrere Dienstanbieter (z. B. 130) von einer Nachbarregion gewonnen werden, die durch eine andere Dienstortverwaltungseinrichtung (z. B. 120) beaufsichtigt wird. Diese „Übertragung" von einem oder mehreren Dienstanbietern kann ermöglicht werden, wenn die benachbarten Dienstortverwaltungseinrichtungen (z. B. 120 und 122) ihre aktualisierten Aufzeichnungen gemeinschaftlich verwenden, wie durch Pfeil 75 gezeigt ist.
  • Bei einem Ausführungsbeispiel, wenn ein Dienstanbieter (z. B. 134) durch zwei oder mehre Dienstortverwaltungseinrichtungen (z. B. 120 und 122) beaufsichtigt wird und eine neue Dienstzuweisung von einer derselben empfängt, kann der Dienstanbieter seine andere(n) beaufsichtigende(n) Dienstortverwaltungseinrichtung(en) über die neue Dienstzuweisung benachrichtigen. Es gibt unterschiedliche Möglichkeiten für Dienstanbieter, die Dienstortverwaltungseinrichtungen zu benachrichtigen, die ihn beaufsichtigen. Zum Beispiel kann der Dienstanbieter direkt die andere(n) beaufsichtigende(n) Dienstortverwaltungseinrichtung(en) über die neue Dienstzuweisung benachrichtigen. Alternativ kann der Dienstanbieter die neue Dienstzuweisung in seiner nächsten periodischen Stapelstatusbenachrichtigung an alle seine beaufsichtigenden Dienstortverwaltungseinrichtungen einschließen. Bei einem anderen Ausführungsbeispiel kann jede Dienstortverwaltungseinrichtung (z. B. 122) alle Dienstanbieter (z. B. 134 und 136) abrufen oder abfragen, die sie auf periodischer Basis beaufsichtigt, um ihre entsprechenden Belastungen und andere Status herauszufinden. In der Antwort kann der Dienstanbieter die neue Dienstzuweisung einschließen.
  • Es wird darauf hingewiesen,, dass mit jeder dieser Benachrichtigungen eine Bestimmung ausgeführt werden kann, ob die Zeitlänge zum Fertigstellen des Dienstes geringer ist als ein Schwellenwert oder nicht. Wenn diese Länge geringer ist als der Schwellenwert, berichtet der Dienstanbieter den zugewiesenen Dienst möglicherweise nicht, da er so wenig Zeit zur Fertigstellen benötigt.
  • In 1 wird darauf hingewiesen, dass die neue Dienstzuweisungsbenachrichtigung von einem Dienstanbieter (z. B. 134) zu einer Dienstortverwaltungseinrichtung (z. B. 120) eine Schätzung des Zeitbetrags zum Fertigstellen der neuen Dienstzuweisung umfassen kann. Diese Schätzung kann jedoch nachfolgend durch die Dienstortverwaltungseinrichtung gelöscht werden, sobald sie eine Stapelaktualisierung von demselben Dienstanbieter über seinen aktuellen Belastungsstatus empfängt. Alternativ kann eine neue Dienstzuweisungsbenachrichtigung durch den Dienstanbieter mit fester Ablaufzeit (Löschzeit) ausgegeben werden. Zum Beispiel durch den Dienstanbieter kann eine neue Dienstzuweisungsbenachrichtigung zusammen mit einer festen Ablaufzeit gegeben werden, wie lange die Dienstortverwaltungseinrichtung annehmen sollte, dass der Dienstanbieter mit dem Ausführen dieses Dienstes beschäftigt ist.
  • Bei einem Ausführungsbeispiel kennt jede Dienstortverwaltungseinrichtung für jeden ihrer Dienstanbieter die Liste von anderen Dienstortverwaltungseinrichtungen, die die Beaufsichtigung dieses Dienstanbieters teilen. Bei diesem Ausführungsbeispiel kann eine Dienstortverwaltungseinrichtung, die einen neuen Dienst zu einem Dienstanbieter abschickt, auch die anderen Dienstortverwaltungseinrichtungen, die den gleichen Dienstanbieter beaufsichtigen, über diese neue Zuweisung benachrichtigen, so dass sie ihre Dienstanbieter-Statusaufzeichnungen entsprechend aktualisieren können.
  • In System 100 aus 1 wird für einen Dienstanbieter (z. B. 130), der durch mehrere Dienstortverwaltungseinrichtungen (z. B. 120 und 122) beaufsichtigt wird, darauf hingewiesen, dass Statusaktualisierungen der Ressourcenverfügbarkeit des Dienstanbieters 130 zu allen beaufsichtigenden Dienstortverwaltungseinrichtungen 120 und 122 auf unterschiedlichen Wegen geliefert werden können. Zum Beispiel kann der Dienstanbieter 130 eine Statusaktualisierung zu einer Dienstortverwaltungseinrichtung (z. B. 120) senden, und wenn diese Dienstortverwaltungseinrichtung 120 eine Liste aller anderen Dienstortverwaltungseinrichtungen (z. B. 122) führt, die den Dienstanbieter 130 beaufsichtigen, kann diese dann die Statusaktualisierung zu diesen anderen beaufsichtigenden Dienstortverwaltungseinrichtungen liefern. Alternativ kann bei Ausführungsbeispielen, bei denen jeder Dienstanbieter eine Liste der Dienstortverwaltungseinrichtungen führt, die ihn beaufsichtigen, der Dienstanbieter 130 Statusaktualisierungen direkt zu allen beaufsichtigenden Dienstortverwaltungseinrichtungen 120 und 122 senden.
  • Innerhalb des Systems 100 wird darauf hingewiesen, dass die Auswahl von Dienstanbietern (z. B. 130, 132, 134 und 136), die gemeinschaftlich von mehreren Dienstortverwaltungseinrichtungen verwendet werden sollen, auf viele Arten erreicht werden kann. Zum Beispiel können die gemeinschaftlich verwendeten Dienstanbieter zufällig ausgewählt werden, so dass „Regionen" aus Dienstanbietern, die durch unterschiedliche Dienstortverwaltungseinrichtungen beaufsichtigt werden, gut vermascht sind. Bei einem anderen Ausführungsbeispiel können diese Dienstanbieter in separate (nicht überlappende) Sätze unterteilt sein, wobei jeder Satz durch jede der N unterschiedlichen Dienstortverwaltungseinrichtungen beaufsichtigt wird, und wobei keine Dienstortverwaltungseinrichtung, die Dienstanbieter eines Satzes beaufsichtigt, auch Dienstanbieter eines anderen Satzes beaufsichtigt. Alternativ kann die Auswahl von gemeinschaftlich verwendeten Dienstanbietern durch Wahrscheinlichkeitsver teilungen bestimmt werden. Zum Beispiel, kann sich im Hinblick auf Schätzwerte der Distanzen zwischen jeder eines Satzes aus Dienstortverwaltungseinrichtungen und jedem eines Satzes aus Dienstanbietern, wobei diese Distanzschätzwerte auf geographischen Faktoren, Netzwerkfaktoren oder beidem basieren können, die Wahrscheinlichkeit, dass ein bestimmter Dienstanbieter durch eine gegebene Dienstortverwaltungseinrichtung beaufsichtigt wird, mit der Nähe zwischen denselben erhöhen. Eine solche Wahrscheinlichkeitsverteilung wird gut durch eine Gaußsche Funktion der Distanz von der Dienstortverwaltungseinrichtung dargestellt. Jede Dienstortverwaltungseinrichtung kann diesen Typ einer Wahrscheinlichkeitsverteilung von Dienstanbietern aufweisen, die ausgewählt sind, um durch dieselbe überwacht zu werden. Somit könnten Dienstanbieter, die in der Nähe von mehr als einer Dienstortverwaltungseinrichtung sind, zugewiesen sein, um durch mehr als eine Dienstortverwaltungseinrichtung beaufsichtigt zu werden.
  • Bei einem Ausführungsbeispiel des Systems 100 verwaltet eine „Master"- („Haupt"-) Dienstortverwaltungseinrichtung alle der anderen Dienstortverwaltungseinrichtungen des Systems 100, durch Führen von Aufzeichnungen der Prozessorlasten dieser Dienstortverwaltungseinrichtungen und ihrer Netzwerkdistanzen zu anderen Rechenvorrichtungen auf dem Netzwerk. Wie oben beschrieben wurde, kann das Sammeln dieser Informationen auf hierarchische Weise ausgeführt werden. Bei anderen Ausführungsbeispielen kommuniziert jede Dienstortverwaltungseinrichtung direkt mit dem Master. Informationen, die durch die Master-Dienstortverwaltungseinrichtung gesammelt werden, können zu Portalen (z. B. 140 und 142) zur Verwendung bei ihren Prozessen des Auswählens von Dienstortverwaltungseinrichtungen verteilt werden, mit denen kommuniziert werden soll. Alternativ können alle Portale ihre Anforderungen zu der Master-Dienstortverwaltungseinrichtung senden, die die Anforderungen abwärts in einer Hierarchie hin zu Dienstortverwaltungseinrichtungen mit der meisten Verarbeitungskapazität weiterleitet, oder zu jenen, die am besten gemäß den Netzwerkdistanzaufzeichnungen der Dienstortverwaltungseinrichtungen zu Clientenvorrichtungen und Inhaltsquellen positioniert sind, die an der Dienstanforderung beteiligt sind, um die Zuweisung der Anforderung zu handhaben.
  • 2 ist ein Blockdiagramm eines Systems 200 zum Betreuen von Inhalt aus einer Inhaltsquelle 210 und zum Liefern des Dienstergebnisinhalts zu einer Clientenvorrichtung 150 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Genauer gesagt umfasst das System 200 Funktionen und Komponenten zum Implementieren einer Fehlertoleranz für Dienstortverwaltungseinrichtungen 120 und 122. Es wird darauf hingewiesen, dass die Komponenten von 2, die dieselben Bezugszeichen aufweisen wie 1, auf ähnliche Weise arbeiten können. Es gibt jedoch einige Unterschiede.
  • Zum Beispiel kann, wie bei System 200 gezeigt ist, die Fehlertoleranz für die Dienstortverwaltungseinrichtung 122 durch eine Sicherungs-Dienstortverwaltungseinrichtung 202 bereitgestellt werden. Als solches kann, immer wenn die Dienstortverwaltungseinrichtung 122 ihre Aufzeichnung(en) aktualisiert, wie hierin beschrieben ist, die Dienstortverwaltungseinrichtung 122 die aktualisierten Aufzeichnungen zu der Sicherungs-Dienstortverwaltungseinrichtung 202 senden, wie durch Pfeil 204 gezeigt ist. Teil der Funktionalität der Sicherungs-Dienstortverwaltungseinrichtung 202 kann sein, gelegentlich oder periodisch den Betriebsstatus der Dienstortverwaltungseinrichtung 122 zu prüfen, wie durch den Doppelpfeil 206 gezeigt ist. Wenn die Sicherungs-Dienstortverwaltungseinrichtung 202 bestimmt, dass die Dienstortverwaltungseinrichtung 122 nicht antwortet oder betriebsunfähig ist, ist die Sicherungs-Dienstortverwaltungseinrichtung 202 in der Lage, die Operationen der Dienstortverwaltungseinrichtung 122 zu übernehmen, da sie die aktualisierte(n) Aufzeichnung(en) von der Dienstortverwaltungseinrichtung 122 zusammen mit der Kenntnis (z. B. vorgespeichert) darüber hat, welche Dienstanbieter (z. B. 134 und 136) die Dienstortverwaltungseinrichtung 122 beaufsichtigte. Zusätzlich dazu, wenn die Sicherungs-Dienstortverwaltungseinrichtung 202 Kenntnis (z. B. vorgespeichert oder von Benachrichtigungen erhalten, die von anderen Dienstortverwaltungseinrichtungen oder Portalen empfangen wurden) über die Liste der Portale (z. B. 142) hat, die möglicherweise versuchen, mit der Dienstortverwaltungseinrichtung 122 zu kommunizieren, kann die Sicherungs-Dienstortverwaltungseinrichtung 202 diese Portale benachrichtigen, dass sie beginnen sollten, mit der Sicherungs-Dienstortverwaltungseinrichtung 202 zu kommunizieren, anstatt mit der Dienstortverwaltungseinrichtung 122. Ferner, nach dem Übernehmen der Operationen der Dienstortverwaltungseinrichtung 122, kann die Sicherungs-Dienstortverwaltungseinrichtung 202 ihre eigene Sicherungs-Dienstortverwaltungseinrichtung (nicht gezeigt) rekrutieren, und mit dem Liefern ihrer aktualisierten Aufzeichnung(en) zu derselben beginnen. Auf diese Weise kann die Sicherungs-Dienstortverwaltungseinrichtung 202 eine Fehlertoleranz für die Dienstortverwaltungseinrichtung 122 bereitstellen. Bei einigen Ausführungsbeispielen ist die Sicherungs-Dienstortverwaltungseinrichtung 202 vielleicht nicht nur eine Sicherung sondern kann stattdessen aktiv Anforderungen von Portalen betreuen, bevor die Operationen der Dienstortverwaltungseinrichtung 122 übernommen werden, wenn sie sich als nicht ansprechend herausstellt. Es wird darauf hingewiesen, dass alle anderen Dienstortverwaltungseinrichtungen (z. B. 120) des Systems 200 mit einer Sicherungs-Dienstortverwaltungseinrichtung ähnlich zu der Sicherungs-Dienstortverwaltungseinrichtung 202 implementiert sein könnten.
  • Es wird darauf hingewiesen, dass anderen Dienstortverwaltungseinrichtungen ähnlich zu der Sicherungs-Dienstortverwaltungseinrichtung 202 miteinander „verkettet" sein können, um eine weitere redundante Fehlertoleranz bereitzustellen. Zum Beispiel könnten die anderen Dienstortverwaltungseinrichtungen miteinander derart verkettet sein, dass die aktive Dienstortverwaltungseinrichtung 122 nur die nächste andere Dienstortverwaltungseinrichtung (z. B. 202) in der Reihe aktualisieren würde und sie die nächste aktualisieren würde usw. Alternativ könnten die anderen Dienstortverwaltungseinrichtungen miteinander verkettet sein und so arbeiten, dass die aktive Dienstortverwaltungseinrichtung 122 zwei oder mehr andere Dienstortverwaltungseinrichtungen aktualisieren könnte und diese Dienstortverwaltungseinrichtungen zwei oder mehr andere Dienstortverwaltungseinrichtungen aktualisieren könnten usw. Bei einem anderen Ausführungsbeispiel würde die aktive Dienstortverwaltungseinrichtung 122 nur eine erste Sicherungs-Dienstortverwaltungseinrichtung 202 aktualisieren. Dann, wenn die aktive Dienstortverwaltungseinrichtung 122 betriebsunfähig werden würde, würde die erste Sicherungs-Dienstortverwaltungseinrichtung 202 zu der aktiven Dienstortverwaltungseinrichtung werden und würde mit dem Aktualisieren der nachfolgenden, zweiten Sicherungs-Dienstortverwaltungseinrichtung in der Kette beginnen. Für alle obigen Beispiele wird darauf hingewiesen, dass die anderen Dienstortverwaltungseinrichtungen aktiv und in der Lage sein können, Dienstanforderungen von Portalen zu jeder Zeit zu handhaben, zu der das System 200 in Betrieb ist, anstatt nur als Sicherungen zu dienen.
  • In 2 ist eine weitere Fehlertoleranz, die in dem System 200 umfasst ist, eine ruhende oder inaktive Dienstortverwaltungseinrichtung 208. Genauer gesagt kann ein Portal (z. B. 140 oder 142), das mit der Dienstortverwaltungseinrichtung 120 in Wechselwirkung ist, bestimmen, ob sie betriebsunfähig oder nicht ansprechend ist. Wenn ja, ist das Portal (z. B. 140) in der Lage, eine ruhende Dienstortverwaltungseinrichtung 208 zu kontaktieren, gezeigt durch Pfeil 210, um auszulösen, dass sie das Arbeiten als Dienstortverwaltungseinrichtung für die Region beginnt, die vorangehend durch die Dienstortverwaltungseinrichtung 120 beaufsichtigt wurde. Es wird darauf hingewiesen, dass die Funktionalität der Dienstortverwaltungseinrichtung bereits ein Teil der ruhenden Dienstortverwaltungseinrichtung 208 wäre, aber diese Funktionalität inaktiv war oder die ruhende Dienstortverwaltungseinrichtung 208 in einer anderen Funktion in Betrieb war. Zusätzlich dazu hätte die ruhende Dienstortverwaltungseinrichtung 208 Kenntnis über die Dienstanbieter (z. B. 130 und 132), die sie beaufsichtigen soll, um die Operationen der Dienstortverwaltungseinrichtung 120 zu übernehmen. Bei einem Ausführungsbeispiel kann, bevor die Dienstortverwaltungseinrichtung 120 betriebsunfähig wird, die Dienstortverwaltungseinrichtung 120 derart implementiert sein, dass sie ihre aktualisierte(n) Aufzeichnung(en) zu einem oder mehreren Portalen (z. B. 140) sendet, wie durch Pfeil 212 gezeigt ist. Daher, sobald Portal 140 bestimmt, dass die Dienstortverwaltungseinrichtung 120 betriebsunfähig ist, ist das Portal 140 ferner in der Lage, der ruhenden Dienstortverwaltungseinrichtung 208 die aktualisierte(n) Aufzeichnung(en) der Dienstortverwaltungseinrichtung 120 zu liefern, wie durch Pfeil 210 gezeigt ist. Es wird darauf hingewiesen, dass diese Funktionalität in ein oder mehrere Ausführungsbeispielen der hierin beschriebenen vorliegenden Erfindung integriert sein kann.
  • 3 ist ein Flussdiagramm 300 aus Operationen, die gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zum Verwalten eines Streaming-Mediendienstes ausgeführt werden. Das Flussdiagramm 300 umfasst exemplarische Prozesse von Ausführungsbeispielen der vorliegenden Erfindung, die durch einen oder mehrere Prozessoren und elektrische Komponenten unter der Steuerung von computerlesbaren und computerausführbaren Anweisungen ausgeführt werden können. Die computerlesbaren und computerausführbaren Anweisungen können z. B. in Datenspeicherungsmerkmalen vorliegen, wie z. B. in computerverwendbarem, flüchtigem Speicher, computerverwendbarem, nichtflüchtigem Speicher und/oder einer computerverwendbaren Massendatenspeicherung. Die computer-lesbaren und -ausführbaren Anweisungen können jedoch in jeder Art eines computerlesbaren Mediums vorliegen. Obwohl spezifische Operationen in dem Flussdiagramm 300 offenbart sind, sind solche Operationen exemplarisch. Das heißt, das vorliegende Ausführungsbeispiel ist gut geeignet zum Ausführen verschiedener anderer Operationen oder Variationen der Operationen, die in 3 angegeben sind. Es wird darauf hingewiesen, dass die Operationen des Flussdiagrams 300 durch Software, durch Firmware, durch Hardware oder jegliche Kombination derselben ausgeführt werden können.
  • Bei Operation 302 wird eine Anforderung nach einem Streaming-Mediendienst von einem Clienten empfangen, wobei der Streaming-Mediendienst eine Mediendienstkomponente umfasst. Es wird darauf hingewiesen, dass die Operation 302 auf jegliche Weise ähnlich zu der hierin beschriebenen implementiert sein kann, aber nicht darauf beschränkt ist.
  • Bei Operation 304 von 3 wird eine Dienstortverwaltungseinrichtung, zu der die Anforderung geliefert werden soll, aus einer Mehrzahl von Dienstortverwaltungseinrichtungen ausgewählt. Es wird darauf hingewiesen, dass Operation 304 auf jegliche Weise ähnlich zu der hierin beschriebenen implementiert sein kann, aber nicht darauf beschränkt ist.
  • Bei Operation 306 wird ein Dienstanbieter, zu dem die Mediendienstkomponente zugewiesen werden soll, aus einer Mehrzahl von Dienstanbietern eines Netzwerks ausgewählt. Es wird darauf hingewiesen, dass die Operation 306 auf jegliche Weise ähnlich zu der hierin beschriebenen implementiert sein kann, aber nicht darauf beschränkt ist.
  • Bei Operation 308 aus 3 wird der Dienstanbieter, der ausgewählt ist, um die Mediendienstkomponente auszuführen, über seine Zuweisung informiert, wodurch ermöglicht wird, dass der angeforderte Streaming-Mediendienst an dem Streamingmedium ausgeführt wird. Es wird darauf hingewiesen, dass die Operation 308 auf jegliche Weise ähnlich zu der hierin beschriebenen implementiert sein kann, aber nicht darauf beschränkt ist.
  • Die vorangehenden Beschreibungen von spezifischen Ausführungsbeispielen der vorliegenden Erfindung wurden zu Zwecken der Darstellung und Beschreibung präsentiert. Sie sollen nicht erschöpfend sein oder die Erfindung auf die präzisen offenbarten Formen einschränken, und es ist offensichtlich, dass viele Modifikationen und Abänderungen im Hinblick auf die obige Lehre möglich sind. Die Ausführungsbeispiele wurden ausgewählt und beschrieben, um die Prinzipien und ihre praktische Anwendung bestmöglich zu erklären, um es dadurch anderen Fachleuten auf dem Gebiet zu ermögliche, die Erfindung und verschiedene Ausführungsbeispiele mit verschiedenen Modifikationen, wie sie am besten für die bestimmte erdachte Verwendung geeignet sind, bestmöglich zu verwenden. Es ist beabsichtigt, dass der Schutzbereich der Erfindung durch die hieran angehängten Ansprüche und ihre Entsprechungen definiert ist.

Claims (10)

  1. Ein Verfahren (300) zum Verwalten eines Streaming-Mediendienstes, wobei das Verfahren folgende Schritte aufweist: Ändern, an einer oder mehreren einer Mehrzahl von Dienstortverwaltungseinrichtungen (120, 122), eines Satzes von Dienstanbietern (130, 132, 134, 136), die durch die jeweilige(n) eine oder mehreren Dienstortverwaltungseinrichtung(en) überwacht werden, wenn eine Rechenlast der jeweiligen einen oder der mehreren Dienstortverwaltungseinrichtung(en) eine Schwelle überschreitet, oder wenn eine gesamte Verfügbarkeit von Ressourcen innerhalb einer Kategorie über alle Dienstanbieter unter eine zweite Schwelle fällt; Empfangen einer Anforderung (302) nach einem Streaming-Mediendienst von einem Client (150), wobei der Streaming-Mediendienst eine Mediendienstkomponente aufweist; Auswählen (304) einer Dienstortverwaltungseinrichtung (120), der die Anforderung zu liefern ist, aus der Mehrzahl von Dienstortverwaltungseinrichtungen (120 und 122); Auswählen (306) eines Dienstanbieters aus dem Satz von Dienstanbietern (130, 132, 134, 136), die durch die ausgewählte Dienstortverwaltungseinrichtung (120) überwacht werden, dem die Mediendienstkomponente zuzuweisen ist, durch die ausgewählte Dienstortverwaltungseinrichtung (120); und Informieren (308) des Dienstanbieters (130) über die Zuweisung, um die Mediendienstkomponente auszuführen, was bewirkt, dass sich der Dienstanbieter vorbereitet, um den Streaming-Mediendienst an Streaming-Medien durchzuführen.
  2. Das Verfahren gemäß Anspruch 1, bei dem das Auswählen (304) der Dienstortverwaltungseinrichtung folgende Schritte aufweist: Beibehalten einer Aufzeichnung, die identifizierende Informationen einer Dienstortverwaltungseinrichtung unter der Mehrzahl von Dienstortverwaltungseinrichtungen aufweist; und Auswählen der Dienstortverwaltungseinrichtung gemäß der Aufzeichnung.
  3. Das Verfahren gemäß Anspruch 1, bei dem das Auswählen (304) der Dienstortverwaltungseinrichtung folgende Schritte aufweist: Beibehalten einer Aufzeichnung, die eine priorisierte Liste eines Satzes von verfügbaren Dienstortverwaltungseinrichtungen unter der Mehrzahl von Dienstortverwaltungseinrichtungen aufweist; und Auswählen der Dienstortverwaltungseinrichtung gemäß der Prioritätsreihenfolge der Liste der Aufzeichnung.
  4. Das Verfahren gemäß Anspruch 1, bei dem das Auswählen (304) der Dienstortverwaltungseinrichtung folgende Schritte aufweist: Beibehalten einer Aufzeichnung, die identifizierende Informationen für einen Satz von verfügbaren Dienstortverwaltungseinrichtungen unter der Mehrzahl von Dienstortverwaltungseinrichtungen aufweist; und zufälliges Auswählen der Dienstortverwaltungseinrichtung aus der Aufzeichnung.
  5. Das Verfahren gemäß Anspruch 1, bei dem das Auswählen (304) der Dienstortverwaltungseinrichtung folgende Schritte aufweist: Beibehalten einer Aufzeichnung, die identifizierende Informationen für einen Satz von verfügbaren Dienstortverwaltungseinrichtungen unter der Mehrzahl von Dienstortverwaltungseinrichtungen aufweist; und Auswählen der Dienstortverwaltungseinrichtung aus der Aufzeichnung, in der Weise eines zyklischen Umlaufs.
  6. Das Verfahren gemäß Anspruch 1, bei dem das Auswählen (304) der Dienstortverwaltungseinrichtung folgende Schritte aufweist: Beibehalten einer Aufzeichnung, die die Verarbeitungslast einer jeden von einem Satz von verfügbaren Dienstortverwaltungseinrichtungen unter der Mehrzahl von Dienstortverwaltungseinrichtungen aufweist; und Auswählen der Dienstortverwaltungseinrichtung, die eine minimale Verarbeitungslast aufweist, aus der Aufzeichnung.
  7. Das Verfahren gemäß Anspruch 1, bei dem das Auswählen (304) durch ein Portal (140) durchgeführt wird.
  8. Das Verfahren gemäß Anspruch 1, bei dem das Auswählen (304) der Dienstortverwaltungseinrichtung auf der Dienstortverwaltungseinrichtung basiert, die die kürzeste ausstehende Anforderungswarteschlange, die niedrigste erwartete Latenz bei einem Bedienen der Anforderung oder die größte aktuell verfügbare Kommunikationsbandbreite aufweist.
  9. Das Verfahren gemäß Anspruch 1, bei dem das Auswählen (304) der Dienstortverwaltungseinrichtung auf einer Netzwerkbedingung basiert.
  10. Das Verfahren gemäß Anspruch 9, bei dem die Netzwerkbedingung dem Client zugeordnet ist.
DE602004009176T 2003-05-19 2004-05-13 Dienstverwaltung durch verwendung mehrerer dienstort-manager Expired - Lifetime DE602004009176T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US47185103P 2003-05-19 2003-05-19
US471851P 2003-05-19
US698196 2003-10-30
US10/698,196 US20050005019A1 (en) 2003-05-19 2003-10-30 Service management using multiple service location managers
PCT/US2004/015192 WO2004105314A2 (en) 2003-05-19 2004-05-13 Service management using multiple service location managers

Publications (2)

Publication Number Publication Date
DE602004009176D1 DE602004009176D1 (de) 2007-11-08
DE602004009176T2 true DE602004009176T2 (de) 2008-07-10

Family

ID=33479300

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004009176T Expired - Lifetime DE602004009176T2 (de) 2003-05-19 2004-05-13 Dienstverwaltung durch verwendung mehrerer dienstort-manager

Country Status (6)

Country Link
US (1) US20050005019A1 (de)
EP (1) EP1627500B1 (de)
KR (1) KR100671635B1 (de)
AT (1) ATE374483T1 (de)
DE (1) DE602004009176T2 (de)
WO (1) WO2004105314A2 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8117529B2 (en) * 2004-06-28 2012-02-14 Sap Ag Object based navigation
US8650178B2 (en) * 2005-01-07 2014-02-11 Thomson Reuters Global Resources Systems, methods and software for distributed loading of databases
TW200627258A (en) * 2005-01-27 2006-08-01 Lite On Technology Corp Medium transfer-recording control method and the embedded system using the same
JP4701018B2 (ja) * 2005-06-22 2011-06-15 キヤノン株式会社 通信装置及び通信方法
US8386629B2 (en) * 2007-12-27 2013-02-26 At&T Intellectual Property I, L.P. Network optimized content delivery for high demand non-live contents
EP2347341A1 (de) * 2008-10-14 2011-07-27 Hewlett-Packard Development Company, L.P. Verwaltung von ereignisverkehr in einem netzwerksystem
EP2449828B1 (de) * 2009-06-29 2018-04-25 Telefonaktiebolaget LM Ericsson (publ) Verfahren und anordnung in einem drahtlosen kommunikationssystem
US8312175B2 (en) * 2010-01-21 2012-11-13 Vmware, Inc. Virtual machine access to storage via a multi-queue IO storage adapter with optimized cache affinity and PCPU load balancing
CN102137133B (zh) * 2010-01-22 2015-01-21 华为技术有限公司 内容分发的方法、系统及调度服务器
JP6036816B2 (ja) * 2011-09-22 2016-11-30 日本電気株式会社 通信端末、通信方法、およびプログラム
US9135274B2 (en) * 2012-11-21 2015-09-15 General Electric Company Medical imaging workflow manager with prioritized DICOM data retrieval
US9300728B1 (en) * 2013-10-14 2016-03-29 Ca, Inc. Controlling resource deployment thresholds in a distributed computer system
US9900744B2 (en) 2015-08-03 2018-02-20 At&T Intellectual Property I, L.P. Location based provisioning and broadcasting of content utilizing a multimedia broadcast service
EP3188015A1 (de) * 2015-10-05 2017-07-05 Axis AB Anfragen und empfangen eines medienstroms in einem netzwerksystem
US10178421B2 (en) * 2015-10-30 2019-01-08 Rovi Guides, Inc. Methods and systems for monitoring content subscription usage
US9813396B2 (en) 2015-10-30 2017-11-07 Rovi Guides, Inc. Methods and systems for managing content subscription data

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341477A (en) * 1989-02-24 1994-08-23 Digital Equipment Corporation Broker for computer network server selection
US6055433A (en) * 1996-09-20 2000-04-25 Northern Telecom Limited Data processing system and method for balancing a load in a communications network
US5937388A (en) * 1996-12-05 1999-08-10 Hewlett-Packard Company System and method for performing scalable distribution of process flow activities in a distributed workflow management system
US6412004B1 (en) * 1997-03-27 2002-06-25 Microsoft Corporation Metaserver for a multimedia distribution network
US6442165B1 (en) * 1998-12-02 2002-08-27 Cisco Technology, Inc. Load balancing between service component instances
US6516350B1 (en) * 1999-06-17 2003-02-04 International Business Machines Corporation Self-regulated resource management of distributed computer resources
US6529950B1 (en) * 1999-06-17 2003-03-04 International Business Machines Corporation Policy-based multivariate application-level QoS negotiation for multimedia services
US6463454B1 (en) * 1999-06-17 2002-10-08 International Business Machines Corporation System and method for integrated load distribution and resource management on internet environment
US20020152305A1 (en) * 2000-03-03 2002-10-17 Jackson Gregory J. Systems and methods for resource utilization analysis in information management environments
US20030046396A1 (en) * 2000-03-03 2003-03-06 Richter Roger K. Systems and methods for managing resource utilization in information management environments
TW532040B (en) * 2000-10-20 2003-05-11 Koninkl Philips Electronics Nv Method and system for transferring a communication session
US6981029B1 (en) * 2001-07-17 2005-12-27 Cisco Technology, Inc. System and method for processing a request for information in a network
US7274659B2 (en) * 2001-07-27 2007-09-25 Western Digital Ventures, Inc. Providing streaming media data

Also Published As

Publication number Publication date
ATE374483T1 (de) 2007-10-15
EP1627500A2 (de) 2006-02-22
KR20060017798A (ko) 2006-02-27
WO2004105314A2 (en) 2004-12-02
US20050005019A1 (en) 2005-01-06
KR100671635B1 (ko) 2007-01-19
DE602004009176D1 (de) 2007-11-08
EP1627500B1 (de) 2007-09-26
WO2004105314A3 (en) 2005-01-20

Similar Documents

Publication Publication Date Title
DE602004009176T2 (de) Dienstverwaltung durch verwendung mehrerer dienstort-manager
DE60216918T2 (de) Verfahren und computersystem zur auswahl eines randservercomputers
DE60122691T2 (de) Verfahren und vorrichtung zum verteilten cachen
DE60015423T2 (de) Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk
DE602006000171T2 (de) Verfahren zum Zuordnen einer Priorität zu einer Datenübertragung in einem Netzwerk und Netzwerksknoten, der das Verfahren verwendet
DE60210733T2 (de) System und Verfahren zur Überlastregelung in Netzwerken
DE69433047T2 (de) Verfahren und Anordnung zur Zuteilung von Systembetriebsmitteln, um die Dienstqualität zu sichern
DE60214823T2 (de) Verfahren und System für eine verteilte Multicastcachetechnik
DE102007026104B4 (de) Verfahren zum dynamischen Ändern einer Dateidarstellung, Verfahren zum Verhindern von Dateiübergängen und ein Informaationssystem
DE602004000655T2 (de) Verfahren zum initiieren einer Server-basierten gemeinsamen Bearbeitung von e-mail Anhängen
DE60213297T2 (de) Multimediadatenübertragung durch vorwärtsgerichtetes Streamen
DE10051024B4 (de) Verfahren zum intermediären Cachen in einem Client-Server-Softwaresystem, Computerprogrammprodukte und Computersystem zur Durchführung eines solchen Verfahrens
DE60316141T2 (de) Echtzeit-speicherbereichsnetzwerk
DE60311396T2 (de) Verfahren zur Gestaltung eines Peer-to-Peer Netzwerks mit Hilfe eines gemeinsamen Gruppenetiketts
DE10393011T5 (de) Ermittlung der Nutzung von Mediendaten und Berichterstattungssysteme und -verfahren
DE60217907T2 (de) Lokale cache-speicherung von bildern für online-konferenzprogramme
DE60306480T2 (de) Verfahren zur Kommunikation von Knoten in Peer-to-Peer Netzwerken mit Hilfe eines gemeinsamen Gruppenetiketts
DE202012013432U1 (de) Speichern von Daten auf Speicherknoten
DE112019000309B4 (de) Dynamisches batching von berechtigungen in einem verteilten speichernetzwerk
DE112005003035T5 (de) Teilen einer Arbeitslast eines Knotens
DE10296682T5 (de) Integriertes Verfahren zur Aufteilung von Netzwerkdatendienstleistungen unter mehreren Teilnehmern
DE10247164A1 (de) Verfahren und Vorrichtung für eine Netzwerkbandbreitenoptimierung
DE10303237A1 (de) Gefilterte Peer-To-Peer-Geschäftskommunikation in einer verteilten Computerumgebung
DE202010018478U1 (de) Cachen von Informationen
DE112008004056T5 (de) Dateitypzuordnung bei einer Fernrechensitzung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition