DE60211524T2 - Verfahren und vorrichtung zur verteilten lieferung von inhalten innerhalb eines computernetzwerkes - Google Patents
Verfahren und vorrichtung zur verteilten lieferung von inhalten innerhalb eines computernetzwerkes Download PDFInfo
- Publication number
- DE60211524T2 DE60211524T2 DE60211524T DE60211524T DE60211524T2 DE 60211524 T2 DE60211524 T2 DE 60211524T2 DE 60211524 T DE60211524 T DE 60211524T DE 60211524 T DE60211524 T DE 60211524T DE 60211524 T2 DE60211524 T2 DE 60211524T2
- Authority
- DE
- Germany
- Prior art keywords
- content
- client
- candidate
- server
- list
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1834—Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5019—Ensuring fulfilment of SLA
- H04L41/5025—Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5058—Service discovery by the service manager
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/508—Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
- H04L41/509—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4541—Directories for service discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1038—Load balancing arrangements to avoid a single path through a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1063—Discovery through centralising entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1072—Discovery involving ranked list compilation of candidate peers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1091—Interfacing with client-server systems or between P2P systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/326—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/101—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99935—Query augmenting and refining, e.g. inexact access
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99939—Privileged access
Description
- Gebiet der Erfindung
- Die vorliegende Erfindung betrifft Computernetzwerke. Insbesondere betrifft die vorliegende Erfindung ein Verfahren und eine Vorrichtung zum Vereinfachen der verteilten Lieferung von Inhalten in einem Computernetzwerk.
- Verwandter Stand der Technik
- Die explosionsartig zunehmende Nutzung der Breitbandkommunikation hat dazu beigetragen, daß das Internet zu einem praktikablen Verteilungsmechanismus für Multimedia-Anwendungen und Videos hoher Qualität geworden ist. Ehe es die Breitbandkommunikation gab, waren herkömmliche Modems für die großen Dateigrößen, die Videoanwendungen erfordern, viel zu langsam. Nachdem nun immer mehr Menschen über Breitbandanschlüsse verfügen und immer größere Inhaltsobjekte anfordern, werden die Bandbreite und die Serverauslastung rasch zu einem Engpaß auf seiten der Verteiler. In einigen Fällen haben außergewöhnliche Ereignisse Online-Nachrichtenseiten praktisch zum Stillstand gebracht, weil Menschen sie scharenweise aufriefen, um Videoaufnahmen der Ereignisse zu sehen.
- Einige Unternehmen haben versucht, dieses Problem zu lösen, indem sie Server-Farmen und Cluster errichteten. Diese waren bei der Handhabung von routinemäßigen Spitzen in der Nachfrage und bei der Schaffung einer Fehlertoleranzschwelle effektiv, erwiesen sich jedoch bei der Handhabung einer Nachfrage, die aus einem außergewöhnlichen Ereignis resultierte, als unwirksam.
- Ein weiteres Problem von größerer Bandbreite ist die Belastung der Service-Provider durch die größere Bandbreite. Das Internet besteht aus zahlreichen kleineren Netzwerken, die untereinander Peer-Absprachen (Peering Arrangements) haben. Typischerweise müssen Service-Provider für Informationen, die außerhalb ihres Netzwerks übermittelt werden, mehr bezahlen. In gleicher Weise müssen Unternehmen typischerweise mehr bezahlen, wenn die Menge der durch sie angeforderten Informationen zunimmt.
- Es wurden Versuche unternommen, diese Probleme zu mindern, indem Peer-to-Peer-Netzwerke mit verteilter Lieferung von Inhalten geschaffen wurden. In diesen Netzwerken werden Peers, die zuvor Inhalt heruntergeladen haben, für andere Peers, die den Inhalt nachfolgend anfordern, zu potentiellen Servern für den Inhalt. Obwohl diese Netzwerke für die Lieferung von Inhalten darin erfolgreich waren, den Internetverkehr von den Server-Farmen, wo die Informationen ursprünglich veröffentlicht wurden, weg zu verlagern, haben sie auch neue Probleme geschaffen.
- Eines der größten Probleme bei klassischen Peer-to-Peer-Netzwerken ist die Leistung. Recht häufig hat ein Peer, zu dem ein Client für das Herunterladen von Inhalt geleitet wird, eine begrenzte Bandbreite und liegt in dem Netzwerk topologisch entfernt. In diesem Fall können sich die Herunterladezeiten auf seiten des Client sogar verlängern, und die Belastung der Bandbreite kann ebenfalls zunehmen, da der Verkehr über mehrere Netzwerke ablaufen muß.
- Ein weiteres großes Problem von Netzwerken für die verteilte Lieferung von Inhalten ist der vermehrte lokale Verkehr, der aus lokal durchgeführten Suchen nach Inhalten resultiert. Mehr Clients in dem Netzwerk bringen mehr lokale Suchen mit sich. Wenn diese verteilten Netzwerke größer werden, verschlechtern sie sich sogar oder sie teilen sich in kleinere Teilsätze des gesamten Netzwerks auf.
- Es besteht ein Bedarf nach einem Verfahren und einer Vorrichtung zum Vereinfachen der verteilten Lieferung von Inhalten in einem Netzwerk ohne die mit bestehenden Netzwerken zur verteilten Lieferung von Inhalten verknüpften Probleme.
- Die
US 6014667 offenbart ein Verfahren und ein System zum Ablegen von Informationen im Cachespeicher in einem verteilten Computersystem, wie einem Verzeichnisdienstsystem. Anforderungen nach Zugriff auf ein Objekt können betreut bzw. bearbeitet werden, indem man die im Cachespeicher abgelegten Informationen verwendet, statt zu versuchen, Ortsinformationen von Servern zu beschaffen. - Kangasharju et al., "Locating Copies of Objects Using the Domain Name System", in Proceedings of the International Caching Workshop, 1999, Seiten 1–12, offenbaren das Speichern in Caches im Netzwerk (Network Caching), wobei der Ursprungsserver eine Vorlage eines Objekts abspeichert und geographisch verteilte Cacheserver Kopien des Objekts ziehen und abspeichern. Es wird ein Ortsdatensystem vorgeschlagen, welches es einem beliebigen Host erlaubt, die IP-Adressen der Server zu beschaffen, die eine bestimmte URL speichern.
- Vellanki und Chervenak, "Domain Caching: Building Web Services for Live Events", in Proceedings of the Second IEEE Workshop on Internet Applications, WIAPP 2001, San Jose, CA, USA, Juli 2001, S. 133–142, offenbaren das Ablegen von Domains in Caches, wobei die Belastung eines Servers dynamisch verteilt wird, indem ausgewählte Clients aufgefordert werden, Serverinhalte im Cache abzulegen und Anforderungen von nahegelegenen Clients zu betreuen bzw. zu bearbeiten.
- Die WO 01/93064, die nur aufgrund von Artikel 54(3) EPÜ für die vorliegende Erfindung relevant ist, offenbart eine Vorrichtung zur Verwendung in Verbindung mit einem Netzwerk und stellt die dynamische Spiegelung von Objekten aus Netzwerkinhalten in Zusammenarbeit mit den Netzwerkknoten bereit.
- ZUSAMMENFASSUNG
- Dementsprechend stellt die vorliegende Erfindung ein Verfahren, eine Vorrichtung und ein Computerprogramm bereit, wie sie in den anhängenden Ansprüchen definiert sind.
- Eine Ausführungsform liefert ein System, welches das Empfangen von Inhalten durch einen Client von einem oder mehreren Servern, die den Inhalt potentiell bereitstellen können, vereinfacht. Der Client beginnt, indem er eine Anforderung nach dem Inhalt an einen Verzeichnisserver sendet. In Reaktion auf die Anforderung empfängt bzw. erhält der Client eine Liste von Kandidaten servern, die potentiell den Inhalt von dem Verzeichnisserver bereitstellen können. Sobald der Client die Liste von Kandidatenservern empfangen hat, sendet der Client eine Anforderung nach dem Inhalt an einen oder mehrere der Kandidatenserver für den Inhalt und empfängt nachfolgend den Inhalt von einem oder mehreren der Kandidatenserver.
- Bei einer Variation dieser Ausführungsform empfängt der Client Teile des Inhalts von mehreren Kandidatenservern. Der Client setzt dann den Inhalt aus den verschiedenen Teilen zusammen.
- Bei einer Variation dieser Ausführungsform sendet der Client ein Feedback bzw. eine Rückantwort an den Server, das bzw. die den gegenwärtigen Status des Inhalts bei dem Client anzeigt. Diese Rückantwort bestimmt, welche Teile des Inhalts von dem Client empfangen wurden, welche Teile des Inhalts aktuell gerade von dem Client empfangen werden und welche Teile des Inhalts nicht von dem Client empfangen wurden.
- Bei einer Variation dieser Ausführungsform sendet der Client eine Rückantwort an den Server, die Statusinformationen für die bei dem Client bereit gehaltenen Kandidatenserver enthält. Diese Rückantwort kann die Verfügbarkeit eines gegebenen Kandidatenservers, einen Leistungsindikator für den gegebenen Kandidatenserver und einen Verlauf eines Pfades von dem Client zu dem gegebenen Kandidatenserver beinhalten.
- Bei einer Variation dieser Ausführungsform beinhaltet das Senden der Anforderung nach dem Inhalt an den Verzeichnisserver weiterhin das Senden eines Plans bzw. einer Abbildung des Inhalts, der bzw. die angibt, welche Teile des Inhalts der Client bereits hat. Zusätzlich beinhaltet das Senden der Anforderung für Clients, die hinter einer Netzwerkadreßübersetzungs- (Network Address Translation, NAT-) Vorrichtung liegen, auch das Senden der internen IP-Adresse des Client.
- Bei einer Variation dieser Ausführungsform empfängt der Client eine Anforderung von einem sekundären Client, daß der Inhalt an den sekundären Client gesendet werden soll. In Reaktion auf die Anforderung sendet der Client den Inhalt an den sekundären Client.
- Bei einer weiteren Variation dieser Ausführungsform sendet der Client Teile des Inhalts an den sekundären Client, während der Client noch immer Teile des Inhalts von einem Kandidatenserver empfängt.
- Bei einer Variation dieser Ausführungsform ist die Liste von Kandidatenservern ein Teilsatz der kompletten Liste von Kandidatenservern.
- Bei einer weiteren Variation dieser Ausführungsform sendet der Client eine Anforderung an den Verzeichnisserver, um einen zusätzlichen Teilsatz der kompletten Liste von Kandidatenservern anzufordern.
- Bei einer Variation dieser Ausführungsform beinhaltet die Liste von Kandidatenservern einen Ursprungsserver, der die Originalquelle des Inhalts enthält. Die Liste von Kandidatenservern beinhaltet auch Spiegelserver, die von ihrer Leistung her dem Ursprungsserver ähnlich sind, jedoch Kopien der Originalquelle des Inhalts enthalten.
- Bei einer Variation dieser Ausführungsform wartet der Client, falls der Inhalt von einem Kandidatenserver aus der Liste von Kandidatenservern nicht verfügbar ist, eine festgesetzte Zeitdauer, ehe er erneut versucht, den Inhalt von dem Kandidatenserver zu empfangen.
- Bei einer weiteren Variation dieser Ausführungsform verlängert sich die festgesetzte Zeitdauer jedesmal, wenn der Client beim Empfangen des Inhalts von irgendeinem Kandidatenserver nicht erfolgreich war.
- Bei einer weiteren Variation dieser Ausführungsform wird, falls der Inhalt von einem Kandidatenserver aus der Liste von Kandidatenservern für eine bestimmte Zeitdauer nicht verfügbar ist, der Kandidatenserver aus der Liste von Kandidatenservern entfernt.
- Bei einer weiteren Variation dieser Ausführungsform wird, falls der Kandidatenserver bestimmte Leistungskriterien nicht erfüllt, der Kandidatenserver aus der Liste von Kandidatenservern entfernt.
- Eine Ausführungsform liefert ein System, welches das Senden von Inhalt an einen Client in verteilter Weise vereinfacht. Das System beginnt damit, daß es eine Anforderung nach Inhalt von dem Client bei einem Verzeichnisserver empfängt. Der Verzeichnisserver sendet nachfolgend eine Antwort an den Client. Diese Antwort beinhaltet eine Liste von Kandidatenservern, die den Inhalt potentiell bereitstellen können. Der Verzeichnisserver fügt auch den Client der Liste von Kandidatenservern für den Inhalt hinzu, so daß der Client als Server für den Inhalt für nachfolgende Anforderungen von anderen Clients dienen kann.
- Bei einer Variation dieser Ausführungsform wird die Liste von Kandidatenservern nach Netzwerkkriterien sortiert. Netzwerkkriterien für einen gegebenen Client können eine externe IP-Adresse beinhalten, die zu der externen IP-Adresse des gegebenen Client identisch ist, falls die Clients hinter einer NAT-Vorrichtung, einem autonomen System (AS), welches zu dem AS des gegebenen Client identisch oder diesem topologisch nahe ist, und einem IP/20-Netzwerk, welches zu dem IP/20-Netzwerk des gegebenen Client identisch oder diesem topologisch nahe ist, liegen. Bei einer weiteren Variation dieser Ausführungsform empfängt das System Border-Gateway-Protocol-(BGP-) Informationen, um das Sortieren der Liste von Kandidatenservern zu vereinfachen, so daß Kandidatenserver, die dem Client topologisch am nächsten bzw. ähnlichsten sind, in der Liste von Kandidatenservern höher angeordnet sind. Es sei angemerkt, daß die Liste von Kandidatenservern auch nach anderen Kriterien, wie beispielsweise nach Abschätzungen der Belastung der Kandidatenserver oder Abschätzungen der Leistung der Kandidatenserver, sortiert werden kann.
- Bei einer Variation dieser Ausführungsform beinhaltet das Empfangen der Anforderung nach Inhalt von dem Client weiterhin folgendes: das Empfangen eines Plans bzw. einer Abbildung des Inhalts, der bzw. die angibt, welche Teile des Inhalts der Client bereits hat, das Empfangen der lokalen IP-Adresse des Client, die der Client ausdrücklich in die Anforderung eingeschlossen hat, und das Empfangen der externen IP-Adresse des Client.
- Bei einer Variation dieser Ausführungsform ist die Liste von Kandidatenservern ein Teilsatz der kompletten Liste von Kandidatenservern.
- Bei einer Variation dieser Ausführungsform beinhaltet die Liste von Kandidatenservern einen Ursprungsserver für den Inhalt.
- Bei einer Variation dieser Ausführungsform sendet, falls ein Kandidatenserver aus der Liste von Kandidatenservern hinter einer Firewall liegt, der Verzeichnisserver eine Anforderung an den Kandidatenserver, die den Kandidatenserver dazu bringt, eine ausgehende Kommunikationssitzung durch die Firewall mit dem anfordernden Client zu initiieren.
- Bei einer Variation dieser Ausführungsform sendet, falls ein Kandidatenserver aus der Liste von Kandidatenservern und der Client beide hinter Firewalls liegen, der Verzeichnisserver Anforderungen an den Kandidatenserver und an den Client, die den Kandidatenserver und den Client dazu bringen, einander gleichzeitig Nachrichten durch ihre jeweiligen Firewalls zu schicken, um eine Kommunikationssitzung zwischen dem Kandidatenserver und dem Client zu initiieren.
- Bei einer Variation dieser Ausführungsform beinhaltet das System einen Erfassungsserver (Logging Server), der das Sammeln von Feedback bzw. Rückantworten von dem Client vereinfacht, damit der Verzeichnisserver den Prozeß der Auswahl eines Kandidatenteilsatzes erleichtert.
- KURZE BESCHREIBUNG DER FIGUREN
-
1 veranschaulicht ein verteiltes Computersystem gemäß einer Ausführungsform der vorliegenden Erfindung. -
2 veranschaulicht die Verzeichnisserverarchitektur gemäß einer Ausführungsform der vorliegenden Erfindung. -
3 veranschaulicht ein Netzwerk mit Firewalls gemäß einer Ausführungsform der vorliegenden Erfindung. -
4 veranschaulicht die Attribute einer Inhaltsanforderung gemäß einer Ausführungsform der vorliegenden Erfindung. -
5 veranschaulicht die Inventarliste des Verzeichnisservers gemäß einer Ausführungsform der vorliegenden Erfindung. -
6 veranschaulicht die Verarbeitung einer anfänglichen bzw. ersten Inhaltsanforderung gemäß einer Ausführungsform der vorliegenden Erfindung. -
7 veranschaulicht die Verarbeitung einer nachfolgenden Inhaltsanforderung gemäß einer Ausführungsform der vorliegenden Erfindung. -
8 veranschaulicht die Alterung der Inventarliste gemäß einer Ausführungsform der vorliegenden Erfindung. - AUSFÜHRLICHE BESCHREIBUNG
- Die folgende Beschreibung wird gegeben, um einen beliebigen Fachmann auf dem Gebiet in die Lage zu versetzen, die Erfindung auszuführen und zu verwenden, und wird im Zusammenhang mit einer bestimmten Anwendung und deren Anforderung bereitgestellt. Verschiedene Modifikationen der offenbarten Ausführungsformen sind für Fachleute auf dem Gebiet offensichtlich.
- Die Datenstrukturen und der Code, die in dieser ausführlichen Beschreibung erläutert werden, sind typischerweise auf einem computerlesbaren Speichermedium gespeichert, welches irgendeine Vorrichtung oder irgendein Medium sein kann, die bzw. das Code und/oder Daten für die Verwendung durch ein Computersystem speichern kann. Dies umfaßt magnetische und optische Speichereinrichtungen, wie Plattenlaufwerke, Magnetbänder, CDs (Compact Discs) und DVDs (Digital Versatile Discs oder Digital Video Discs), und Computerbefehlssignale, die in einem Übertragungsmedium (mit oder ohne Trägerwelle, auf der die Signale moduliert werden) verkörpert sind. Beispielsweise kann das Übertragungsmedium ein Kommunikationsnetzwerk, wie das Internet, beinhalten.
- Verteiltes Rechnersystem
-
1 veranschaulicht ein verteiltes Computersystem100 gemäß einer Ausführungsform der vorliegenden Erfindung. Das verteilte Computersystem100 weist den Peer101 und den Peer102 auf. Die Peers101 und102 können im allgemeinen irgendeinen Knoten auf einem Netzwerk beinhalten, der Rechenfähigkeit besitzt und einen Mechanismus zum Kommunizieren in dem Netzwerk einschließt. Es sei angemerkt, daß die Peers101 und102 als Clients und als Kandidatenserver dienen können, die potentiell Inhalt an andere Clients liefern können.1 beinhaltet auch Verzeichnisserver104 ,106 und108 , einen Logging-Server110 und einen Ursprungsserver112 . Die Server104 ,106 ,108 ,110 und112 können im allgemeinen irgendwelche Knoten auf einem Computernetzwerk beinhalten, die einen Mechanismus für das Betreuen bzw. Bearbeiten von Anforderungen eines Client nach Rechen- und/oder Datenspeicherressourcen einschließen. - In einer Ausführungsform der vorliegenden Erfindung sendet der Peer
101 eine Anforderung nach Inhalt an den Verzeichnisserver104 . Der Verzeichnisserver104 kann die Anforderung zusätzlich an den Verzeichnisserver106 oder den Verzeichnisserver108 weiterleiten oder umleiten. Der Verzeichnisserver104 sendet dann eine Liste von potentiellen Kandidaten zurück an den Peer101 . Es sei angemerkt, daß jedesmal dann, wenn ein Peer eine Anforderung nach Inhalt stellt, dieser Peer zu einem potentiellen Kandidatenserver für den Inhalt wird und in der Liste von potentiellen Kandidatenservern, die an andere Clients weitergeleitet wird, erscheinen kann. diese Liste von Kandidaten kann optional den Ursprungsserver112 identifizieren, welcher die Originalquelle des Inhalts enthält. Der Peer101 verwendet dann diese Liste, um Inhalt von dem Peer102 anzufordern. Der Peer101 sendet auch Feedback-Informationen zurück an den Logging-Server110 , z.B. betreffend die Teile des Inhalts, die er hat, und die Server, von denen er ein Herunterladen versucht hat. Der Logging-Server110 leitet nachfolgend die Feedbackinformationen von dem Peer101 an den Verzeichnisserver104 weiter. Der Verzeichnisserver104 verwendet diese Informationen in Reaktion auf zukünftige Anforderungen nach dem Inhalt. - Verzeichnisserver-Architektur
-
2 veranschaulicht die Architektur des Verzeichnisservers104 gemäß einer Ausführungsform der vorliegenden Erfindung. Der Verzeichnisserver104 enthält die Inventarliste212 . - Die Inventarliste
212 beinhaltet eine Liste der potentiellen Kandidaten für Inhaltsobjekte, die veröffentlicht wurden. Wenn einer der anfordernden Peers216 eine Anforderung nach Inhalt an den Verzeichnisserver104 sendet, bestimmt das ASN-Nachschlagemodul (ASN Lookup Module)208 die autonome Systemnummer (ASN) des autonomen Systems (AS), dem der Peer angehört. - Der Verzeichnisserver
104 pflegt bzw. hält einen Satz von priorisierten Inventarlisten212 , der auf den Objekten in den übereinstimmenden Sätzen200 basiert. Diese Objekte beinhalten die ASN202 , das IP/20-Netzwerk204 und die externe IP-Adresse206 . Es sei angemerkt, daß ein IP/20-Netzwerk eine Sammlung von Knoten ist, die ein aus 20 Bytes bestehendes IP-Adreßpräfix gemeinsam haben. Darüber hinaus kann eine externe IP-Adresse eine IP-Adresse beinhalten, die durch eine Netzwerkadreßübersetzungs- (Network Address Translation, NAT-) oder eine ähnliche Vorrichtung zugewiesen wurde, und sie kann sich von der internen IP-Adresse des Hosts unterscheiden. Das Server-Nachschlagemodul210 bestimmt die externe IP-Adresse206 des Peers und plaziert die Informationen in der Inventarliste212 . Wenn ein Kandidatenserver eine externe IP-Adresse hat, die mit der des Peers identisch ist, so ist es wahrscheinlich, daß er dem Peer topologisch nahe ist. In gleicher Weise ist es, wenn er demselben IP/20-Netzwerk angehört wie der Peer, relativ wahrscheinlich, daß er dem Peer topologisch nahe ist. - Das Server-Ready-Modul
214 empfängt Feedback-Informationen, die von den anfordernden Peers216 (Server-Ready-Reports bzw. -Berichte) berichtet werden und aktualisiert die Inventarliste212 . Der Altersbegrenzer218 der Inventarliste (Inventory Ager) entfernt Kandidaten aus der Inventarliste212 , wenn der Verzeichnisserver104 innerhalb eines bestimmten Zeitraums nichts von den Kandidatenservern gehört hat. - Netzwerk mit Firewalls
-
3 veranschaulicht ein Netzwerk mit Firewalls gemäß einer Ausführungsform der vorliegenden Erfindung. In3 liegt ein Peer101 hinter der Firewall300 , und der Peer102 liegt hinter der Firewall302 . Darüber hinaus kommunizieren sowohl der Peer101 als auch der Peer102 durch ihre jeweiligen Firewalls mit dem Verzeichnisserver104 . Während dieser Kommunikation fordert der Peer101 Inhalt von dem Verzeichnisserver104 an. Als nächstes sendet der Verzeichnisserver104 eine Liste von Kandidatenservern, einschließlich Peer102 , an den Peer101 . Der Peer101 sendet dann über das User Datagram Protocol (UDP) eine Anforderung nach dem Inhalt an den Peer102 . Der Verzeichnisserver104 sendet auch eine Anforderung an den Peer102 , daß dieser den Inhalt an den Peer101 senden soll. Der Peer102 sendet über UDP ein Paket an den Peer101 . (Es sei angemerkt, daß anstelle von UDP im allgemeinen auch andere verbindungsfreie Protokolle verwendet werden können.) Da die Anforderung von dem Peer101 an den Peer102 und das Paket von dem Peer102 an den Peer101 über ein verbindungsfreies bzw. verbindungsunabhängiges Protokoll geschickt wurden, öffnen sie Ports in den Firewalls300 und302 , die die Errichtung einer Verbindung304 zwischen dem Peer101 und dem Peer102 gestatten. - Attribute einer Inhaltsanforderung
-
4 veranschaulicht die Attribute einer Inhaltsanforderung gemäß einer Ausführungsform der vorliegenden Erfindung. Die eingehende Anforderung400 beinhaltet die folgenden Attribute: die interne IP-Adresse402 , die externe IP-Adresse404 und die MOID408 . Es sei angemerkt, daß die MOID408 eine eindeutige Kennung des Inhalts ist, die zugewiesen wird, wenn der Inhalt veröffentlicht wird. Die interne IP-Adresse402 ist die IP-Adresse, die an dem Knoten zugewiesen wird, und die externe IP-Adresse404 ist die IP-Adresse einer Netzwerkadreßübersetzungs-(NAT-) oder einer ähnlichen Vorrichtung. Es sei angemerkt, daß es aufgrund der Popularität von NAT-Vorrichtungen sehr üblich ist, daß Peers in einem durch eine NAT aufgebauten LAN verschiedene interne IP-Adressen und eine identische externe IP-Adresse haben. Es ist auch möglich, die Inhaltsanforderung zu analysieren, um die ASN für das AS des Anfordernden zu bestimmen. Die ASN ist die Kennung des autonomen Systems (AS), zu dem ein Knoten gehört. - Inventarliste des Verzeichnisservers
-
5 veranschaulicht die Inventarliste212 des Verzeichnisservers aus2 gemäß einer Ausführungsform der vorliegenden Erfindung. Die Inventarliste212 beinhaltet eine Liste des gesamten Inhalts und aller möglichen Kandidatenserver für den Inhalt, die dem Verzeichnisserver104 bekannt sind. Die Inventarliste212 beinhaltet auch die MOID408 , die den Inhalt identifiziert, den Knoten502 , der einen Kandidatenserver für den Inhalt identifiziert, und einen Bereichssatz504 , der die Stücke des Inhalts identifiziert, von denen in der Vergangenheit berichtet wurde, daß der Kandidatenserver sie hat. In einer Ausführungsform der vorliegenden Erfindung wird der Knoten502 unter Verwendung standardmäßiger PKI-Techniken identifiziert. - Anfängliche Inhaltsanforderung
-
6 veranschaulicht die Verarbeitung einer anfänglichen Inhaltsanforderung gemäß einer Ausführungsform der vorliegenden Erfindung. Das System startet, wenn der Inhalt angefordert wird und der Peer101 keinen Teil des Inhalts hat (Schritt600 ). - Zuerst sendet der Peer
101 eine Anforderung nach dem Herunterladen einer Datei mit einem leeren Bereichssatz an den Verzeichnisserver104 (Schritt602 ). Als nächstes führt der Verzeichnisserver104 aus der Inventarliste212 eine Serversuche bzw. ein Nachschlagen von Servern durch und erzeugt eine priorisierte Liste von Kandidatenservern für den Inhalt (Schritt604 ). Dann gibt der Verzeichnisserver104 die höchsten bzw. obersten n Kandidatenserver aus der priorisierten Liste an den Peer101 zurück (Schritt606 ). Schließlich trägt der Verzeichnisserver104 den Peer101 in der Inventarliste212 als möglichen zukünftigen Kandidatenserver für den Inhalt ein (Schritt608 ). - Nachfolgende Inhaltsanforderung
-
7 veranschaulicht die Verarbeitung einer nachfolgenden Inhaltsanforderung gemäß einer Ausführungsform der vorliegenden Erfindung. Das System startet, wenn der Peer101 einen Teil einer Datei empfangen hat, jedoch eine bestimmte Anzahl von Kandidatenservern für die Datei gestrichen bzw. verworfen hat (Schritt700 ). - Zuerst sendet der Peer
101 eine Anforderung nach dem Herunterladen einer Datei, wobei die Anforderung einen aktualisierten Bereichssatz und eine Liste von ausprobierten Servern einschließt, an den Verzeichnisserver104 (Schritt702 ). Als nächstes führt der Verzeichnisserver104 aus der Inventarliste212 eine Serversuche durch und erzeugt eine priorisierte Liste von Kandidatenservern für den Peer101 (Schritt704 ). Dann filtert der Verzeichnisserver104 die zuvor ausprobierten Server aus und gibt die höchsten n Kandidatenserver aus der priorisierten Liste an den Peer101 zurück (Schritt706 ). Schließlich aktualisiert der Verzeichnisserver104 den Dateibereichssatz des Inhalts in der Inventarliste212 für den Peer101 (Schritt708 ). - Alterung der Inventarliste
-
8 veranschaulicht den Vorgang der Alterung bzw. Altersbegrenzung der Inventarliste gemäß einer Ausführungsform der vorliegenden Erfindung. Der Peer101 sendet dem Verzeichnisserver104 periodisch einen Server-Ready-Bericht, der Dateibereichssätze für Inhalt, der auf dem Peer101 verfügbar ist, enthält (Schritt800 ). Es sei angemerkt, daß in einer Ausführungsform der vorliegenden Erfindung der Peer101 den Server-Ready-Bericht an den Logging-Server110 sendet, der die Informationen dem Verzeichnisserver104 bereitstellt. Sobald der Verzeichnisserver104 diese neuen Informationen hat, aktualisiert der Verzeichnisserver104 die Inventarliste212 , damit diese jegliche durch die neuen Informationen spezifizierte Änderungen widerspiegelt (Schritt802 ). In einer weiteren Ausführungsform der vorliegenden Erfindung sendet der Peer101 den Server-Ready-Bericht direkt an den Verzeichnisserver104 . Der Verzeichnisserver sortiert periodisch alte Peers aus, die innerhalb eines zuvor festgelegten Zeitraums keinen Server-Ready-Bericht gesendet haben (Schritt804 ). - Details der Implementierung
- Dieser Abschnitt gibt einen Überblick über die Methode der Verteilung von Daten (Medienobjekten) gemäß einer Ausführungsform der vorliegenden Erfindung. Es sei angemerkt, daß die Details der Implementierung, die in diesem Abschnitt beschrieben werden, beispielhaft sind und die vorliegende Erfindung nicht beschränken sollen.
- Peer-Überblick
- Das Back-End des Clients (der Peer) handhabt das Laden bzw. die Ladevorgänge und die Bearbeitung bzw. Lieferung auf Basis von Metadaten und Benutzeranforderungen, die vom Front-End verarbeitet werden. Es widmet den Ladevorgängen und der Lieferung eine bestimmte Anzahl von Threads (beispielsweise jeweils 12). Jede solche Ladeeinrichtung oder jeder Server kann eine Verbindung unterstützen. Wenn keine Drosselung erfolgt, akzeptiert der Peer Serververbindungen bis zu diesem Grenzwert und errichtet Ladeverbindungen bis zu diesem Grenzwert, falls Arbeiten ausgeführt werden müssen.
- Der Peer empfängt eine Anforderung, Inhalt zu laden. Dem Objekt wird eine Priorität zugewiesen. Objekte höherer Priorität werden bevorzugt zu Objekten niedrigerer Priorität geladen. Wenn ein Objekt höherer Priorität bearbeitet werden muß und keine Ladeeinrichtung bzw. kein Ladeprogramm verfügbar ist, wird die Ladeeinrichtung mit der niedrigsten Priorität ausgewählt und dem Objekt höherer Priorität neu zugewiesen. In einer Ausführungsform der vorliegenden Erfindung gibt es eine Dateienpriorität für jeden Dateityp, und weiterhin gibt es für jeden Peer, der als Server für die Datei dienen kann, eine Peerpriorität.
- Objekte können wie folgt priorisiert werden:
- 1. Objekte, die vom Front-End als "Vordergrundobjekte" bezeichnet werden, sind mit der gegenwärtigen Aktivität des Benutzers verknüpft. Diese Vordergrundobjekte haben Vorrang gegenüber denjenigen, die als Hintergrundobjekte bezeichnet werden und die nicht direkt mit der derzeitigen Aktivität des Benutzers verknüpft sind (z.B. Objekte, die durch ein Abonnement automatisch aufkommen).
- 2. Ansonsten werden Objekte ihrer Reihenfolge entsprechend priorisiert.
- Der Peer wandelt die Ladeanforderung in einen Satz von Kandidatenservern oder Zielen um. Diese sind potentielle Quellen für den Inhalt und werden zuerst nach "Objektpriorität" (auch als "Dateipriorität" bezeichnet) und dann nach Zielpriorität (auch als "Ladepriorität" bezeichnet) priorisiert. Eine freie Ladeeinrichtung übernimmt das verfügbare Ziel mit der höchsten Priorität. (Eine Ausnahme hierzu besteht darin, daß ein Ziel, das keine Bereichsanforderungen (Range Requests) unterstützt, nicht übernommen wird, wenn es für das gleiche Objekt irgendein anderes verfügbares oder ladbares Ziel gibt.) Ein Ziel wird im allgemeinen niemals von mehreren Ladeeinrichtungen übernommen.
- Das angeforderte Objekt wird vom Front-End entweder als bekannt oder als unbekannt bezeichnet. Wenn es unbekannt ist, liefert die Anforderung den Uniform Resource Locator (die URL) des Hypertext-Übertragungsprotokolls (Hypertext Transfer Protocol, http) oder des Dateiübertragungsprotokolls (File Transfer Protocol, ftp). Es werden mehrere Ziele (beispielsweise vier, oder eines falls ein Verbinden nicht freigegeben ist), erzeugt, die diese URL repräsentieren. Wenn das Objekt bekannt ist, wird ein Ziel erzeugt, welches den Verzeichnisserver repräsentiert, von dem erwartet wird, daß er weitere Ziele bereitstellt. Die von dem Verzeichnisserver zurückgegebenen Ziele werden mit Zielprioritäten markiert, die jeweils höher sind als die Zielpriorität des Verzeichnisservers selbst.
- Ziele für ein Ladeobjekt sind entweder ladbar, verfügbar, verzögert oder als schlecht markiert. Wenn das Front-End beim Laden eines Objekts pausiert und das Laden dann wiederaufnimmt, werden all seine Ziele verfügbar gemacht. Ein Ziel wird zurückgestellt oder als schlecht bzw. unbrauchbar markiert, wenn das Laden von dem Ziel zu einem Fehler führt. Ein zurückgestelltes Ziel wird zu einem festgelegten Zeitpunkt in der Zukunft wieder verfügbar. Wiederholte Verzögerungen bzw. Zurückstellungen gelten für größere Zeiträume bis zu einem Maximum (beispielsweise 1/4, 1, 4, 16 und 64 Minuten). Das Verzögerungsintervall wird durch ein erfolgreiches Laden zurückgesetzt.
- Der Verzeichnisserver beginnt mit einer Verzögerung von einer Minute, selbst wenn er Ziele liefert (was sein Verzögerungsintervall zurücksetzt).
- Überblick über Verzeichnisserver
- Der Verzeichnisserver
104 empfängt eine Anforderung nach Zielen für ein Medienobjekt. Die Anforderung beinhaltet die Liste von Zielen, die dem Anfordernden bereits bekannt sind. Der Verzeichnisserver104 gibt eine Liste von Zielen zurück, die noch nicht bekannt sind, mit Zielprioritäten und den Informationen, die notwendig sind, um sie zu kontaktieren. - Wenn der Verzeichnisserver
104 nichts über das Objekt weiß, wird er dem Anfordernden mitteilen, daß er fünf Sekunden warten und es dann erneut versuchen soll. Inzwischen kontaktiert er den Metadatenserver für Informationen über das Objekt. Der Metadatenserver beinhaltet Informationen über den gesamten veröffentlichten Inhalt einschließlich der Originalquelle des Inhalts. Wenn dies fehlschlägt, erinnert er sich für eine Zeitdauer an den Fehlschlag (beispielsweise zwei Minuten) und teilt allen Peers, die Ziele für dieses Objekt anfordern, mit, daß es nicht zu finden ist. (Dies bringt die Peers dazu, das Herunterladen bzw. den Download abzubrechen.) Wenn der Metadatenabruf erfolgreich ist, erfährt der Verzeichnisserver104 von einem oder mehreren Ursprungsservern, die er als Ziele liefern kann. - Wenn der Verzeichnisserver
104 dem Anfordernden potentielle Ziele bereitstellt, fügt er den Anfordernden seinem Satz von möglichen Zielen hinzu. Der Anfordernde fällt nach einer Zeitdauer (beispielsweise zwei Stunden oder unverzüglich, falls der Anfordernde das Netzwerk verlassen hat) aus diesem Satz heraus. Um den Satz von Zielen des Verzeichnisservers aktuell zu halten, berichten die Peers periodisch (beispielsweise stündlich) darüber, welche Objekte sie bereitstellen können. - Antwortstrategie des Verzeichnisservers
- Die Liste von Zielen (Peers und Ursprünge), die für ein bekanntes Objekt zurückgegeben werden, wird wie folgt bestimmt (in der Reihenfolge absteigender Priorität):
- 1. Wenn ein Ziel von dem Anfordernden als bekannt gemeldet wird, wird es nicht zurückgeliefert.
- 2. Jede Anforderung von dem Anfordemden nach dem Objekt, die
dazu führt,
daß Ziele
zurückgegeben
werden, wird gezählt.
Wenn seit der letzten erfüllten
Anforderung ausreichend Zeit verstrichen ist (beispielsweise 30
Minuten), wird die Zählung
bzw. die Anzahl zurückgesetzt.
Wenn die Anzahl
500 oder mehr beträgt, werden keine Peer-Ziele zurückgeliefert. Dies schützt die Peers und den Verzeichnisserver vor einer Überzahl von Anforderungen. - 3. Es wird höchstens eine zuvor festgelegte Anzahl von Zielen zurückgeliefert.
- 4. Veraltete Peers werden nicht zurückgeliefert.
- 5. Jede Zurücklieferung
eines Peers (als Ziel für irgendein
Objekt) wird gezählt.
Wenn ein Peer den Verzeichnisserver
104 besucht, wird diese Zählung auf die Anzahl von aktiv bearbeiteten Threads des Peers zurückgesetzt. - 6. Es werden Ziele mit der höchsten Priorität zurückgeliefert.
- 7. Den Ursprüngen wird eine niedrigere Priorität zugewiesen als den Peers.
- 8. Die Peers haben eine Basispriorität von zwei. Wenn sie eine Anzahl von Zurücklieferungen bzw. Antworten haben, die nicht Null ist, ist ihre Basispriorität eins geteilt durch die Anzahl von Zurücklieferungen. (Dies verteilt die Belastung.)
- 9. Die Priorität des Peers wird um 330 (=10(32 + 1)) erhöht, wenn er dieselbe externe IP-Adresse wie der Anfordernde hat. Ansonsten wird die Priorität des Peers um 210 (=10(20 + 1)) erhöht, wenn er die ersten 20 Bits (konfigurierbar) seiner internen IP-Adresse mit dem Anfordernden gemeinsam hat. Ansonsten wird die Priorität des Peers um 10 (=10(0 + 1)) erhöht, wenn er in derselben ASN (nicht Null) ist wie der Anfordernde. (lokale Quellen werden bevorzugt)
- Überblick über Peer-Ladeeinrichtungen
- Die Peer-Ladeeinrichtung, ein Mechanismus, der ein Stück bzw. einen Teil einer Datei empfängt, fordert Daten von einem Ziel bereichsweise an. Diese Bereichsgröße muß ausreichend groß sein, damit der Anforderungsüberhang klein ist, jedoch auch klein genug, so daß der Peer sich schnell an eine sich ändernde Verfügbarkeit und Leistung der Ladeeinrichtung anpassen kann. Die Ladeeinrichtung liest diesen Bereich aus, indem jeweils immer ein Lesebereich gelesen wird. Die Größe des Lesebereichs, die eine Drosselung vereinfacht, ist die zu erwartende Menge, die in einer Sekunde herunterladbar ist, und hat ein Zeitlimit von 10 Sekunden (Timeout). Fehler und andere Beendigungsbedingungen der Ladeeinrichtung werden nach jedem Lesebereich überprüft, und das Lesen kann unterbrochen werden, wenn das Herunterladen beendet oder abgebrochen wird. Die Größe des Anforderungsbereichs auf 128 kb oder auf den Lesebereich beschränkt, je nachdem, was größer ist.
- Bereichszuteilung
- Ein Ziel, das keine Bereichsanforderungen unterstützt, wird in effizienter Weise für den ersten benötigten Bereich angefordert. Irgendein anderes Ziel wird für einen Bereich angefordert, der bei einer bevorzugten Verschiebung bzw. einem bevorzugten Abstand beginnt und bei der Größenbegrenzung, dem EOF, oder dem nächsten bereits geladenen oder einer Ladeeinrichtung zugewiesenen Bereich endet. Wenn eine Ladeeinrichtung auf einen Bereich trifft, der einer anderen Ladeeinrichtung zugewiesen ist, wird sie ausgewählt (die Ladeeinrichtung gibt das Ziel auf, welches dann anderen Ladeeinrichtungen zur Verfügung gestellt wird). Wenn kaum noch etwas herunterzuladen ist, können alle Ladeeinrichtungen denselben Bereich laden (wobei sie sich beeilen, das Herunterladen zu beenden).
- Um die bevorzugte Verschiebung zu finden, erzeugt die Ladeeinrichtung zuerst einen Kandidatenbereichssatz und wählt dann aus dem Satz einen Bereich aus. Der Kandidatenbereichssatz kann der erste der nachfolgenden sein, der nicht leer ist:
- 1. ein Satz von Bytes, die nicht zugewiesen sind, die das Ziel hat und die alle anderen unvollständigen Ladeziele nicht haben (so daß der Peer einen anderen Bereich vervollständigt als seine "Nachbarn"),
- 2. ein Satz von Bytes, die nicht zugewiesen sind und die das Ziel hat,
- 3. ein Satz von Bytes, die nicht zugewiesen sind, und
- 4. ein Satz von Bytes, die einer anderen Ladeeinrichtung zugewiesen sind.
- Dann kann der ausgewählte Bereich aus dem Bereichssatz einer der folgenden sein:
- 1. er kann mit dem letzten Bereich, der von dem Ziel empfangen wurde, zusammenhängen,
- 2. er kann Teil eines Bereichs mit offenem Ende am Ende eines Satzes einer unbekannten maximalen Größe sein, • Die Verschiebung liegt um 32 * (die Bereichsgrößenbegrenzung) vom Anfang dieses Bereichs entfernt. (Dies dient dazu, aufzudecken, wie weit sich die Datei erstreckt, indem ausgeholt wird, bis das EOF gefunden wurde.)
- 3. er kann Teil des größten Bereichs in dem Bereichssatz sein, • Die Verschiebung liegt in der Mitte dieses Bereichs, wenn danach ausreichend Bytes für einen Bereich voller Größe folgen, oder wenn die Bytes in dem Bereich einer anderen Ladeeinrichtung zugewiesen sind. (Wenn Ladeeinrichtungen versuchen, ihre Ladevorgänge soweit wie möglich voneinander entfernt zu beginnen, sind sie besser in der Lage, zusammenhängend zu laden, ehe sie auf etwas stoßen, das bereits von jemand anderem geladen wurde.) • Ansonsten liegt die Verschiebung am Anfang dieses Bereichs. (So werden die Bereiche nicht in Bereiche unterteilt, die so klein sind, daß sie wirkungslos sind.)
- Fehler
- I/O-Fehler führen zu einer Verzögerung. Eine Ausnahme ist gegeben, wenn eine Verbindung zu einem Peer-Ziel nicht hergestellt werden kann; dies führt dazu, daß das Ziel als schlecht markiert wird. Wenn ein Ziel eine uneinheitliche Dateigröße meldet oder berichtet, daß es die Objektdatei nicht hat, oder wenn es keine Ladeerlaubnis gewährt, wird das Ziel als unbrauchbar markiert. Wenn der Verzeichnisserver einen solchen Bericht zurückgibt, wird das Herunterladen abgebrochen.
- Jede Datei hat eine Signatur, die aus einem Satz von Blocksignaturen besteht. Während des Herunterladens wird jeder 1 MB große Block bei seiner Vervollständigung überprüft. Wenn die Überprüfung eines Blocks fehlschlägt, werden alle dazu beitragenden Peer-Ziele als unbrauchbar markiert. Wenn der Block komplett durch Ursprünge geliefert wurde, wird das Herunterladen abgebrochen.
- Ein Verzögerungsfehler kann auch durch einen schlechten Dienst verursacht werden. Ein schlechter Dienst kann so definiert werden, daß es zwei Minuten lang keine Bytes gibt, oder wenn nach zwei Minuten alle Ladeeinrichtungen beschäftigt sind und es ein verfügbares Ziel für das Objekt gibt und diese Ladeeinrichtung weniger als ein Drittel der mittleren Bandbreite für Ladeeinrichtungen für dieses Objekt oder weniger als 250 Bytes/Sek. bekommt.
- Eine Warteanforderung von mehr als zehn Sekunden oder eine Warteanforderung von einem Verzeichnisserver wird eher als eine Verzögerung gehandhabt (die Ladeeinrichtung gibt das Ziel auf) denn als Pause.
- Überblick über Peer-Server
- Wenn ein Peer das Netzwerk verläßt oder von einem Objekt nichts weiß oder wenn seine Kopie schlecht ist, wird er das Objekt nicht liefern. Ansonsten liefert er den größten zusammenhängenden Bereich von Bytes, den er hat und deren Signatur überprüft wurde (wenn es eine Blocksignatur gab) und den der Anfordernde angefordert hat. Die Überprüfung der Signatur beinhaltet das Berechnen einer Prüfsumme für einen Block und das Vergleichen derselben mit einer verschlüsselten Prüfsumme aus einer vertrauenswürdigen Quelle, um die Datenintegrität sicherzustellen. Wenn es keine solchen Bytes gibt, fordert der Server den Anfordernden auf, 5 Sekunden zu warten und es dann erneut zu versuchen. Der Server berichtet dem Anfordernden, welche Bytes er hat, so daß die nächste Anforderung auf Basis besserer Informationen erfolgt. Wenn der Server das Objekt noch immer lädt, fügt er den Anfordernden zu seiner Liste von Zielen hinzu. (Der Server erfährt als Teil der Anforderung, welche Bytes der Anfordernde hat.)
- Anmerkungen zur Implementierung
- Jeder Peer und der Verzeichnisserver pflegen eine Datenbank innerhalb des Speichers oder eine Inventarliste von Objekten und Zielen. Die Inventarliste ist ein Satz von Objekteinträgen (MOs), ein Satz von Peer- und Ursprungseinträgen (Knoten) und ein Satz von Einträgen mit Informationen über den Zustand des Objekts auf dem Peer oder dem Ursprung (MOKnoten). Jeder Eintrag enthält Informationen über die relevante Einheit. Beispielsweise enthalten Knoten Kontaktinformationen, wie IP-Adressen und Ports, und MOKnoten enthalten einen Bereichssatz, der aufzeichnet bzw. erfaßt, welche Teile einer Objektdatei auf einem Peer oder einem Ursprung verfügbar sind. Die Inventarliste unterhält auch Teilsätze dieser Sätze, die nach verschiedenen Kriterien sortiert sind, um den Zugriff schnell zu machen. Beispielsweise enthält die Inventarliste Teilsätze von MOKnoten, die nach Objekten und dann nach der Zielpriorität sortiert sind. Der Verzeichnisserver entfernt abgelaufene Einträge langsam. Der Peer entfernt Zieleinträge, wenn das Herunterladen abgeschlossen ist oder abgebrochen wurde, und er entfernt Objekteinträge, wenn das Objekt gelöscht wurde.
- Die vorstehenden Beschreibungen von Ausführungsformen der vorliegenden Erfindung wurden lediglich zu Zwecken der Veranschaulichung und Beschreibung gegeben. Sie sollen nicht erschöpfend sein oder die vorliegende Erfindung auf die offenbarten Formen beschränken.
- Entsprechend sind viele Modifikationen und Variationen für Fachleute auf dem Gebiet offensichtlich. Des weiteren soll die obige Offenbarung die vorliegende Erfindung nicht beschränken. Der Schutzumfang der vorliegenden Erfindung wird durch die anhängenden Ansprüche definiert.
Claims (27)
- Verfahren zum Empfangen von Inhalt durch einen Client (
101 ) von einem oder mehreren Servern, die potentiell den Inhalt bereitstellen können, wobei das Verfahren aufweist: Senden einer Anforderung (400 ) nach dem Inhalt an einen Verzeichnisserver (104 ), der Information darüber speichert, wo der Inhalt möglicherweise lokalisiert ist, wobei die Inhaltsanforderung eine eindeutige Kennung (408 ) des Inhaltes enthält, die zugeordnet wird, wenn der Inhalt veröffentlicht wird, in Antwort auf eine Anforderung Empfangen einer Antwort von dem Verzeichnisserver, welche eine Liste von Kandidatenservern enthält, die möglicherweise den Inhalt bereitstellen können, wobei zumindest einer der Kandidatenserver hinter einer Firewall (302 ) liegt, Senden einer Anforderung an zumindest einen Kandidatenserver (102 ) aus der Liste von Kandidatenservern für den Inhalt, und Empfangen des Inhaltes von zumindest einem Kandidatenserver. - Verfahren nach Anspruch 1, wobei das Empfangen des Inhaltes von zumindest einem Kandidatenserver das Empfangen von Teilen des Inhaltes von mehreren Kandidatenservern und Zusammensetzen der Teile bei dem Client beinhaltet.
- Verfahren nach Anspruch 1, welches weiterhin das Senden einer Rückkopplung an bzw. Rückantwort an den Verzeichnisserver aufweist, wobei die Rückantwort einen Plan bzw. eine Abbildung des Inhaltes enthält, um anzuzeigen: welche Teile des Inhaltes durch den Client empfangen wurden, welche Teile des Inhaltes aktuell gerade durch den Client empfangen werden und welche Teile des Inhaltes noch nicht durch den Client empfangen wurden.
- Verfahren nach Anspruch 1, welches weiterhin das Senden eines Feedbacks bzw. einer Rückantwort an den Verzeichnisserver aufweist, wobei die Rückantwort Statusinformation für Kandidatenserver enthält, um anzuzeigen: eine Verfügbarkeit eines gegebenen Kandidatenservers, einen Leistungsindikator für einen gegebenen Kandidatenserver und einen Verlauf eines Pfades von dem Client zu dem gegebenen Kandidatenserver.
- Verfahren nach Anspruch 1, wobei das Senden der Anforderung des Inhaltes an den Verzeichnisserver weiterhin das Senden von folgendem umfaßt: einer Abbildung bzw. eines Planes des Inhaltes, welcher anzeigt, welche Teile des Inhaltes der Client bereits hat, und der lokalen IP-Adresse des Client.
- Verfahren nach Anspruch 1, welches weiterhin aufweist: Empfangen einer Anforderung bei dem Client von einem sekundären Client, daß der Inhalt an den sekundären Client gesendet werden soll, und in Reaktion auf die Anforderung Senden des Inhaltes an den sekundären Client.
- Verfahren nach Anspruch 6, wobei der Vorgang des Sendens des Inhaltes an den sekundären Client stattfindet, während der Inhalt von dem Client empfangen wird.
- Verfahren nach Anspruch 1, wobei die Liste von Kandidatenservern ein Teilsatz der kompletten Liste von Kandidatenservern ist.
- Verfahren nach Anspruch 8, welches weiterhin das Senden einer Anforderung an den Verzeichnisserver aufweist, durch welche ein zusätzlicher Teilsatz der kompletten Liste von Kandidatenservern angefordert wird.
- Verfahren nach Anspruch 1, wobei die Liste von Kandidatenservern einen Ursprungsserver (
112 ) umfaßt, der die Originalquelle des Inhaltes enthält. - Verfahren nach Anspruch 1, wobei dann, wenn der Inhalt nicht von einem Kandidatenserver in der Liste von Kandidatenservern verfügbar war, das Verfahren weiterhin das Warten für eine festgesetzte Zeitdauer aufweist, bevor erneut versucht wird, den Inhalt von dem Kandidatenserver zu empfangen.
- Verfahren nach Anspruch 11, wobei sich die festgesetzte Zeitdauer jedesmal dann verlängert, wenn der Client beim Empfang des Inhaltes von einem Kandidatenserver in der Liste von Kandidatenservern nicht erfolgreich war.
- Verfahren nach Anspruch 11, wobei dann, wenn der Inhalt nicht von einem Kandidatenserver in der Liste von Kandidatenservern innerhalb eines gewissen Zeitraumes erhältlich war, das Verfahren weiterhin das Entfernen des Kandidatenservers aus der Liste von Kandidatenservern aufweist.
- Verfahren nach Anspruch 11, wobei dann, wenn ein Kandidatenserver in der Liste von Kandidatenservern gewisse Leistungskriterien nicht erfüllt, das Verfahren weiterhin das Entfernen des Kandidatenservers von der Liste von Kandidatenservern aufweist.
- Verfahren zum Senden von Inhalt zu einem Client (
101 ) in verteilter Weise, welches aufweist: Empfangen einer Anforderung (400 ) des Inhaltes von dem Client bei einem Verzeichnisserver (104 ), wobei die Inhaltsanforderung eine eindeutige Kennung (408 ) des Inhaltes enthält, welche dem Inhalt zugeordnet wird, wenn dieser veröffentlicht wird, Senden einer Antwort an den Client, welche eine Liste von Kandidatenservern enthält, die potentiell den Inhalt bereitstellen können, wobei zumindest einer der Kandidatenserver hinter einer Firewall (302 ) liegt, und Hinzufügen des Client zu der Liste von Kandidatenservern für den Inhalt, so daß der Client für nachfolgende Anforderungen des Inhaltes, die von anderen Clients kommen, als ein Server für den Inhalt dienen kann. - Verfahren nach Anspruch 15, wobei die Liste von Kandidatenservern nach Netzwerkkriterien sortiert ist, wobei Netzwerkkriterien für einen gegebenen Client umfassen: eine externe IP-Adresse, die identisch mit der externen IP-Adresse des gegebenen Client ist, ein autonomes System (AS), welches mit dem AS des gegebenen Client identisch ist oder diesem topologisch naheliegt, und ein IP/20-Netzwerk (
204 ), welches identisch mit dem IP/20-Netzwerk (204 ) des gegebenen Client ist. - Verfahren nach Anspruch 16, welches weiterhin das Empfangen von Border-Gateway-Protokoll (BGP)-Information aufweist, um das Sortieren der Liste von Kandidatenservern zu erleichtern, so daß Kandidatenserver, die topologisch dem Client am nächsten sind, in der Liste von Kandidatenservern höher angeordnet sind.
- Verfahren nach Anspruch 15, wobei das Empfangen der Anforderung des Inhaltes durch den Client weiterhin aufweist: Empfangen eines Planes des Inhaltes, der anzeigt, welche Teile des Inhaltes der Client bereits hat, Empfangen der lokalen IP-Adresse des Client, die der Client ausdrücklich in die Anforderung eingeschlossen hat, und Empfangen der externen IP-Adresse des Client.
- Verfahren nach Anspruch 15, wobei die Liste von Kandidatenservern ein Teilsatz der kompletten Liste von Kandidatenservern ist.
- Verfahren nach Anspruch 15, wobei die Liste von Kandidatenservern einen Ursprungsserver (
112 ) für den Inhalt enthält. - Verfahren nach Anspruch 15, wobei für einen Kandidatenserver aus der Liste von Kandidatenservern, welcher hinter einer Firewall liegt, das Verfahren weiterhin das Senden einer Anforderung an den Kandidatenserver beinhaltet, was bewirkt, daß der Kandidatenserver eine Kommunikationssitzung durch die Firewall mit dem Client initiiert.
- Verfahren nach Anspruch 15, wobei dann, wenn ein Kandidatenserver aus der Liste von Kandidatenservern und der Client hinter Firewalls sind, das Verfahren weiterhin das Senden von Anforderungen an den Kandidatenserver und den Client beinhaltet, welche bewirken, daß der Kandidatenserver und der Client gleichzeitig einander Nachrichten durch ihre entsprechenden Firewalls zusenden, um eine Kommunikationssitzung zwischen dem Kandidatenserver und dem Client zu initiieren.
- Verfahren nach Anspruch 15, welches weiterhin das Sammeln von Feedback bzw. Rückantworten von dem Client bei einem Berichtsserver für das Verzeichnis aufweist.
- Computerprogramm für das Ausführen aller Schritte des Verfahrens nach irgendeinem der vorstehenden Ansprüche.
- Betriebssystem, welches das Computerprogramm nach Anspruch 24 aufweist.
- Computerlesbares Speichermedium, welches das Computerprogramm nach Anspruch 24 oder 25 speichert.
- Vorrichtung zum Empfangen von Inhalt bei einem Client (
101 ) von einem oder mehreren Servern, die potentiell den Inhalt bereitstellen können, welches aufweist: einen Anforderungsmechanismus, der so ausgestaltet ist, daß er eine Anforderung nach dem Inhalt an einen Verzeichnisserver (104 ) sendet, der Information darüber speichert, wo der Inhalt möglicherweise lokalisiert sein könnte, wobei die Inhaltsanforderung eine eindeutige Kennung (408 ) des Inhaltes enthält, welche zugewiesen wird, wenn der Inhalt veröffentlicht wird, einen Empfangsmechanismus, der so ausgestaltet ist, daß er eine Antwort von dem Verzeichnisserver empfängt, die eine Liste von Kandidatenservern umfaßt, welche potentiell den Inhalt bereitstellen könnten, wobei zumindest einer der Kandidatenserver hinter einer Firewall (302 ) liegt, einen sekundären Anforderungsmechanismus, der so ausgestaltet ist, daß er eine Anforderung an zumindest einen Kandidatenserver (102 ) aus der Liste von Kandidatenservern für den Inhalt sendet, und einen sekundären Empfangsmechanismus, der so ausgestaltet ist, daß er den Inhalt von zumindest einem Kandidatenserver empfängt.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US31030601P | 2001-08-04 | 2001-08-04 | |
US310306P | 2001-08-04 | ||
PCT/US2002/024825 WO2003015377A1 (en) | 2001-08-04 | 2002-08-02 | Method and apparatus for facilitating distributed delivery of content across a computer network |
Publications (2)
Publication Number | Publication Date |
---|---|
DE60211524D1 DE60211524D1 (de) | 2006-06-22 |
DE60211524T2 true DE60211524T2 (de) | 2006-12-14 |
Family
ID=23201911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE60211524T Expired - Lifetime DE60211524T2 (de) | 2001-08-04 | 2002-08-02 | Verfahren und vorrichtung zur verteilten lieferung von inhalten innerhalb eines computernetzwerkes |
Country Status (6)
Country | Link |
---|---|
US (4) | US7089290B2 (de) |
EP (1) | EP1413119B1 (de) |
JP (1) | JP4198053B2 (de) |
AU (1) | AU2002324615A1 (de) |
DE (1) | DE60211524T2 (de) |
WO (3) | WO2003015341A2 (de) |
Families Citing this family (282)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6275470B1 (en) * | 1999-06-18 | 2001-08-14 | Digital Island, Inc. | On-demand overlay routing for computer-based communication networks |
US7391865B2 (en) | 1999-09-20 | 2008-06-24 | Security First Corporation | Secure data parser method and system |
US8543901B1 (en) | 1999-11-01 | 2013-09-24 | Level 3 Communications, Llc | Verification of content stored in a network |
US6920110B2 (en) * | 2001-02-14 | 2005-07-19 | Microsoft Corporation | System and method for transferring data over a network |
US7437428B1 (en) | 2000-02-16 | 2008-10-14 | Microsoft Corporation | System and method for transferring data over a network |
US7653552B2 (en) * | 2001-03-21 | 2010-01-26 | Qurio Holdings, Inc. | Digital file marketplace |
US20020138576A1 (en) * | 2001-03-21 | 2002-09-26 | Schleicher Jorg Gregor | Method and system for generating revenue in a peer-to-peer file delivery network |
US20060075507A1 (en) * | 2001-09-06 | 2006-04-06 | Sonic Solutions | Secure protocols for use with microsoft directshow filters |
US8041803B2 (en) * | 2001-09-26 | 2011-10-18 | Qurio Holdings, Inc. | Method and system for delivering files in digital file marketplace |
US7860964B2 (en) * | 2001-09-28 | 2010-12-28 | Level 3 Communications, Llc | Policy-based content delivery network selection |
JP4160506B2 (ja) * | 2001-09-28 | 2008-10-01 | レヴェル 3 シーディーエヌ インターナショナル インコーポレーテッド. | 構成可能な適応型広域トラフィック制御および管理 |
US7373644B2 (en) * | 2001-10-02 | 2008-05-13 | Level 3 Communications, Llc | Automated server replication |
US20030079027A1 (en) | 2001-10-18 | 2003-04-24 | Michael Slocombe | Content request routing and load balancing for content distribution networks |
US20080279222A1 (en) * | 2001-10-18 | 2008-11-13 | Level 3 Communications Llc | Distribution of traffic across a computer network |
US9167036B2 (en) * | 2002-02-14 | 2015-10-20 | Level 3 Communications, Llc | Managed object replication and delivery |
US20030204602A1 (en) | 2002-04-26 | 2003-10-30 | Hudson Michael D. | Mediated multi-source peer content delivery network architecture |
EP1401143B1 (de) | 2002-09-17 | 2006-01-11 | Errikos Pitsos | Verfahren und Vorrichtung zur Bereitstellung einer Liste von öffentlichen Schlüsseln in einem Public-Key-System |
AU2003279775A1 (en) * | 2002-10-04 | 2004-05-04 | Woodstock Systems, Llc | Systems and devices accessing inaccessible servers |
EP1408666A1 (de) * | 2002-10-09 | 2004-04-14 | Motorola, Inc. | Rutierung in einem Datenkommunikationsnetz |
US20040093419A1 (en) * | 2002-10-23 | 2004-05-13 | Weihl William E. | Method and system for secure content delivery |
JP2004294474A (ja) * | 2003-03-25 | 2004-10-21 | Pioneer Electronic Corp | コンテンツ提供システム、方法およびプログラム |
US7437458B1 (en) * | 2003-06-13 | 2008-10-14 | Juniper Networks, Inc. | Systems and methods for providing quality assurance |
US8122100B2 (en) * | 2003-07-28 | 2012-02-21 | Limelight Networks, Inc. | Multiple object download |
US8805966B2 (en) | 2003-07-28 | 2014-08-12 | Limelight Networks, Inc. | Rich content download |
WO2005013141A1 (en) * | 2003-07-28 | 2005-02-10 | Limelight Networks, Llc | Consistent browser file download |
US7536725B2 (en) * | 2003-07-28 | 2009-05-19 | Limelight Networks, Inc. | Authentication of content download |
BRPI0414840A (pt) | 2003-10-03 | 2006-11-21 | Limelight Networks Inc | método de download de arquivo de conteúdo e de recebimento de conteúdo adicional com uma janela e respectivo sistema de download de conteúdo, meios legìveis em computador e sistemas de computador |
US7349358B2 (en) * | 2003-10-06 | 2008-03-25 | Kontiki, Inc. | Method and apparatus for optimizing content delivery on local subnets |
US8239446B2 (en) * | 2003-11-19 | 2012-08-07 | Sony Computer Entertainment America Llc | Content distribution architecture |
US7676599B2 (en) * | 2004-01-28 | 2010-03-09 | I2 Telecom Ip Holdings, Inc. | System and method of binding a client to a server |
KR100582896B1 (ko) * | 2004-01-28 | 2006-05-24 | 삼성전자주식회사 | 소프트웨어 버전 자동 관리 시스템 및 버전 관리 방법 |
EP1723763A1 (de) * | 2004-03-12 | 2006-11-22 | THOMSON Licensing | Cache-server-netzwerk und verfahren zur einteilung der verteilung von inhaltsdateien |
GB2412279A (en) * | 2004-03-16 | 2005-09-21 | Bbc Technology Holdings Ltd | Data distribution system and method |
JP2005311614A (ja) * | 2004-04-20 | 2005-11-04 | Pioneer Electronic Corp | 情報配信システム、情報配信方法及び情報配信用プログラム並びに情報記録媒体 |
JP2006004024A (ja) * | 2004-06-16 | 2006-01-05 | Fujitsu Ltd | ディレクトリサーバに実行させるためのプログラム |
US7574538B1 (en) * | 2004-06-29 | 2009-08-11 | Emc Corporation | Contiguous I/O command queuing within a data storage device |
FR2872938B1 (fr) * | 2004-07-07 | 2006-09-15 | Canon Kk | Index distribue dans un systeme de partage de document numerique |
EP1617591A1 (de) * | 2004-07-15 | 2006-01-18 | France Telecom | Verfahren und Vorrichtung zur Peer-to-Peer Verteilung von angeforderten Dateien |
US7174385B2 (en) * | 2004-09-03 | 2007-02-06 | Microsoft Corporation | System and method for receiver-driven streaming in a peer-to-peer network |
US7664109B2 (en) * | 2004-09-03 | 2010-02-16 | Microsoft Corporation | System and method for distributed streaming of scalable media |
US8745132B2 (en) * | 2004-09-10 | 2014-06-03 | Silver State Intellectual Technologies, Inc. | System and method for audio and video portable publishing system |
US8234705B1 (en) * | 2004-09-27 | 2012-07-31 | Radix Holdings, Llc | Contagion isolation and inoculation |
DE102004050348B3 (de) * | 2004-10-15 | 2006-05-18 | Siemens Ag | Verfahren zur Initialisierung eines Datennetzes |
CN101375284B (zh) | 2004-10-25 | 2012-02-22 | 安全第一公司 | 安全数据分析方法和系统 |
US8145908B1 (en) * | 2004-10-29 | 2012-03-27 | Akamai Technologies, Inc. | Web content defacement protection system |
US20080052410A1 (en) * | 2004-10-29 | 2008-02-28 | Serge Soulet | Method, System and Means for Transmitting a Data Package to a Plurality of Computers Distributed Through a Set of Distinct Local Networks |
US7716660B2 (en) * | 2004-12-14 | 2010-05-11 | Microsoft Corporation | Method and system for downloading updates |
US7490140B2 (en) * | 2005-05-12 | 2009-02-10 | International Business Machines Corporation | Peer data transfer orchestration |
US8082348B1 (en) | 2005-06-17 | 2011-12-20 | AOL, Inc. | Selecting an instance of a resource using network routability information |
US20070005694A1 (en) * | 2005-06-30 | 2007-01-04 | Pando Networks, Inc. | System and method for distributed multi-media production, sharing and low-cost mass publication |
EP1752925A1 (de) * | 2005-07-20 | 2007-02-14 | Siemens Aktiengesellschaft | Verfahren und System zur Verteilung von digital geschützten Inhaltsdaten über ein Peer-to-Peer-Datennetzwerk |
US8090860B2 (en) * | 2007-11-05 | 2012-01-03 | Limelight Networks, Inc. | Origin request with peer fulfillment |
US8769663B2 (en) * | 2005-08-24 | 2014-07-01 | Fortinet, Inc. | Systems and methods for detecting undesirable network traffic content |
JP2007066161A (ja) * | 2005-09-01 | 2007-03-15 | Hitachi Ltd | キャッシュシステム |
US20070055862A1 (en) * | 2005-09-08 | 2007-03-08 | Interdigital Technology Corporation | Method and system for distributing data |
US8224968B1 (en) * | 2005-09-19 | 2012-07-17 | At&T Intellectual Property Ii, L.P. | Method and system for scalable content storage and delivery |
US7920572B2 (en) * | 2005-09-20 | 2011-04-05 | Cisco Technology, Inc. | Modifying operation of peer-to-peer networks based on integrating network routing information |
CN1941736A (zh) * | 2005-09-30 | 2007-04-04 | 西门子通信技术(北京)有限公司 | 一种内容分发系统及其用户请求重定向方法 |
CN100440866C (zh) * | 2005-10-21 | 2008-12-03 | 清华大学 | 数据驱动覆盖网络中的分段发送调度方法 |
ES2658097T3 (es) | 2005-11-18 | 2018-03-08 | Security First Corporation | Método y sistema de análisis de datos seguro |
DE602005010723D1 (de) * | 2005-12-02 | 2008-12-11 | Mitel Networks Corp | Verteiltes Servernetz |
US8291093B2 (en) | 2005-12-08 | 2012-10-16 | Microsoft Corporation | Peer-to-peer remediation |
US8948144B1 (en) | 2005-12-27 | 2015-02-03 | Qurio Holdings, Inc. | System and method for creating a preferential ad-hoc network |
BRPI0621547A2 (pt) * | 2006-04-12 | 2011-12-13 | Thomson Licensing | serviço de video transferência com retardo utilizando uma rede de distribuição de conteúdo não hierárquica (p2p) |
US7945689B2 (en) * | 2007-03-23 | 2011-05-17 | Sony Corporation | Method and apparatus for transferring files to clients using a peer-to-peer file transfer model and a client-server transfer model |
US8429396B1 (en) * | 2006-05-31 | 2013-04-23 | Juniper Networks, Inc. | Peer discovery and secure communication in failover schemes |
JP2008005236A (ja) * | 2006-06-22 | 2008-01-10 | Toshiba Corp | 通信装置及び通信方法 |
US9069870B2 (en) * | 2006-07-12 | 2015-06-30 | International Business Machines Corporation | Client-side aggregation of context-sensitive request results where results for aggregation are asynchronously produced by multiple servers |
KR100813982B1 (ko) * | 2006-08-01 | 2008-03-14 | 삼성전자주식회사 | 모바일 단말기와 근거리 서버간의 콘텐츠 공유 방법 |
GB2440759A (en) | 2006-08-11 | 2008-02-13 | Cachelogic Ltd | Selecting a download cache for digital data |
GB2440761A (en) | 2006-08-11 | 2008-02-13 | Cachelogic Ltd | Using a proxy server as a cache in a peer to peer network to speed up the multicast distribution of large files. |
GB2440760A (en) | 2006-08-11 | 2008-02-13 | Cachelogic Ltd | Network and method of transferring data over the network by nodes sending messages containing a subset of list of data available at the node |
GB2440774B (en) | 2006-08-11 | 2011-07-27 | Cachelogic Ltd | Content Delivery System For Digital Object |
WO2008026083A1 (en) * | 2006-08-29 | 2008-03-06 | Nokia Corporation | Service identification optimization |
JP2008059351A (ja) * | 2006-08-31 | 2008-03-13 | Brother Ind Ltd | ノード装置、処理プログラム、情報配信システム及びサーバ処理プログラム |
EP2080105A4 (de) * | 2006-09-06 | 2011-03-02 | Akamai Tech Inc | Hybrides inhaltsablieferungsnetzwerk (cdn) und peer-to-peer-(p2p)-netzwerk |
CN100488146C (zh) * | 2006-09-14 | 2009-05-13 | 华为技术有限公司 | 在p2p网络中建立点对点连接的方法及在p2p网络中的节点 |
US20080127234A1 (en) * | 2006-09-19 | 2008-05-29 | International Business Machines Corporation | Methods, systems, and computer program products for a remote request dispatcher extension framework for container based programming models |
US8554827B2 (en) * | 2006-09-29 | 2013-10-08 | Qurio Holdings, Inc. | Virtual peer for a content sharing system |
US7693073B2 (en) * | 2006-10-13 | 2010-04-06 | At&T Intellectual Property I, L.P. | System and method for routing packet traffic |
CN103188081A (zh) * | 2006-11-07 | 2013-07-03 | 安全第一公司 | 用于分发数据和保护数据安全的系统和方法 |
US20080222236A1 (en) * | 2006-11-27 | 2008-09-11 | Christopher James Nason | Method and system for processing data on a plurality of communication devices |
CA2670597A1 (en) * | 2006-12-05 | 2008-06-12 | Don Martin | Improved tape backup method using a secure data parser |
US8028060B1 (en) * | 2007-01-05 | 2011-09-27 | Apple Inc. | Background task execution over a network based on network activity idle time |
WO2008110724A2 (fr) * | 2007-02-16 | 2008-09-18 | France Telecom | Procede pour la mise en relation entre terminaux |
JP4951706B2 (ja) | 2007-06-28 | 2012-06-13 | トムソン ライセンシング | ピアツーピア・ライブストリーミングのための待ち行列に基づく適応型チャンク・スケジューリング |
FR2918241B1 (fr) * | 2007-06-28 | 2009-11-06 | Bouygues Telecom Sa | Procede, serveur et application pour le partage de contenus personnels entre terminaux d'usager(s) |
US8028090B2 (en) | 2008-11-17 | 2011-09-27 | Amazon Technologies, Inc. | Request routing utilizing client location information |
US7991910B2 (en) | 2008-11-17 | 2011-08-02 | Amazon Technologies, Inc. | Updating routing information based on client location |
US8347286B2 (en) * | 2007-07-16 | 2013-01-01 | International Business Machines Corporation | Method, system and program product for managing download requests received to download files from a server |
US9432243B2 (en) * | 2007-08-22 | 2016-08-30 | International Business Machines Corporation | Re-using asynchronous server-side results generated for a request context of one client to satisfy a request context of a different client |
US8032587B2 (en) * | 2007-08-28 | 2011-10-04 | International Business Machines Corporation | Method and apparatus for client-side aggregation of asynchronous fragmented requests |
US7698411B2 (en) * | 2007-08-22 | 2010-04-13 | International Business Machines Corporation | Selectively delivering cached content or processed content to clients based upon a result completed percentage |
US20090063505A1 (en) * | 2007-08-30 | 2009-03-05 | Kinder Nathan G | Selective chaining of LDAP directory servers |
US8135865B2 (en) * | 2007-09-04 | 2012-03-13 | Apple Inc. | Synchronization and transfer of digital media items |
US9154552B2 (en) | 2007-09-06 | 2015-10-06 | Microsoft Technology Licensing, Llc | Method and apparatus for cooperative file distribution with receiver determined quality of services |
US7702783B2 (en) * | 2007-09-12 | 2010-04-20 | International Business Machines Corporation | Intelligent performance monitoring of a clustered environment |
WO2009035674A1 (en) | 2007-09-14 | 2009-03-19 | Security First Corporation | Systems and methods for managing cryptographic keys |
US20090112921A1 (en) * | 2007-10-31 | 2009-04-30 | Fernando Oliveira | Managing files using layout storage objects |
US9413825B2 (en) * | 2007-10-31 | 2016-08-09 | Emc Corporation | Managing file objects in a data storage system |
JP5504165B2 (ja) * | 2007-10-24 | 2014-05-28 | イーエムシー コーポレイション | データファイルオブジェクトへのアクセス方法、クライアント装置、プログラム、およびシステム |
US9122397B2 (en) * | 2007-10-26 | 2015-09-01 | Emc Corporation | Exposing storage resources with differing capabilities |
EP2056572A1 (de) * | 2007-10-31 | 2009-05-06 | Thomson Licensing | Pull-from-Peer-Verfahren zum Erfassen von fehlenden Teilen einer Inhaltsdatei von einer Gerätegruppe |
JP4757943B2 (ja) * | 2007-11-12 | 2011-08-24 | パナソニック株式会社 | データ通信装置およびユーザ端末 |
WO2009063555A1 (ja) * | 2007-11-13 | 2009-05-22 | Fujitsu Limited | 制御代理装置、制御代理方法および制御代理プログラム |
US8561081B1 (en) * | 2007-11-13 | 2013-10-15 | Accenture Global Services Limited | System and method for dynamic brokering of digital content requests |
US7908362B2 (en) * | 2007-12-03 | 2011-03-15 | Velocix Ltd. | Method and apparatus for the delivery of digital data |
KR101478144B1 (ko) * | 2007-12-27 | 2015-01-02 | 삼성전자주식회사 | 알에프아이디 통신 방법 |
US8473756B2 (en) * | 2008-01-07 | 2013-06-25 | Security First Corp. | Systems and methods for securing data using multi-factor or keyed dispersal |
EP2086206A1 (de) * | 2008-01-31 | 2009-08-05 | Alcatel Lucent | System zum Betreiben eines Peer-to-Peer-Netzwerks mit Berücksichtigung von Teilnehmerinformation des Zugangsnetzwerks |
US8850029B2 (en) * | 2008-02-14 | 2014-09-30 | Mcafee, Inc. | System, method, and computer program product for managing at least one aspect of a connection based on application behavior |
ES2449790T3 (es) | 2008-02-22 | 2014-03-21 | Security First Corp. | Sistemas y métodos para la gestión y la comunicación seguras en un grupo de trabajo |
US8073959B2 (en) * | 2008-03-28 | 2011-12-06 | Microsoft Corporation | Automatically detecting whether a computer is connected to a public or private network |
US8447831B1 (en) | 2008-03-31 | 2013-05-21 | Amazon Technologies, Inc. | Incentive driven content delivery |
US7970820B1 (en) | 2008-03-31 | 2011-06-28 | Amazon Technologies, Inc. | Locality based content distribution |
US7962597B2 (en) | 2008-03-31 | 2011-06-14 | Amazon Technologies, Inc. | Request routing based on class |
US8156243B2 (en) | 2008-03-31 | 2012-04-10 | Amazon Technologies, Inc. | Request routing |
US8533293B1 (en) | 2008-03-31 | 2013-09-10 | Amazon Technologies, Inc. | Client side cache management |
US8321568B2 (en) | 2008-03-31 | 2012-11-27 | Amazon Technologies, Inc. | Content management |
US8601090B1 (en) | 2008-03-31 | 2013-12-03 | Amazon Technologies, Inc. | Network resource identification |
US8606996B2 (en) | 2008-03-31 | 2013-12-10 | Amazon Technologies, Inc. | Cache optimization |
US10924573B2 (en) | 2008-04-04 | 2021-02-16 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
CN102047244B (zh) | 2008-04-04 | 2013-02-27 | 第三雷沃通讯有限责任公司 | 在内容分发网络(cdn)中处理长尾内容 |
US9762692B2 (en) * | 2008-04-04 | 2017-09-12 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
US8353041B2 (en) * | 2008-05-16 | 2013-01-08 | Symantec Corporation | Secure application streaming |
US8275830B2 (en) | 2009-01-28 | 2012-09-25 | Headwater Partners I Llc | Device assisted CDR creation, aggregation, mediation and billing |
US8023425B2 (en) | 2009-01-28 | 2011-09-20 | Headwater Partners I | Verifiable service billing for intermediate networking devices |
US8548428B2 (en) | 2009-01-28 | 2013-10-01 | Headwater Partners I Llc | Device group partitions and settlement platform |
US8391834B2 (en) | 2009-01-28 | 2013-03-05 | Headwater Partners I Llc | Security techniques for device assisted services |
US8402111B2 (en) | 2009-01-28 | 2013-03-19 | Headwater Partners I, Llc | Device assisted services install |
US8589541B2 (en) | 2009-01-28 | 2013-11-19 | Headwater Partners I Llc | Device-assisted services for protecting network capacity |
US8406748B2 (en) | 2009-01-28 | 2013-03-26 | Headwater Partners I Llc | Adaptive ambient services |
US8635335B2 (en) | 2009-01-28 | 2014-01-21 | Headwater Partners I Llc | System and method for wireless network offloading |
US8832777B2 (en) | 2009-03-02 | 2014-09-09 | Headwater Partners I Llc | Adapting network policies based on device service processor configuration |
US8626115B2 (en) | 2009-01-28 | 2014-01-07 | Headwater Partners I Llc | Wireless network service interfaces |
US8346225B2 (en) | 2009-01-28 | 2013-01-01 | Headwater Partners I, Llc | Quality of service for device assisted services |
US9912740B2 (en) | 2008-06-30 | 2018-03-06 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US7925782B2 (en) | 2008-06-30 | 2011-04-12 | Amazon Technologies, Inc. | Request routing using network computing components |
US9407681B1 (en) | 2010-09-28 | 2016-08-02 | Amazon Technologies, Inc. | Latency measurement in resource requests |
JP5439761B2 (ja) * | 2008-07-25 | 2014-03-12 | 富士通株式会社 | コンテンツ再生装置、コンテンツ再生方法およびコンテンツ再生プログラム |
US8275902B2 (en) * | 2008-09-22 | 2012-09-25 | Oracle America, Inc. | Method and system for heuristic throttling for distributed file systems |
US8060616B1 (en) | 2008-11-17 | 2011-11-15 | Amazon Technologies, Inc. | Managing CDN registration by a storage provider |
US8732309B1 (en) | 2008-11-17 | 2014-05-20 | Amazon Technologies, Inc. | Request routing utilizing cost information |
US8122098B1 (en) | 2008-11-17 | 2012-02-21 | Amazon Technologies, Inc. | Managing content delivery network service providers by a content broker |
US8073940B1 (en) | 2008-11-17 | 2011-12-06 | Amazon Technologies, Inc. | Managing content delivery network service providers |
US8065417B1 (en) | 2008-11-17 | 2011-11-22 | Amazon Technologies, Inc. | Service provider registration by a content broker |
US8521880B1 (en) | 2008-11-17 | 2013-08-27 | Amazon Technologies, Inc. | Managing content delivery network service providers |
US8838683B2 (en) * | 2008-11-24 | 2014-09-16 | Samsung Electronics Co., Ltd. | Method and apparatus for receiving data by using peer-to-peer portal server |
US9578182B2 (en) | 2009-01-28 | 2017-02-21 | Headwater Partners I Llc | Mobile device and service management |
US10779177B2 (en) | 2009-01-28 | 2020-09-15 | Headwater Research Llc | Device group partitions and settlement platform |
US9565707B2 (en) | 2009-01-28 | 2017-02-07 | Headwater Partners I Llc | Wireless end-user device with wireless data attribution to multiple personas |
US8745191B2 (en) | 2009-01-28 | 2014-06-03 | Headwater Partners I Llc | System and method for providing user notifications |
US9571559B2 (en) | 2009-01-28 | 2017-02-14 | Headwater Partners I Llc | Enhanced curfew and protection associated with a device group |
US8793758B2 (en) | 2009-01-28 | 2014-07-29 | Headwater Partners I Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US10326800B2 (en) | 2009-01-28 | 2019-06-18 | Headwater Research Llc | Wireless network service interfaces |
US9572019B2 (en) | 2009-01-28 | 2017-02-14 | Headwater Partners LLC | Service selection set published to device agent with on-device service selection |
US9980146B2 (en) | 2009-01-28 | 2018-05-22 | Headwater Research Llc | Communications device with secure data path processing agents |
US10484858B2 (en) | 2009-01-28 | 2019-11-19 | Headwater Research Llc | Enhanced roaming services and converged carrier networks with device assisted services and a proxy |
US9955332B2 (en) | 2009-01-28 | 2018-04-24 | Headwater Research Llc | Method for child wireless device activation to subscriber account of a master wireless device |
US10841839B2 (en) | 2009-01-28 | 2020-11-17 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US10264138B2 (en) | 2009-01-28 | 2019-04-16 | Headwater Research Llc | Mobile device and service management |
US10783581B2 (en) | 2009-01-28 | 2020-09-22 | Headwater Research Llc | Wireless end-user device providing ambient or sponsored services |
US9270559B2 (en) | 2009-01-28 | 2016-02-23 | Headwater Partners I Llc | Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow |
US11218854B2 (en) | 2009-01-28 | 2022-01-04 | Headwater Research Llc | Service plan design, user interfaces, application programming interfaces, and device management |
US9954975B2 (en) | 2009-01-28 | 2018-04-24 | Headwater Research Llc | Enhanced curfew and protection associated with a device group |
US9858559B2 (en) | 2009-01-28 | 2018-01-02 | Headwater Research Llc | Network service plan design |
US10248996B2 (en) | 2009-01-28 | 2019-04-02 | Headwater Research Llc | Method for operating a wireless end-user device mobile payment agent |
US10064055B2 (en) | 2009-01-28 | 2018-08-28 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US10715342B2 (en) | 2009-01-28 | 2020-07-14 | Headwater Research Llc | Managing service user discovery and service launch object placement on a device |
US9557889B2 (en) | 2009-01-28 | 2017-01-31 | Headwater Partners I Llc | Service plan design, user interfaces, application programming interfaces, and device management |
US10057775B2 (en) | 2009-01-28 | 2018-08-21 | Headwater Research Llc | Virtualized policy and charging system |
US10798252B2 (en) | 2009-01-28 | 2020-10-06 | Headwater Research Llc | System and method for providing user notifications |
US9392462B2 (en) | 2009-01-28 | 2016-07-12 | Headwater Partners I Llc | Mobile end-user device with agent limiting wireless data communication for specified background applications based on a stored policy |
US10200541B2 (en) | 2009-01-28 | 2019-02-05 | Headwater Research Llc | Wireless end-user device with divided user space/kernel space traffic policy system |
US9706061B2 (en) | 2009-01-28 | 2017-07-11 | Headwater Partners I Llc | Service design center for device assisted services |
US9755842B2 (en) | 2009-01-28 | 2017-09-05 | Headwater Research Llc | Managing service user discovery and service launch object placement on a device |
US10237757B2 (en) | 2009-01-28 | 2019-03-19 | Headwater Research Llc | System and method for wireless network offloading |
US9351193B2 (en) | 2009-01-28 | 2016-05-24 | Headwater Partners I Llc | Intermediate networking devices |
US10492102B2 (en) | 2009-01-28 | 2019-11-26 | Headwater Research Llc | Intermediate networking devices |
US9647918B2 (en) | 2009-01-28 | 2017-05-09 | Headwater Research Llc | Mobile device and method attributing media services network usage to requesting application |
JP2012520004A (ja) * | 2009-03-03 | 2012-08-30 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | ピアツーピアネットワークにおける優先順位付けのための方法及び装置 |
FR2943158B1 (fr) * | 2009-03-12 | 2011-04-08 | St Wireless Sa | Procede de commande d'un transfert de donnees sur un bus informatique a transmission serie. |
WO2010106390A1 (en) * | 2009-03-19 | 2010-09-23 | Telefonaktiebolaget L M Ericsson | Optimized redirection for network architectures |
US8756341B1 (en) | 2009-03-27 | 2014-06-17 | Amazon Technologies, Inc. | Request routing utilizing popularity information |
US8688837B1 (en) | 2009-03-27 | 2014-04-01 | Amazon Technologies, Inc. | Dynamically translating resource identifiers for request routing using popularity information |
US8412823B1 (en) | 2009-03-27 | 2013-04-02 | Amazon Technologies, Inc. | Managing tracking information entries in resource cache components |
US8521851B1 (en) | 2009-03-27 | 2013-08-27 | Amazon Technologies, Inc. | DNS query processing using resource identifiers specifying an application broker |
CN102428686A (zh) | 2009-05-19 | 2012-04-25 | 安全第一公司 | 用于安全保护云中的数据的系统和方法 |
US8782236B1 (en) | 2009-06-16 | 2014-07-15 | Amazon Technologies, Inc. | Managing resources using resource expiration data |
JP5450811B2 (ja) * | 2009-06-29 | 2014-03-26 | クゥアルコム・インコーポレイテッド | ネットワーク通信パラメータを設定するための技術 |
US20110055394A1 (en) * | 2009-08-28 | 2011-03-03 | Motorola, Inc. | Network assisted mobile centric peer selection method |
US8397073B1 (en) | 2009-09-04 | 2013-03-12 | Amazon Technologies, Inc. | Managing secure content in a content delivery network |
CA2821466A1 (en) * | 2009-09-26 | 2011-03-31 | Disternet Technology Inc. | System and method for micro-cloud computing |
CN102034063A (zh) * | 2009-09-28 | 2011-04-27 | 西门子(中国)有限公司 | 调整连续波传输时间的方法及读写器 |
US8433771B1 (en) | 2009-10-02 | 2013-04-30 | Amazon Technologies, Inc. | Distribution network with forward resource propagation |
CA2781872A1 (en) | 2009-11-25 | 2011-06-09 | Security First Corp. | Systems and methods for securing data in motion |
US10009396B2 (en) | 2009-12-11 | 2018-06-26 | Thomson Licensing | Queue-based adaptive chunk scheduling for peer-to-peer live streaming |
US8504682B2 (en) * | 2009-12-17 | 2013-08-06 | Alcatel Lucent | Localization of peer to peer traffic |
US9495338B1 (en) | 2010-01-28 | 2016-11-15 | Amazon Technologies, Inc. | Content distribution network |
EP2553905B1 (de) | 2010-03-31 | 2018-05-09 | Security First Corp. | Systeme und verfahren zur sicherung von daten in bewegung |
KR101861503B1 (ko) | 2010-05-25 | 2018-05-25 | 헤드워터 리서치 엘엘씨 | 네트워크 용량을 보호하기 위한 디바이스-보조 서비스들 |
CA3040365C (en) * | 2010-05-25 | 2021-09-14 | Headwater Research Llc | Device-assisted services for protecting network capacity |
US8824492B2 (en) | 2010-05-28 | 2014-09-02 | Drc Computer Corporation | Accelerator system for remote data storage |
US8756272B1 (en) | 2010-08-26 | 2014-06-17 | Amazon Technologies, Inc. | Processing encoded content |
US9003035B1 (en) | 2010-09-28 | 2015-04-07 | Amazon Technologies, Inc. | Point of presence management in request routing |
US9712484B1 (en) | 2010-09-28 | 2017-07-18 | Amazon Technologies, Inc. | Managing request routing information utilizing client identifiers |
US10097398B1 (en) | 2010-09-28 | 2018-10-09 | Amazon Technologies, Inc. | Point of presence management in request routing |
US8924528B1 (en) | 2010-09-28 | 2014-12-30 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US8938526B1 (en) | 2010-09-28 | 2015-01-20 | Amazon Technologies, Inc. | Request routing management based on network components |
US8577992B1 (en) | 2010-09-28 | 2013-11-05 | Amazon Technologies, Inc. | Request routing management based on network components |
US10958501B1 (en) | 2010-09-28 | 2021-03-23 | Amazon Technologies, Inc. | Request routing information based on client IP groupings |
US8468247B1 (en) | 2010-09-28 | 2013-06-18 | Amazon Technologies, Inc. | Point of presence management in request routing |
US8930513B1 (en) | 2010-09-28 | 2015-01-06 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US8819283B2 (en) | 2010-09-28 | 2014-08-26 | Amazon Technologies, Inc. | Request routing in a networked environment |
US8452874B2 (en) | 2010-11-22 | 2013-05-28 | Amazon Technologies, Inc. | Request routing processing |
US9391949B1 (en) | 2010-12-03 | 2016-07-12 | Amazon Technologies, Inc. | Request routing processing |
US9092786B2 (en) * | 2011-04-13 | 2015-07-28 | Digital River, Inc. | E-commerce failover system and method |
US10467042B1 (en) | 2011-04-27 | 2019-11-05 | Amazon Technologies, Inc. | Optimized deployment based upon customer locality |
US8904009B1 (en) | 2012-02-10 | 2014-12-02 | Amazon Technologies, Inc. | Dynamic content delivery |
US10021179B1 (en) | 2012-02-21 | 2018-07-10 | Amazon Technologies, Inc. | Local resource delivery network |
US9172674B1 (en) | 2012-03-21 | 2015-10-27 | Amazon Technologies, Inc. | Managing request routing information utilizing performance information |
US10623408B1 (en) | 2012-04-02 | 2020-04-14 | Amazon Technologies, Inc. | Context sensitive object management |
US8719345B2 (en) * | 2012-05-11 | 2014-05-06 | Oracle International Corporation | Database replication using collaborative data transfers |
US9154551B1 (en) | 2012-06-11 | 2015-10-06 | Amazon Technologies, Inc. | Processing DNS queries to identify pre-processing information |
US9736121B2 (en) | 2012-07-16 | 2017-08-15 | Owl Cyber Defense Solutions, Llc | File manifest filter for unidirectional transfer of files |
US9525659B1 (en) | 2012-09-04 | 2016-12-20 | Amazon Technologies, Inc. | Request routing utilizing point of presence load information |
US9135048B2 (en) | 2012-09-20 | 2015-09-15 | Amazon Technologies, Inc. | Automated profiling of resource usage |
US9323577B2 (en) | 2012-09-20 | 2016-04-26 | Amazon Technologies, Inc. | Automated profiling of resource usage |
US10075354B2 (en) * | 2012-10-12 | 2018-09-11 | Sling Media L.L.C. | Identification of servers by common wide area network addresses |
US10205698B1 (en) | 2012-12-19 | 2019-02-12 | Amazon Technologies, Inc. | Source-dependent address resolution |
US10218586B2 (en) | 2013-01-23 | 2019-02-26 | Owl Cyber Defense Solutions, Llc | System and method for enabling the capture and securing of dynamically selected digital information |
US8776254B1 (en) | 2013-01-23 | 2014-07-08 | Owl Computing Technologies, Inc. | System and method for the secure unidirectional transfer of software and software updates |
US9306953B2 (en) | 2013-02-19 | 2016-04-05 | Owl Computing Technologies, Inc. | System and method for secure unidirectional transfer of commands to control equipment |
WO2014159862A1 (en) | 2013-03-14 | 2014-10-02 | Headwater Partners I Llc | Automated credential porting for mobile devices |
US9008305B2 (en) * | 2013-03-15 | 2015-04-14 | Startal, Inc. | Video data delivery protection |
US9294391B1 (en) | 2013-06-04 | 2016-03-22 | Amazon Technologies, Inc. | Managing network computing components utilizing request routing |
US10410244B2 (en) | 2013-11-13 | 2019-09-10 | Bi Science (2009) Ltd | Behavioral content discovery |
CN103714021A (zh) * | 2013-12-29 | 2014-04-09 | 广州视声电子科技有限公司 | 一种基于总线数据传输方法 |
TWI570668B (zh) * | 2014-01-16 | 2017-02-11 | 神達電腦股份有限公司 | 搜尋及分享行車記錄影片的方法、其系統及電腦程式產品 |
US9311329B2 (en) | 2014-06-05 | 2016-04-12 | Owl Computing Technologies, Inc. | System and method for modular and continuous data assurance |
US20160080519A1 (en) * | 2014-09-11 | 2016-03-17 | Microsoft Technology Licensing, Llc | Local caching and resolution of service calls |
US9871716B2 (en) | 2014-10-16 | 2018-01-16 | Kollective Technology, Inc. | Broadcast readiness testing in distributed content delivery networks |
WO2016076774A1 (en) * | 2014-11-12 | 2016-05-19 | Telefonaktiebolaget L M Ericsson (Publ) | Radio device hardware security system for wireless spectrum usage |
US10097448B1 (en) | 2014-12-18 | 2018-10-09 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10033627B1 (en) | 2014-12-18 | 2018-07-24 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10091096B1 (en) | 2014-12-18 | 2018-10-02 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10225326B1 (en) | 2015-03-23 | 2019-03-05 | Amazon Technologies, Inc. | Point of presence based data uploading |
US9819567B1 (en) | 2015-03-30 | 2017-11-14 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9887931B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9887932B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9832141B1 (en) | 2015-05-13 | 2017-11-28 | Amazon Technologies, Inc. | Routing based request correlation |
EP3311549A1 (de) * | 2015-06-19 | 2018-04-25 | Nokia Solutions and Networks Oy | Optimierung von verkehr |
US10616179B1 (en) | 2015-06-25 | 2020-04-07 | Amazon Technologies, Inc. | Selective routing of domain name system (DNS) requests |
US10097566B1 (en) | 2015-07-31 | 2018-10-09 | Amazon Technologies, Inc. | Identifying targets of network attacks |
US9774619B1 (en) | 2015-09-24 | 2017-09-26 | Amazon Technologies, Inc. | Mitigating network attacks |
US9742795B1 (en) | 2015-09-24 | 2017-08-22 | Amazon Technologies, Inc. | Mitigating network attacks |
US9794281B1 (en) | 2015-09-24 | 2017-10-17 | Amazon Technologies, Inc. | Identifying sources of network attacks |
US10270878B1 (en) | 2015-11-10 | 2019-04-23 | Amazon Technologies, Inc. | Routing for origin-facing points of presence |
US10049051B1 (en) | 2015-12-11 | 2018-08-14 | Amazon Technologies, Inc. | Reserved cache space in content delivery networks |
US10257307B1 (en) | 2015-12-11 | 2019-04-09 | Amazon Technologies, Inc. | Reserved cache space in content delivery networks |
US10348639B2 (en) | 2015-12-18 | 2019-07-09 | Amazon Technologies, Inc. | Use of virtual endpoints to improve data transmission rates |
WO2017117262A1 (en) * | 2015-12-29 | 2017-07-06 | Echostar Technologies L.L.C | Methods and systems for assisted content delivery |
US10075551B1 (en) | 2016-06-06 | 2018-09-11 | Amazon Technologies, Inc. | Request management for hierarchical cache |
US10110694B1 (en) | 2016-06-29 | 2018-10-23 | Amazon Technologies, Inc. | Adaptive transfer rate for retrieving content from a server |
US9992086B1 (en) | 2016-08-23 | 2018-06-05 | Amazon Technologies, Inc. | External health checking of virtual private cloud network environments |
US10033691B1 (en) | 2016-08-24 | 2018-07-24 | Amazon Technologies, Inc. | Adaptive resolution of domain name requests in virtual private cloud network environments |
US10505961B2 (en) | 2016-10-05 | 2019-12-10 | Amazon Technologies, Inc. | Digitally signed network address |
US10831549B1 (en) | 2016-12-27 | 2020-11-10 | Amazon Technologies, Inc. | Multi-region request-driven code execution system |
US10372499B1 (en) | 2016-12-27 | 2019-08-06 | Amazon Technologies, Inc. | Efficient region selection system for executing request-driven code |
US10938884B1 (en) | 2017-01-30 | 2021-03-02 | Amazon Technologies, Inc. | Origin server cloaking using virtual private cloud network environments |
US10503613B1 (en) | 2017-04-21 | 2019-12-10 | Amazon Technologies, Inc. | Efficient serving of resources during server unavailability |
US11075987B1 (en) | 2017-06-12 | 2021-07-27 | Amazon Technologies, Inc. | Load estimating content delivery network |
US10447648B2 (en) | 2017-06-19 | 2019-10-15 | Amazon Technologies, Inc. | Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP |
TWI649653B (zh) * | 2017-08-30 | 2019-02-01 | 群聯電子股份有限公司 | 資料儲存方法、記憶體儲存裝置及記憶體控制電路單元 |
US10742593B1 (en) | 2017-09-25 | 2020-08-11 | Amazon Technologies, Inc. | Hybrid content request routing system |
US10951735B2 (en) | 2017-11-07 | 2021-03-16 | General Electric Company | Peer based distribution of edge applications |
US10812445B2 (en) | 2018-02-13 | 2020-10-20 | Sling Media Pvt Ltd | Cloud access to local network addresses |
US10592578B1 (en) | 2018-03-07 | 2020-03-17 | Amazon Technologies, Inc. | Predictive content push-enabled content delivery network |
CN108833200A (zh) * | 2018-05-04 | 2018-11-16 | 佛山科学技术学院 | 一种大数据文件自适应单向传输方法及装置 |
US10862852B1 (en) | 2018-11-16 | 2020-12-08 | Amazon Technologies, Inc. | Resolution of domain name requests in heterogeneous network environments |
US11025747B1 (en) | 2018-12-12 | 2021-06-01 | Amazon Technologies, Inc. | Content request pattern-based routing system |
US10949289B1 (en) * | 2018-12-28 | 2021-03-16 | Virtuozzo International Gmbh | System and method for maintaining data integrity of data on a storage device |
Family Cites Families (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPQ504100A0 (en) * | 2000-01-11 | 2000-02-03 | Notron (No. 325) Pty Limited | A method for distribution of streamed data packets on a switched network utilising an intelligent distribution network |
US4712239A (en) * | 1986-06-16 | 1987-12-08 | General Instrument Corporation | Security arrangement for downloadable cable television converters |
US5191650A (en) * | 1989-08-16 | 1993-03-02 | International Business Machines Corporation | Virtual chains for session initiation in a distributed computer network |
DE69025846T2 (de) * | 1989-10-13 | 1996-09-26 | Ibm | Verfahren zur Verwendung gespeicherter partieller Bäume zur Berechnung eines Weges in einem Datenkommunikationsnetz |
US5511208A (en) * | 1993-03-23 | 1996-04-23 | International Business Machines Corporation | Locating resources in computer networks having cache server nodes |
US5948070A (en) * | 1995-10-31 | 1999-09-07 | Nec Corporation | File transfer systems, file transfer methods and storage media for storing file transfer programs |
FR2750517B1 (fr) * | 1996-06-27 | 1998-08-14 | Bull Sa | Procede de surveillance d'une pluralite de types d'objets d'une pluralite de noeuds a partir d'un noeud d'administration dans un systeme informatique |
US5884031A (en) * | 1996-10-01 | 1999-03-16 | Pipe Dream, Inc. | Method for connecting client systems into a broadcast network |
US5974250A (en) | 1996-12-13 | 1999-10-26 | Compaq Computer Corp. | System and method for secure information transmission over a network |
US6714976B1 (en) * | 1997-03-20 | 2004-03-30 | Concord Communications, Inc. | Systems and methods for monitoring distributed applications using diagnostic information |
US6014667A (en) * | 1997-10-01 | 2000-01-11 | Novell, Inc. | System and method for caching identification and location information in a computer network |
GB2331659A (en) * | 1997-11-21 | 1999-05-26 | Ericsson Telefon Ab L M | Resource reservation |
US6185598B1 (en) * | 1998-02-10 | 2001-02-06 | Digital Island, Inc. | Optimized network resource location |
US6453346B1 (en) * | 1998-07-17 | 2002-09-17 | Proactivenet, Inc. | Method and apparatus for intelligent storage and reduction of network information |
US6633901B1 (en) * | 1998-10-23 | 2003-10-14 | Pss Systems, Inc. | Multi-route client-server architecture |
US6772207B1 (en) * | 1999-01-28 | 2004-08-03 | Brocade Communications Systems, Inc. | System and method for managing fibre channel switching devices |
US6901604B1 (en) * | 1999-02-19 | 2005-05-31 | Chaincast, Inc. | Method and system for ensuring continuous data flow between re-transmitters within a chaincast communication system |
US6832253B1 (en) * | 1999-04-01 | 2004-12-14 | Cisco Technologies, Inc. | Proximity as an aid to caching and secondary serving of data |
US6678264B1 (en) * | 1999-06-30 | 2004-01-13 | Nortel Networks Limited | Establishing connections with a pre-specified quality of service across a communication network |
US6700590B1 (en) * | 1999-11-01 | 2004-03-02 | Indx Software Corporation | System and method for retrieving and presenting data using class-based component and view model |
AU2001240416A1 (en) | 2000-01-24 | 2001-07-31 | Siemens Aktiengesellschaft | Method for optimally making resources available in a communications network thatfunctions according to an internet protocol |
US6975619B1 (en) * | 2000-03-20 | 2005-12-13 | Lucent Technologies Inc. | System and method for providing host geographic location information in a packet data network |
US7020719B1 (en) * | 2000-03-24 | 2006-03-28 | Netli, Inc. | System and method for high-performance delivery of Internet messages by selecting first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination |
US7577754B2 (en) * | 2000-04-28 | 2009-08-18 | Adara Networks, Inc. | System and method for controlling access to content carried in a caching architecture |
US7065584B1 (en) * | 2000-04-28 | 2006-06-20 | Lucent Technologies Inc. | Method and apparatus for network mapping using end-to-end delay measurements |
WO2001093064A1 (en) | 2000-05-30 | 2001-12-06 | Emikolo Networks Inc. | Dynamic peer-to-peer network content-serving |
US20010049732A1 (en) * | 2000-06-01 | 2001-12-06 | Raciborski Nathan F. | Content exchange apparatus |
US20020049760A1 (en) * | 2000-06-16 | 2002-04-25 | Flycode, Inc. | Technique for accessing information in a peer-to-peer network |
US6742048B1 (en) * | 2000-07-10 | 2004-05-25 | Advanced Micro Devices, Inc. | Multilevel network for distributing trusted time and delegating levels of trust regarding timekeeping |
US20020035681A1 (en) * | 2000-07-31 | 2002-03-21 | Guillermo Maturana | Strategy for handling long SSL messages |
US7594030B2 (en) * | 2000-11-22 | 2009-09-22 | Microsoft Corporation | Locator and tracking service for peer to peer resources |
US7072982B2 (en) * | 2000-11-22 | 2006-07-04 | Microsoft Corporation | Universal naming scheme for peer to peer resources |
US20020062336A1 (en) * | 2000-11-22 | 2002-05-23 | Dan Teodosiu | Resource coherency among resources cached in a peer to peer environment |
US6738932B1 (en) * | 2000-12-22 | 2004-05-18 | Sun Microsystems, Inc. | Method and system for identifying software revisions from memory images |
AU2002234261A1 (en) * | 2001-01-17 | 2002-07-30 | Arthur D. Little, Inc. | System for and method of relational database modeling of ad hoc distributed sensor networks |
WO2002057917A2 (en) | 2001-01-22 | 2002-07-25 | Sun Microsystems, Inc. | Peer-to-peer network computing platform |
US7193968B1 (en) * | 2001-02-08 | 2007-03-20 | Cisco Technology, Inc. | Sample netflow for network traffic data collection |
EP1374080A2 (de) * | 2001-03-02 | 2004-01-02 | Kasenna, Inc. | Push-pull-modell mit metadaten-möglichkeit zur effizienten videoinhaltsverteilung mit niedriger latenz über ein netzwerk |
US7454523B2 (en) * | 2001-03-16 | 2008-11-18 | Intel Corporation | Geographic location determination including inspection of network address |
US7478243B2 (en) * | 2001-03-21 | 2009-01-13 | Microsoft Corporation | On-disk file format for serverless distributed file system with signed manifest of file modifications |
US7720996B2 (en) * | 2001-03-27 | 2010-05-18 | Microsoft Corporation | Internet protocol (IP) address proximity and application to peer provider location |
US8543681B2 (en) * | 2001-10-15 | 2013-09-24 | Volli Polymer Gmbh Llc | Network topology discovery systems and methods |
US6789117B1 (en) * | 2001-12-21 | 2004-09-07 | Networks Associates Technology, Inc. | Enterprise network analyzer host controller/agent interface system and method |
US7200658B2 (en) * | 2002-11-12 | 2007-04-03 | Movielink, Llc | Network geo-location system |
US7533184B2 (en) * | 2003-06-13 | 2009-05-12 | Microsoft Corporation | Peer-to-peer name resolution wire protocol and message format data structure for use therein |
US20040267875A1 (en) * | 2003-06-30 | 2004-12-30 | Hennessey Wade L. | Method and apparatus for establishing peering rules for distributed content delivery |
US7450524B2 (en) * | 2003-06-30 | 2008-11-11 | Kontiki, Inc. | Method and apparatus for determining network topology in a peer-to-peer network |
-
2002
- 2002-08-02 WO PCT/US2002/024824 patent/WO2003015341A2/en not_active Application Discontinuation
- 2002-08-02 WO PCT/US2002/024823 patent/WO2003015376A1/en not_active Application Discontinuation
- 2002-08-02 DE DE60211524T patent/DE60211524T2/de not_active Expired - Lifetime
- 2002-08-02 WO PCT/US2002/024825 patent/WO2003015377A1/en active Search and Examination
- 2002-08-02 US US10/211,601 patent/US7089290B2/en active Active
- 2002-08-02 US US10/211,600 patent/US7363498B2/en not_active Expired - Lifetime
- 2002-08-02 JP JP2003520165A patent/JP4198053B2/ja not_active Expired - Fee Related
- 2002-08-02 EP EP02759270A patent/EP1413119B1/de not_active Expired - Lifetime
- 2002-08-02 US US10/211,602 patent/US7398301B2/en active Active
- 2002-08-02 AU AU2002324615A patent/AU2002324615A1/en not_active Abandoned
-
2008
- 2008-04-21 US US12/107,037 patent/US7765411B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP4198053B2 (ja) | 2008-12-17 |
US7089290B2 (en) | 2006-08-08 |
US7765411B2 (en) | 2010-07-27 |
US20080199003A1 (en) | 2008-08-21 |
DE60211524D1 (de) | 2006-06-22 |
AU2002324615A1 (en) | 2003-02-24 |
JP2005525611A (ja) | 2005-08-25 |
US20030028623A1 (en) | 2003-02-06 |
US20030028777A1 (en) | 2003-02-06 |
WO2003015377A1 (en) | 2003-02-20 |
WO2003015341A3 (en) | 2004-03-04 |
US7398301B2 (en) | 2008-07-08 |
US20030028626A1 (en) | 2003-02-06 |
EP1413119B1 (de) | 2006-05-17 |
WO2003015376A1 (en) | 2003-02-20 |
US7363498B2 (en) | 2008-04-22 |
EP1413119A1 (de) | 2004-04-28 |
WO2003015341A2 (en) | 2003-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60211524T2 (de) | Verfahren und vorrichtung zur verteilten lieferung von inhalten innerhalb eines computernetzwerkes | |
DE69909839T2 (de) | Optimierte Lokalisierung von Netzwerkbetriebsmittel | |
DE69935920T2 (de) | Lastausgleich in einer netzwerkumgebung | |
DE60019640T2 (de) | Digitales Rechnersystem und Verfahren zur Beantwortung von über ein externes Netzwerk empfangenen Anfragen | |
DE60317403T2 (de) | Mehrstufige Cache-Speicherarchitektur und Cache-Speicherverwaltungsverfahren für gleichrangiges Namensauflösungs-Protokoll | |
DE60317925T2 (de) | Steuerung von netzwerkverkehr in einer peer-to-peer umgebung | |
DE60301783T2 (de) | Verfahren und system zur gleichrangigen kommunikation in einer netzwerkumgebung | |
DE60131900T2 (de) | Verfahren und system zur verwaltung von verteilten inhalten und verwandten metadaten | |
DE60015423T2 (de) | Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk | |
DE60026231T2 (de) | Verfahren und Vorrichtung zur Durchführung eines Schnellen Dienstnachschlagen in einem Neztwerkgruppen | |
DE60216918T2 (de) | Verfahren und computersystem zur auswahl eines randservercomputers | |
DE60121176T2 (de) | Verfahren und System zur anforderungsorientierten Wiedererkennung von verbindungsorientierten Transaktionen | |
DE60132718T2 (de) | System und methode zum auffinden von informationsobjekten und informationsobjektspeichern in rechnernetzen | |
DE60208659T2 (de) | Skalierbare ressourcenermittlung und rekonfiguration für verteilte rechnernetze | |
DE60103088T2 (de) | Verfahren zur Herstellung von Weiterleitungslisten für Netzwerkgruppe | |
DE60025129T2 (de) | Verfahren und Vorrichtung zur Bereitstellung von skalierbaren Diensten unter Benutzung einer Paketverteilungstabelle | |
DE19882235B4 (de) | Verwendung von Web-Technologie für Teilnehmerverwaltungsaktivitäten | |
DE60122691T2 (de) | Verfahren und vorrichtung zum verteilten cachen | |
DE69635047T2 (de) | Vernetzte server mit kundenspezifischen diensten zum herunterladen von videos | |
DE10116640B4 (de) | Auf URL beruhende Token für schwierige Verteilungen, die einen serverseitigen Cookiebehälter benutzen | |
DE69732605T2 (de) | Dynamisches Cachespeicher-Vorladen über lose gekoppelte administrative Bereiche | |
EP1887484B1 (de) | Verfahren zum vorabübertragen strukturierter datenmengen zwischen einer clienteinrichtung und einer servereinrichtung | |
DE19747583B4 (de) | Kommunikationssystem und Verfahren | |
DE602004011638T2 (de) | Verringern von Pufferanforderungen in einem Nachrichtenübermittlungssystem | |
DE60109947T2 (de) | Verfahren zur Server-Auswahl in einem Inhaltsauslieferungsnetzwerk |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |