BR112013016659B1 - Sistema e método para interligação de redes de distribuição de conteúdo - Google Patents

Sistema e método para interligação de redes de distribuição de conteúdo Download PDF

Info

Publication number
BR112013016659B1
BR112013016659B1 BR112013016659-2A BR112013016659A BR112013016659B1 BR 112013016659 B1 BR112013016659 B1 BR 112013016659B1 BR 112013016659 A BR112013016659 A BR 112013016659A BR 112013016659 B1 BR112013016659 B1 BR 112013016659B1
Authority
BR
Brazil
Prior art keywords
osi
origin server
content
osg
global
Prior art date
Application number
BR112013016659-2A
Other languages
English (en)
Other versions
BR112013016659A2 (pt
Inventor
Pablo Rodriguez Rodriguez
Armando Antonio García Mendoza
Parminder Chhabra
Xiaoyuan Yang
Original Assignee
Telefonica S.A
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonica S.A filed Critical Telefonica S.A
Publication of BR112013016659A2 publication Critical patent/BR112013016659A2/pt
Publication of BR112013016659B1 publication Critical patent/BR112013016659B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

SISTEMA E MÉTODO PARA INTERLIGAÇÃO DE REDES DE DISTRIBUIÇÃO DE CONTEÚDO O sistema compreende uma pluralidade de CDNs, cada uma definindo um ocupação em operação (OBi) tendo seu respectivo servidor de origem local (OSi), e meios de computação para realizar a interconexão da dita pluralidade de CDNs, onde os ditos meios de computação compreendem um servidor de origem global (OSG) que coordena uma formação de uma rede global pela conexão aos servidores de origem locais (OS{i}) . O método compreende utilização de um servidor de origem global para coordenar a formação de uma rede global por sua conexão aos servidores de origem locais de CDN.

Description

CAMPO DA TÉCNICA
A presente invenção se refere, de modo geral, em um primeiro aspecto, a um sistema para Interligação de redes de Distribuição de Conteúdo e mais particularmente a um sistema compreendendo um servidor de origem global que coordena a formação de uma rede global por conexão aos servidores de origem locais de uma pluralidade de Redes de Liberação de Conteúdo, ou CDNs.
Um segundo aspecto da invenção se refere a um método compreendendo a utilização de um servidor de origem global para coordenar a formação de uma rede global por sua conexão aos servidores de origem locais CDN.
TÉCNICA ANTERIOR
A terminologia e definições que podem ser úteis para entender a presente invenção são incluídas.
PoP: Um ponto de presença é uma demarcação artificial ou ponto de interface entre duas entidades de comunicação. É um ponto de acesso à Internet que suporta os servidores, alternadores, roteadores e agregadores de chamada. ISPs têm tipicamente múltiplos PoPs.
Rede de Liberação de Conteúdo (CDN): Isso se refere a um sistema de nós (ou computadores) que contém cópias de conteúdo de cliente que é armazenado e colocado em diversos pontos em uma rede (ou Internet pública). Quando o conteúdo é replicado em diversos pontos na rede, a largura de banda é mais bem utilizada ao longo de toda a rede e os usuários Têm momentos de acesso mais rápidos ao conteúdo. Dessa forma, o servidor de origem que detém a cópia original do conteúdo não é um afunilamento.
Resolvedor de DNS de ISP: Os usuários residenciais se conectam a um ISP. Qualquer solicitação para resolver um endereço é enviada a um resolvedor de DNS mantido pelo ISP. O Resolvedor de DNS de ISP enviará a solicitação de DNS a um ou mais servidores DNS dentro do domínio administrativo do ISP.
URL: Simplificando, o Localizador de Recurso de Uniforme (URL) é o endereço de uma página da web na web mundial. Nunca, duas URLs são exclusivas. Se elas forem idênticas, elas apontam para o mesmo recurso.
Redirecionamento de URL (ou HTTP): O redirecionamento de URL também é conhecido como encaminhamento de URL. Uma página pode precisar de redirecionamento se (1) seu nome de Domínio mudar, (2) criar aliases significativos para URLs longas ou que mudam frequentemente (3) erros de escrita do usuário ao digitar um nome de domínio (4) manipulação de visitantes etc. Para o objetivo da presente invenção, um serviço de redirecionamento típico é o que redireciona os usuários ao conteúdo desejado. Um link de redirecionamento pode ser utilizado como um endereço permanente para o conteúdo que muda de canal host frequentemente (bem como DNS).
Acumulador de dados: Um acumulador de dados é um receptáculo lógico para um cliente que detém o conteúdo do cliente de CDN. Um acumulador de dados faz uma ligação entre a URL de servidor de origem e a URL de CDN ou pode conter o conteúdo em si (que é carregado ao acumulador de dados no ponto de entrada). Um ponto terminal replicará arquivos do servidor de origem aos arquivos no acumulador de dados. Cada arquivo em um acumulador de dados pode ser mapeado a exatamente um arquivo no servidor de origem. Um acumulador de dados tem diversos atributos associados a ele - o momento de quando e o momento até o conteúdo é válido, bloqueamento geológico de conteúdo etc. Mecanismos também são inseridos para garantir que novas versões do conteúdo no servidor de origem são inseridos ao acumulador de dados nos pontos terminais e as versões antigas são removidas.
Um cliente pode ter a quantidade de acumuladores de dados que desejar. Um acumulador de dados é realmente um diretório que contém arquivos de conteúdo. Um acumulador de dados pode conter sub-diretórios e arquivos de conteúdo dentro de cada um desses sub-diretórios.
Geo-localização: É a identificação da localização geográfica do mundo real de um dispositivo conectado à Internet. O dispositivo pode ser um computador, dispositivo móvel ou um aplicativo que permita a conexão à Internet para um usuário final. Os dados de geo-localização do endereço de IP podem incluir informações, como pais, região, cidade, código postal, latitude/longitude de um usuário.
Ocupação em operação (OB): Uma OB é uma área geográfica arbitrária na qual o provedor do serviço de CDN é instalado. Uma OB pode operar em mais de uma região. Uma região é uma área geográfica arbitrária e pode representar um pais, ou parte de um pais ou ainda um conjunto de países. Uma OB pode consistir em mais de uma região. Uma OB pode ser composta de um ou mais ISPs. Cada região em uma OB é composta exatamente de um servidor de DNS de região e rastreador. Uma OB tem exatamente um caso de Servidor de Topologia.
ID de divisão: É um mapeamento global de prefixos de endereço de IP em inteiros. É um mapeamento um a um. Assim, nunca duas OBs podem ter o mesmo PID em seu domínio.
Ocupação em operação Padrão: OB0 é definida como uma ocupação em operação padrão onde o servidor de DNS de TLD reside. Todos os prefixos de IP não são parte de outras regiões padrão a essa região. Pelo projeto, a OB0 padrão é projetada para ter somente uma região que pode ser utilizada para servir o conteúdo a esses prefixos de IP (que não são funcionalidade de tabela hash de modo que a adição ou remoção de um intervalo não altere significativamente o mapeamento das chaves aos intervalos. Hashing Compativel é uma maneira de distribuir solicitações entre uma ampla e diversificada população de servidores da web. A adição e remoção de um servidor da web não altera significativamente a carga nos outros servidores.
Rede Sobreposta: Uma rede sobreposta é uma rede de computador que é incorporada no topo de outra rede. Os nós em uma rede sobreposta são conectados por ligações virtuais/lógicas. Cada ligação lógica pode consistir em um caminho que é feito de múltiplas ligações fisicas na rede de base.
Interligação de redes de Distribuição de Conteúdo (CDI): Interligação de redes de Distribuição de Conteúdo é a capacidade de conectar muitos CDNs administrados independentemente para formar uma federação de CDNs. Isso permite que um CDN se estenda além de seu dominio administrativo para aumentar o alcance do conteúdo.
Protocolo de Controle de Transporte (TCP): Protocolo de Controle de Transporte é um dos protocolos centrais dos Protocolos de Internet. TCP é responsável por uma liberação ordenada e confiável de fluxo de dados entre dois canais anfitriões de rede.
Depois, cada componente do sub-sistema de provedor de serviço de CDN é descrito. A infra-estrutura consiste em Servidores de origem, Rastreadores, Pontos terminais e Ponto de entrada. - Ponto de Publicação: Qualquer cliente de CDN pode interagir com a infra-estrutura de provedor de serviço de CDN somente por meio do ponto de publicação (algumas vezes, também definido como ponto de entrada para simplicidade). O ponto de publicação executa em uma interface de serviços da web com usuários de contas registradas para criar/apagar e atualizar os acumuladores de dados.
Um cliente de CDN tem duas opções de carregar o conteúdo. 0 cliente pode carregar arquivos ao acumulador de dados ou dar as URLs dos arquivos de conteúdo que residem no site da web do cliente de CDN. Uma vez que o conteúdo é baixado pela infra-estrutura de CDN, os arquivos são movidos a outro diretório para pós-processamento. As etapas de pós- processamento envolvem a verificação de arquivos quanto à consistência e quaisquer erros. Então, somente o arquivo baixado é movido ao servidor de origem. O servidor de origem contém uma cópia mestre dos dados. - Ponto terminal: Um ponto terminal é a entidade que gerencia a comunicação entre os usuários finais e a infra-estrutura de CDN. Essencialmente, é um servidor de HTTP personalizado.
Além disso, os pontos terminais mantêm uma base de dados de IP geográfico e tabela de uma lista de centros de dados. - Rastreador: O rastreador é a entidade principal que permite a inteligência e coordenação da infra-estrutura de provedor de serviço de CDN. A fim de realizar isso, um rastreador mantém (1) informações detalhadas sobre o conteúdo em cada ponto terminal e (2) coleta estatísticas de uso de recurso periodicamente de cada ponto terminal. Ele mantém informações como número de bytes de saída, número de bytes de chegada, número de conexões ativas para cada acumulador de dados, tamanho de conteúdo que tem serviço etc.
Quando um usuário final fizer uma solicitação de conteúdo, o rastreador utiliza as informações estatísticas em sua disposição para determinar se (1) o conteúdo pode ser servido ao usuário final que solicita e, se sim, (2) determina o ponto terminal mais próximo e o com menos carga para servir o usuário final. Assim, o rastreador age como um balanceador de carga para a infra-estrutura de CDN. - Servidor de origem: Esse é o(s) servidor(es) na infra-estrutura de provedor de serviço de CDN que contém a cópia mestre dos dados. Qualquer ponto terminal que não tiver uma cópia dos dados pode solicitá-la do servidor de origem. 0 cliente de CDN não tem acesso ao servidor de origem. A infra- estrutura de provedor de serviço de CDN move dados do ponto de publicação ao servidor de origem após realizar 10 verificações de estabilidade nos dados baixados.
CDNs operam tipicamente como únicas entidades globais; têm múltiplos pontos de presença e em localizações que são geograficamente distantes. Como resultado, um CDN pode ter múltiplas réplicas de parte do conteúdo sendo 15 hospedado. A definição de servidores de origem para provedores de CDN é generalizada como segue: (1) uma entidade (como um servidor) que reside no dominio administrativo do cliente de CDN. O conteúdo é replicado no ponto(s) terminal(is) após a primeira solicitação de conteúdo por um 20 usuário final. (2) Todos os servidores de origem estão sob o controle administrativo do mesmo provedor de CDN e contêm conteúdo de clientes de CDN. Esses servidores contêm a cópia mestre do conteúdo e a replicam no(s) ponto(s) terminal(is). A adição de capacidade de armazenamento adicional no provedor 25 de serviço de CDN é meramente um caso de adição de servidores de origem adicionais sob seu controle administrativo.
Há muitos projetos diferentes de CDNs. Por exemplo, [2] usa uma hierarquia de servidores de DNS [1] junto às informações de geo-localização para encontrar um servidor de 30 conteúdo que estiver mais próximo a um usuário final solicitante para servir o conteúdo. Outras soluções, como [3] contam somente com um pequeno número de centros de dados amplos ou [6] um amplo número de pequenos centros de dados conectados por uma rede privada bem provisionada para, primeiro, identificar um centro de dados que está mais próximo ao usuário final solicitante. Uma vez que o centro de dados é identificado, um ponto terminal no centro de dados é identificado para liberar o conteúdo. Somente nessa etapa final, o CDN se conecta a Internet pública. Ainda, [5] conta com infra-estrutura de armazenamento e colocação em cache cara nos pontos de troca de tráfego importantes. Amazon [4] provê serviço de CDN utilizando Cloudfront da Amazon junto a seu simples serviço de armazenamento que permite que usuários finais obtenham dados de diversas localizações de margem da Internet com a qual a Amazon troca de tráfego. Desses, somente [2] se conecta à Internet pública e provê um serviço de CDN global e se enquadra em um único dominio administrativo. Os outros projetos de CDN se enquadram em diferentes domínios administrativos.
Independentemente do controle administrativo, o conteúdo originalmente armazenado nos servidores de origem é replicado nos pontos terminais para distribuição aos usuários finais solicitantes. Os servidores de origem no provedor de serviço de CDN sempre contém a cópia mestre do conteúdo obtido de um cliente de CDN. O serviço de CDN é projetado para funcionar como um CDN global.
Há diversos motivos pelos quais diversas OBs podem desejar permanecer e operar independentemente e ainda virem juntamente para formar um CDN global.
Cada OB pode ser uma ocupação em operação independente em um país e, com isso, pode desejar o controle completo de todos os elementos de infra-estrutura da CDN. As OBs podem ainda ser parte de uma única entidade global.
Dado que uma OB opera em um país, é mais fácil que uma OB estabeleça uma relação profunda com os provedores de conteúdo naquele país e opere dentro de suas leis.
Ao permitir que os provedores de conteúdo na OB decidam se seu conteúdo seja visivel somente naquela OB ou podem ser apresentados em outras OBs (ou até globalmente), as OBs podem dar aos provedores de conteúdo todo o controle sobre seu conteúdo que elas desejarem.
Uma OB pode não desejar expor as informações topológicas detalhadas sobre sua rede a outras OBs e ainda ser parte da CDN global para compartilhar conteúdo e expandir o alcance do conteúdo.
A presença de diversas CDNs, cada uma operando sua própria convenção de nomenclatura (ou seja, tendo suas próprias URLs de CDN) e sua própria infra-estrutura de DNS para identificar o conteúdo solicitado, torna possivel estender a escala e alcance das CDNs. Diversas propostas sob a Interligação de Redes de Distribuição de Conteúdo (CDI) foram propostas com um objetivo de trocar o tráfego de CDNs. Os objetivos principais de CDNs de troca de tráfego são (a) aumentar a capacidade, (b) melhorar os pontos de liberação na rede, (c) expandir o alcance de conteúdo a uma base de clientes mais ampla, (d) prover melhor tolerância à falha e (e) alcançar melhores economias de escala e (f) uma melhor experiência geral do usuário.
Em [8], os autores introduzem definições para Interligação de redes de Distribuição de Conteúdo (CDI) ou troca de tráfego de CDN e definem a terminologia. Eles prevêem Interligação de Redes de Conteúdo como consistindo em Interligação de Redes de Conta, Portas de Ligação de Interligação de Redes de Conteúdo, Interligação de Redes de Roteamento por Solicitação. Os autores discutem muitos mecanismos de roteamento por solicitação conhecidos em [9]. Eles discutem os esquemas de roteamento por solicitação com base em DNS, incluindo resolução de múltiplos niveis, codificação de anycast e objeto em DNS. Além disso, eles discutem os esquemas de roteamento por solicitação de camada de Transporte e Aplicação, incluindo reescrever a URL e redirecionamento de HTTP, Em [10], os autores apresentam diversos cenários de Interligação de Rede de Conteúdo. Eles propõem portas de ligação de interligação de redes de conteúdo para rotear solicitações para conteúdo e contam com uma variedade de cenários, com ênfase particular na interligação de redes de conta.
Uma técnica denominada intermediação de CDN é definida pela Aliança de Conteúdo. Aqui, a intermediação de CDN é a capacidade de uma CDN redirecionar clientes dinamicamente entre duas ou mais CDNs. Uma realização assim é o sistema com base em DNS, Servidor de Nome de Domínio Inteligente (IDNS). O IDNS [7] é um intermediador de DNS que utiliza uma distribuição de probabilidade na região na qual as CDNs operam para determinar qual CDN servirá somente à solicitação. Entretanto, isso requer que as CDNs detenham os nomes de conteúdo e pontos terminais dos quais eles são servidos em caches. Os nomes de conteúdo são identificados da solicitação de HTTP dos cabeçalhos. Embora esse trabalho funcione para downloads de HTTP, ele pode não funcionar para a reprodução ao vivo de conteúdo.
Uma patente relacionada que utiliza essa técnica é a US 2011078327 (Al), que se refere também à liberação de conteúdo utilizando múltiplas CDNs, no caso de a seleção de uma CDN dentre múltiplas CDNs se feita no nível de domínio de DNS. A liberação de conteúdo inclui a recepção de uma solicitação de Serviço de Nome de Domínio (DNS), seleção, de uma pluralidade de Redes de Liberação de Conteúdo (CDNs), de uma CDN para prover o conteúdo associado à solicitação de DNS, processamento da solicitação de DNS e geração de uma resposta, a resposta incluindo um valore de nome canônico (CNAME) que corresponde à CDN selecionada, recepção de uma indicação de que o conteúdo não está atualmente disponível na CDN Selecionada, e retorno de um endereço de Protocolo de Internet (IP) de uma fonte de dados que é configurada para prover o conteúdo à CDN selecionada.
A maioria das propostas sobre CDI são muito amplas e oferecem somente orientações e pouco por meio de protocolos completos para implementação. Alguns problemas foram detectados com as propostas existentes: - Alguns provedores de serviço de CDN grandes podem escolher não marcar suas CDNs. Nesse caso, a CDN não marcada e o provedor de CDN de origem de fato executam duas CDNs sob dois controles administrativos diferentes. Eles não podem ser combinados para formar uma única CDN contínua por um motivo principal: As URLs de conteúdo para a CDN não marcada são diferentes daquelas do provedor de CDN grande. A fim de formar uma rede global continua, ambas as CDNs terão de entender e reescrever as URLs entre si, uma tarefa imensa. - O uso de anycast tem suas desvantagens, uma vez que os servidor de pode não ser o mais próximo no roteamento ao cliente e a carga do servidor não é considerada durante o roteamento de solicitação. - DNS somente resolve solicitações no nível de domínio. Embora uma resolução de solicitação ideal deva servir solicitações no nível de objeto, isso é difícil de fazer especialmente ao resolver objetos ao longo das CDNs. - Tendo uma hierarquia de domínios de DNS também pode envolver tanto complexidade como incompatibilidade, uma vez que algumas regiões podem não suportar mais de uma hierarquia de nível. - O uso de DNS junto aos redirecionadores é especialmente complexo ao longo das CDNs, uma vez que esse sistema também teria de implementar traduções de URL entre as CDNs. - Desenvolvimento de sistemas de intermediação para roteamento de solicitação e encaminhamento de conteúdo precisará escrever um novo conjunto de protocolos entre as CDNs. Esses sistemas são difíceis de implementar, conforme evidenciado pela falta de soluções de funcionamento concretas. Por outro lado, é difícil implementar sistemas que meramente trocam o tráfego contando com as informações. - Embora [10] apresente uma variedade de cenários sob os quais duas CDNs podem rotear solicitações por meio de Portas de Ligação de Interligação de Rede de Conteúdo, não há descrição do projeto dessas portas de ligação e como as duas CDNs devem implementar esses protocolos.
Em geral, os esforços de padronização em CDI são ruins, com pouca ou nenhuma atividade por boa parte de uma década.
NOTAÇÃO UTILIZADA
Aqui, descreveremos a notação que é utilizada no resto da invenção: OBjj Qualquer ocupação em operação arbitrária i pode ser denotada por OBi. Semelhantemente, teremos de denotar OBk, OBi, OBra para ocupações em operação k, 1 e m. Aqui, i, k, 1, m etc. são todos inteiros. OSÍ: Qualquer ocupação em operação arbitrária i (OBi) que tem servidor de origem denotada por OSÍ. - B0: Isso é utilizado para denotar a ocupação em operação padrão 0. OSG: Isso é utilizado para denotar p servidor de origem global. OS(jj: Isso é utilizado para denotar uma lista de servidores de origem que pode conter um conteúdo solicitado. Se os servidores de origem em j, k, 1 e m contiver o conteúdo solicitado, OS(j) = (OSj, 0Sk, 0Slf OSm) . Aqui, {j} = (j, k, 1, m) .
DESCRIÇÃO DA INVENÇÃO
É necessário prover uma alternativa à técnica anterior, que cubra as lacunas nela encontradas, particularmente, às relacionadas aos problemas indicados 5 acima relacionados à propostas de CDI conhecidas.
Para este fim, a presente invenção se refere, em um primeiro aspecto, a um sistema para Interligação de redes de Distribuição de Conteúdo, ou CDI, compreendendo uma pluralidade de Redes de Liberação de Conteúdo, ou CDN, cada 10 uma definindo uma ocupação em operação tendo seu respectivo servidor de origem local, e meios de computação para realizar a interconexão da dita pluralidade de CDNs.
Diferente de outras propostas de CDI conhecidas, naquela provida pelo sistema do primeiro aspecto da invenção, 15 os ditos meios de computação compreendem um servidor de origem global que coordena a formação de uma rede global pela conexão a algum (ou todos) dos ditos servidores de origem locais nas OBs.
Outras realizações do sistema do primeiro aspecto 20 da invenção são descritas de acordo com as reivindicações anexas 2 a 14 e, em uma seção subsequente, relacionadas à descrição detalhada de diversas realizações.
Pelo sistema da invenção, uma CDI pode executar em uma única hierarquia de servidores DNS e pode combinar um 25 número arbitrário de CDNs enquanto se conecta à Internet pública.
Um segundo aspecto da invenção provê um método para Interligação de redes de Distribuição de Conteúdo. O método compreende a realização da interconexão a uma pluralidade de 30 CDNs, cada uma definindo uma ocupação em operação a seu próprio servidor de origem local.
Diferente dos outros métodos conhecidos, a CDI provida pelo segundo aspecto da invenção compreende a utilização de um servidor de origem global para coordenar a formação de uma rede global ao conectar o dito servidor de origem global a algum (ou todos) dos ditos servidores de origem locais.
Outras realizações do método do segundo aspecto da invenção são descritas de acordo com as reivindicações anexas 15 a 18 e, em uma seção subsequente, relacionadas à descrição detalhada de diversas realizações.
As realizações descritas para o sistema do primeiro aspecto da invenção também são válidas para o método do segundo aspecto, como paras as funções dos diferentes elementos que o sistema realiza.
BREVE DESCRIÇÃO DOS DESENHOS
As vantagens e aspectos anteriores e outros serão mais completamente entendidos a partir da seguinte descrição detalhada das realizações, com referência aos desenhos anexos que devem ser considerados de maneira ilustrativa e não limitantes, nos quais:
A Figura 1 apresenta o sistema do primeiro aspecto da invenção para uma realização para a qual ele compreende três OBs que operam separadas com seu próprio ponto de publicação, rastreador, um servidor DNS autoritário somente para uma região nas OBs, um servidor de origem e pontos terminais. As três OBs formam uma CDN global com a ajuda de um Servidor de origem global. Um servidor DNS de TLD é o servidor de nome para t-cdn.net.
A Figura 2 apresenta uma realização do método do segundo aspecto da invenção, na forma de um algoritmo de sincronização para obter o conteúdo utilizando a 0SG.
A Figura 3 apresenta o diagrama de sequência para a comunicação entre uma OB e 0SG na localização do conteúdo solicitado de outra OB, para uma realização do método do segundo aspecto da invenção.
A Figura 4 apresenta outra realização do método do segundo aspecto da invenção, na forma de um diagrama de sequência quando um servidor de origem de uma nova OB ficar online e atualizações regulares entre OSÍ θ OSG sejam realizadas.
Descrição detalhada de diversas Realizações
A seguir, uma descrição da invenção para diversas realizações será feita, referindo-se tanto ao sistema como ao método da invenção.
Essa invenção apresenta como combinar muitas CDNs que operam independentemente, mas semelhantes para virem juntamente para formar continuamente uma rede global de CDN. Como parte disso, a função tradicional de um servidor de origem de uma entidade independente em uma CDN que envia o conteúdo a um ponto terminal para distribuição adicional é estendida àquela de que o conteúdo está ciente. Em uma rede global de CDN que consiste em uma coleção de Ocupações em operação (OBs), cada OB tem sua própria infra-estrutura de CDN, assim, os servidores de origem de todas as OBs formam uma rede sobreposta de servidores de origem que compartilham o conteúdo para replicação nos pontos terminais. Somente os pontos terminais dentro das OBs são responsáveis por distribuir conteúdo aos usuários finais solicitantes.
O principal da arquitetura de CDI é (i) a presença de um servidor de origem global, OSG. Esse OSG mantém os metadados de todos os acumuladores de dados que estão em cada OS de todas as OBs nas CDNs. (ii) Todos os OSs e o OSG vêm juntamente para formar uma sobreposição global de servidores de origem.
Se o conteúdo solicitado não estiver no OSÍ da CDN solicitante i, a localização do conteúdo é determinada do OSG. Subsequentemente, o OSí baixa o conteúdo do conjunto de servidores de origem OS(jj das CDNs {j, |j| >1}, nas quais o conteúdo existe. 0 OSi, então, serve o conteúdo ao usuário final solicitante.
Assim, todas as CDNs que operam em domínios administrativos independentes vêm juntas para formar uma CDN global continua.
A seguir, os detalhes da arquitetura do sistema da invenção, para interligação de rede de CDNs que operam independentemente para se unirem para formar uma CDN global continua serão apresentados.
Conforme visto da Figura 1, cada OBi tem seu próprio DNS, rastreador, ponto de publicação, servidor de origem e pontos terminais. Cada uma dessas entidades individuais está sob o controle administrativo e fisico de uma OB.
Cada OBi tem um ponto de publicação que os clientes de CDN dentro da OBi podem utilizar para publicar seu conteúdo na CDN. Os clientes podem utilizar duas técnicas para carregar seu conteúdo à CDN. (1) carrega o conteúdo em seus acumuladores de dados no ponto de publicação ou (2) provê o ponto de publicação do endereço do servidor da web para baixar o conteúdo. Após o pós-processamento, o acumulador de dados do cliente com conteúdo está disponível no servidor de origem, onde está pronto para servido aos pontos terminais. No nivel de acumulador de dados e arquivo, o cliente pode determinar a região geográfica onde o conteúdo pode ser apresentado. A região geográfica é mapeada às OBs.
Além de um Servidor de origem em cada OB, também há um servidor de origem global OSG- O servidor de origem global mantém uma conexão de TCP aberta com cada um dos OSs nas outras OBs.
Há um único servidor de domínio de nivel superior (TLD) para o dominio t-cdn.net. O DNS em cada OB resolve todos os endereços de IP no dominio de segundo nivel para a OB (é o servidor autoritário na sub-zona de DNS da OB).
O provedor de serviço de CDN consiste em Ocupações em operação (OBs) independentes que todas juntas formam uma CDN global. Poucos aspectos importantes da CDN global são: - Cada OB possui a infra-estrutura e opera sua própria CDN local. Ainda, as OBs são parte de uma infra- estrutura de rede de CDN global. - Além disso, as funções centralizadas precisam ser realizadas em todas as OBs. A infra-estrutura para suportar essas funções pode residir em qualquer OB. Essas funções centralizadas são (a) implantação do servidor DNS para resolver o dominio de nivel superior (TLD) para t-cdn.net. (b) Implantação de um servidor de origem global (OSG) que se comunica com cada um dos servidores de origem em todas as OBs . - A OB que hospeda o DNS de TLD e o OSG foi designada como OBQ. OBo também pode possuir sua própria infra- estrutura de CDN, como qualquer outra OB. Entretanto, não há tratamento preferencial para OBQ. OB0 é somente uma troca de tráfego para OBi e OB2, assim como OBi é uma troca de tráfego para OB2 (OB0 é meramente utilizada para conveniência). Todas as OBs são trocadas de tráfego e são tratadas igualmente.
O rastreador de cada OBi mantém um anel de hash consistente para todo conteúdo que reside na infra-estrutura de OBi •
A construção de uma CDN global contínua de um conjunto de CDNs individuais com seus domínios administrativos individuais consiste em duas etapas principais; Na primeira etapa, a resolução de DNS é feita para identificar um ponto terminal que servirá o conteúdo ao usuário final solicitante. Na segunda etapa, o ponto terminal obterá o conteúdo da rede de servidores de origem e servirá o conteúdo. Depois, a resolução de DNS será discutida:
Quando um usuário final, dito em OBi solicitar o conteúdo b87.t-cdn.net/87/video01.flv, o resolvedor de DNS de ISP primeiro resolve o TLD t-cdn.net. O servidor DNS de TLD resolve a sub-zona de OBi utilizando sua base de dados geográfica de IP. 0 resolvedor de DNS de ISP, então, consulta o servidor DNS autoritário na OBi que encaminha a solicitação a um ponto terminal na OBi.
O ponto terminal primeiro verifica para ver se o acumulador de dados e conteúdo solicitado é parte do OSÍ. Se não for, o ponto terminal verifica com o servidor de origem se o conteúdo é parte do OSG. Se não for parte do OSG, um erro é retornado ao usuário final. Se o conteúdo estiver no OSÍ ou OSG, o ponto terminal determina o centro de dados mais próximo ao DNS de ISP do usuário solicitante (denominado um ID de divisão, nesse caso, dito 34). 0 ponto terminal também calcula o hash consistente da URL solicitada e retorna o HTTP 302, a localização de b87-p34-abf8.t-cdn.net movida para o usuário final. O usuário final agora envia uma solicitação de resolução de endereço para b87-p34-abf8.t-cdn.net ao servidor DNS da OBi. Depois, o servidor DNS encaminha a solicitação ao rastreador que serve a OBi. O rastreador realiza um hash consistente da URL recebida e identifica o ponto terminal que deve servir o conteúdo solicitado.
A Figura 1 apresenta o ponto de publicação para cada OB. Uma vez que a solicitação do conteúdo da forma b87- p34-abf8.t-cdn.net vem ao servidor DNS autoritário na OB, a solicitação é encaminhada ao ponto terminal adequado (marcações b e c).
Se o OSÍ na OBi tiver o conteúdo solicitado, ele é baixado ao ponto terminal que serve o conteúdo ao usuário final (marcação d na Figura 1). Por outro lado, se o conteúdo não estiver no OSÍ, como uma segunda etapa, a rede de servidores de origem servirá o conteúdo como segue:
Uma rede lógica de servidores de origem (OS) é incorporada ao servidor de origem global (OSG) como o cabeçalho. O servidor de origem global, OSG mantém uma conexão aberta com os servidores de origem em todas as OBs. Ele usa essa conexão aberta para sincronizar acumuladores de dados aos servidores de origem em todas as OBs.
Conforme apresentado na Figura 1, se o conteúdo não estiver disponível na OB local (marcação 4), o OSi na OBi encaminha a solicitação à OBG (marcação 5) . A OBG responde com o endereço do OS3 da OB3 como tendo o conteúdo solicitado (marcação 6). O OSi se conecta ao OS3 para obter o conteúdo (marcações 7 e 8). O conteúdo é, então, encaminhado ao ponto terminal adequado na OBi para liberação ao usuário final.
A Figura 2 descreve um algoritmo de sincronização para obter o conteúdo utilizando o servidor de origem global OSG. O OSG mantém uma conexão aberta com cada um dos servidores de origem em todas as OBs. Periodicamente (a cada 2 minutos), cada OS encaminha metadados para os acumuladores de dados e arquivos em cada acumulador de dados ao OSG. Uma vez que cada OS em todas as OBs encaminhou seu conjunto inicial de acumuladores de dados e arquivos ao OSG, a comunicação subsequente com OSG somente envia atualizações de arquivos/acumuladores de dados. Isso reduz a sobrecarga de rede no OSG na presença de muitas OBs.
O OSG pode receber o conteúdo dos servidores de origem em outras OBs por um dos seguintes métodos: (1) O OSG escolhe um dos servidores de origem nas outras OBs que têm o conteúdo, e encaminha seu endereço ao OS da OB solicitante. O OS da OB solicitante baixa o conteúdo e o encaminha ao usuário final solicitante. (2) OSG encaminha uma lista de OS servidores em todas as OBs que têm o conteúdo solicitado. O OS solicitante pode utilizar (a) um protocolo P2P para baixar o conteúdo dos OSs das OBs que têm o conteúdo e encaminhar o conteúdo ao usuário final solicitante ou (b) obtê-lo de um dos servidores de origem dentre a lista retornada pelo OSj.
Na Figura 3, o ponto terminal obtém uma solicitação para um arquivo harrypotter.flv no acumulador de dados 87 de um usuário final na OBi. 0 OSi na OBi envia uma solicitação OS_getFile ao 0SG para determinar o OS que contém o arquivo. 0 OSG retorna uma lista ordenada {OSi, 0Sm, 0Sn} ao servidor de origem OSj. O OS! obtém o arquivo do OSi. Uma vez que OSi baixa o arquivo de OSi, ele envia o arquivo ao ponto terminal solicitante no OSi. O ponto terminal, por sua vez, serve o usuário final solicitante na OBi.
Projeto do Servidor de origem global OSG:
Depois, o projeto de 0SG para uma realização do sistema do primeiro aspecto da invenção é discutido. O servidor de origem local OSi ern cada OBi na infra-estrutura de provedor de serviço de CDN contém uma cópia mestre dos dados carregados por todos os clientes de CDN naquela OB. O OSG, por outro lado., não contém uma cópia mestre de quaisquer dados. É a entidade que coordena a formação de uma CDN global ao conectar todos os OSi não unidos.
Qualquer ponto terminal que não tiver uma cópia dos dados pode solicitá-la do servidor de origem. Um cliente de CDN não tem acesso ao servidor de origem. A infra-estrutura de provedor de serviço de CDN move o conteúdo do ponto de entrada ao servidor de origem após realizar verificações de estabilidade nos dados baixados.
No todo, sete mensagens que devem ser suportadas são definidas como parte do protocolo de transferência a cabo (o que é alheio ao HTTP ou protocolo que passa a mensagem a ser utilizado). 0 OSG suporta as seguintes mensagens: (1) Obtém lista de acumulador de dados (OS getBucketList). Essa mensagem enviada pelo OSG quando uma conexão de TCP for, primeiro, estabelecida entre OSi e OSG. (2) Atualização de acumulador de dados recebido (OS_receivedBucketUpdate). Essa mensagem é enviada ao OSí que envia a lista de acumulador de dados e arquivo atualizada. (3) Lista de Servidor de Origem para o arquivo solicitado (OS_listForFile). Essa mensagem é enviada ao OSÍ que solicitou o arquivo em resposta à mensagem OS_getFile. (4) Aborto de conexão (OS_connectionAbort) . O OSG pode abortar as conexões com qualquer (ou todos) OSÍ se o servidor precisar se submeter à manutenção ou ele detecta que não recebeu qualquer atualização. Isso forçará o OSÍ a abrir uma nova conexão.
O 0SG tem três módulos: módulo de conexão, módulo de proximidade e um módulo de acumuladores de dados. Descrevemos a função de cada um dos módulos abaixo. - Módulo de conexão: O módulo de conexão tem um gerenciador de conexão que é responsável por manter a conexão com cada um dos OSÍ que são parte da infra-estrutura de CDN global. Esse modulo também é responsável por processar uma mensagem recebida e enviar mensagens ao OSÍ em outras OBs. - Módulo de proximidade: O módulo de proximidade tem um gerenciador de proximidade que sabe que cada um dos OSÍ que é parte da CDN global. O gerenciador de proximidade também processa as informações estatísticas recebidas de cada um dos OSÍ. Assim, ele sabe qual dos servidores de origem está relativamente menos carregado. Se mais de um OS tiver o conteúdo solicitado, o OSj menos ocupado é escolhido para servir o conteúdo ao OSí. - Módulo de acumulador de dados: O módulo de acumulador de dados tem um gerenciador de acumulador de dados no OSG que obtém uma lista de todos os acumuladores de dados (e arquivos dos acumuladores de dados) de cada um dos OSÍ. Assim, o gerenciador de acumulador de dados conhece todos os OSÍ que têm um arquivo solicitado.
Quando uma solicitação por conteúdo vier do OSG, o gerenciador de conexão recebe a solicitação. O gerenciador de acumulador de dados identifica o OS(i( que solicitou o arquivo. 0 gerenciador de proximidade classifica os 0S{i} na ordem de servidores de origem menos carregados para os mais carregados. A lista é, então, enviada ao OSi solicitante pelo módulo de conexão.
Projeto de OS nas OBs:
O OSi em uma OBi ainda armazena uma cópia mestre de todo o conteúdo na OBi. Além disso, para obter o conteúdo de outros OSs, ele precisa suportar as seguintes mensagens em um protocolo de transferência a cabo: (5) Lista de acumulador de dados (OS_bucketList) . Essa mensagem, junto a uma lista de acumuladores de dados (e arquivos nos acumuladores de dados) é enviada ao OSG em resposta a OS_getBucketList. (6) Lista de acumulador de dados atualizada (OS_updateBucketList). Essa mensagem é enviada ao OSG junto a uma lista de atualizações aos arquivos e acumuladores de dados, desde a ultima atualização. As estatísticas relacionadas ao OSi são ligados por piggyback às atualizações de acumulador de dados enviadas ao OSG. (7) Obtém o arquivo (OS_getFile) . Um OSi obtém uma lista de endereços de IP para o conteúdo solicitado. Obtém-se os endereços de IP na ordem do Servidor de origem menos ocupado, OSj primeiro. 0 OSi, então, conecta-se ao OSj e obtém o conteúdo solicitado.
Cada um dos OSi implementa três módulos, um módulo de conexão, um módulo de estatística e um módulo de acumulador de dados. - Módulo de conexão: 0 módulo de conexão tem um gerenciador de conexão que gerencia a conexão entre o servidor de origem local e 0SG. Se o OS local (OSi) fechar a conexão (por qualquer motivo) com o OSG, o gerenciador de conexão é responsável por re-estabelecer a conexão com o OSG. O gerenciador de conexões no OSi é responsável por enviar mensagens ao e processar as mensagens recebidas do OSG. - Módulo de estatística: O módulo de estatística mantém estatística de nivel de sistema (CPU consumido, bytes de chegada e de salda) entre dois periodos de relato no OSi. - Módulo de acumulador de dados: Esse módulo tem um gerenciador de acumulador de dados, que mantém uma lista de todos os acumuladores de dados e arquivos em cada um dos acumuladores de dados. O gerenciador de acumulador de dados também envia atualizações aos acumuladores de dados entre dois periodos de relato ao OSG.
Usuário final não está em qualquer OB:
Se um usuário final solicitante não estiver em qualquer um dos dominios administrativos dos OBs e se o conteúdo solicitado puder ser apresentado na geografia do usuário final, a solicitação do conteúdo é encaminhada à OBi mais próxima. 0 rastreador na OBi, então, determina o ponto terminal na OBi que pode ser mais bem adequado para baixar o conteúdo ao usuário final solicitante.
Se um ponto terminal na OBi que é atribuída pelo rastreador para servir o usuário final solicitante não tiver o conteúdo solicitado, o OSi primeiro obtém o endereço do OS(jj de OSG que tenha o conteúdo solicitado. Subsequentemente, o OSi baixa o conteúdo e o envia ao ponto terminal atribuído em alguma OBi que servirá o conteúdo ao usuário final.
Quando uma nova OB ficar online:
Quando uma nova OB (chamada de OBn) ficar online, o OSn em OBn faz o seguinte:
Como parte de sua inicialização, o OSn é atribuído ao endereço de IP do Servidor de origem global, OSG. Quando o servidor de origem OSn vier, ele abre uma conexão de TCP com o OSG.
O servidor de origem global OSG recebe as seguintes informações de cada um dos OSÍ para todas as OBi que se unem para formar uma rede de inter-distribuição global. Periodicamente, cada um dos OSí relata o número de bytes de saida, número de bytes de chegada, número de conexões ativas e utilização de CPU. O OSG usa essas informações para inferir a carga no OS. O OSí envia essas informações com atualizações aos acumuladores de dados e arquivos em cada acumulador de dados.
O diagrama de sequência na Figura 4 descreve a comunicação entre OSÍ θ OSG quando OSÍ ficar online:
Quando uma OB ficar online (dizendo OBi) , o OSÍ na OBi estabelece uma conexão de TCP com OSG. Depois, OSG envia uma mensagem OS_getBucketList à OBi. Em resposta, o OSÍ envia uma lista de todos os acumuladores de dados e arquivos em cada um dos acumuladores de dados ao OSG. Após a troca de mensagem inicial, o OSÍ atualiza o OSG com alterações na lista de arquivo/acumulador de dados a cada dois minutos por meio de OS_updateBucketList. Essa mensagem também contém as informações estatísticas no OSÍ. Em resposta, o OSG reconhece o recebimento das informações da OBi por meio de uma resposta OS_receivedBucketUpdate.
Quando uma OB falha:
Quando uma OB falha (a conexão entre OSÍ e OSG cai), o gerenciador de acumulador de dados no 0SG remove todos os acumuladores de dados e arquivos associados ao OSÍ. O gerenciador de proximidade em OSG remove o OSÍ de sua lista de proximidades e todos os acumuladores de dados associados ao OSÍ. Quando um OSi na OBi ficar online, ele tenta abrir uma conexão com OSG.
Tipicamente, OSG é refletida para redundância.
Entretanto, se 0SG tiver de cair para manutenção (ou por qualquer outro motivo inesperado) e voltar, ele começa a interconexão entre as CDNs não unidas. Uma vez que cada um dos OSi se conecta ao OSG, eles respondem à solicitação OS_getBucketList com uma lista de acumuladores de dados e arquivos nos acumuladores de dados. Subsequentemente, cada um dos OSi envia periodicamente as atualizações aos arquivos e acumuladores de dados ao OSG.
Funções principais do Servidor de origem global:
O servidor de origem global 0SG tem as seguintes funcionalidades: - O 0SG ajuda cada um dos OSi a formar uma rede de servidores de origem. - Periodicamente, o OSG se comunica com cada um dos servidores de origem OSi 1. Obtém uma lista de acumuladores de dados e arquivos nos acumuladores de dados de cada um dos OSi. 2. Obtém atualizações a qualquer um dos arquivos/acumuladores de dados em cada um dos OSi. 3. Obtém informações estatísticas sobre o status de cada um dos OSi. Isso permite que o OSG infira qual OSR é mais capaz de servir a solicitação de conteúdo para OSj.
Assim, o OSG conhece a localização de cada parte do conteúdo em cada OB.
Quando um OSi em uma OBi buscar por uma parte do conteúdo, ele obtém uma lista ordenada de 0B{i( da qual ele pode solicitar o conteúdo.
Vantagens da invenção:
As vantagens principais dessa invenção são: - Permite que as OBs em domínios administrativos distintos se unam para formar uma rede CDN global contínua. - Desune a identificação de conteúdo e encaminha da DNS aos Servidores de origem em diferentes OBs. O roteamento de conteúdo feito no OS da OB de serviço é no nivel de transporte. - Evita a complexidade da troca de tráfego do conteúdo entre CDNs. Faz isso ao utilizar um servidor de origem global OSG que tem a visão global de todos os conteúdos que estão nos servidores de origem em todas as OBs. - Os pontos terminais, ao solicitar o conteúdo, conectam-se a uma rede se servidores de origem de sobreposição. Na realidade, eles recebem o conteúdo somente do servidor de origem local da OB. Assim, os pontos terminais não precisam conhecer ou resolver endereços de outras OBs. - O método garante baixa sobrecarga de comunicação na rede de OSs ao passar somente as atualizações entre o OS individual e 0SG, ao invés de enviar toda a lista de acumuladores de dados toda vez.
Um técnico no assunto poderia introduzir alterações e modificações nas realizações descritas sem se desviar do escopo da invenção, conforme é definido nas reivindicações anexas. ACRÔNIMOS E ABREVIAÇÕES ADSL LINHA DE ASSINANTE DIGITAL ASSIMÉTRICA CDN REDE DE DISTRIBUIÇÃO DE CONTEÚDO DNS SERVIÇO DE NOME DE DOMÍNIO POP PONTO DE PRESENÇA TLD DOMÍNIO DE NÍVEL SUPERIOR FTP PROTOCOLO DE TRANSFERÊNCIA DE ARQUIVO HTTP PROTOCOLO DE TRANSFERÊNCIA DE HIPERTEXTO MD5 ALGORITMO DE SINOPSE DE MENSAGEM 5 URL LOCALIZADOR DE RECURSO UNIFORME ISP PROVEDOR DE SERVIÇO DE INTERNET TTL TEMPO DE VIDA OB OCUPAÇÃO EM OPERAÇÃO CDI INTERLIGAÇÃO DE REDES DE DISTRIBUIÇÃO DE CONTEÚDO TCP PROTOCOLO DE CONTROLE DE TRANSPORTE
REFERÊNCIAS [1] Domain Name System definition, http: //en.wikipedia.org/wiki/Domain__Name_System [2] Akamai, http://www.akamai.com [3] Limelight Networks, http://www.limelightnetworks.com/ [4] Amazon Cloudfront, http://aws.amazon.com/cloudfront/ [5] Edgecast, http://www.edgecast.com/ [6] Highwinds Network Group, http://www.highwinds.com/ [7] A. Biliris, C. Cranor, F. Douglis, M. Rabinovich, S. Sibal, 0. Spatscheck, and W. Sturm, "CDN Brokering", Proceedings of the 6th International Workshop on Web Caching and Content Distribution, Boston, MA, June 2001. [8] M. Day, B. Cain, G. Tomlinson and P. Rzewski, A Model for Content Internetworking (CDI), Internet Engineering Task Force RFC 3466, February 2003. www.ietf.org/rfc/rfc3466.txt [9] A. Barbir, B. Cain, F. Douglis, M. Green, M. Hofmann, R. Nair, D. Potter and 0. Spatscheck, Known Content Network (CN) Request-Routing Mechanisms, May 2002. www.ietf.org/rfc/rfc3568.txt [10] P. Rzewski, M. Day and D. Gilletti, Content Internetworking (CDI) Scenarios, RFC 3570, July 2003. www.ietf.org/rfc/rfc3570.txt

Claims (17)

1. SISTEMA PARA INTERLIGAÇÃO DE REDES DE DISTRIBUIÇÃO DE CONTEÚDO, compreendendo: - uma pluralidade de Redes de Distribuição de Conteúdo, CDN, cada uma definindo uma ocupação em operação (OBi) tendo seu respectivo servidor de origem local (OSi), a dita ocupação em operação definida (OBi) sendo uma área geográfica arbitrária; e - meios de computação para realizar a interconexão da dita pluralidade de CDNs, caracterizado por: - os ditos meios de computação compreenderem um servidor de origem global, (OSG), configurado para coordenar a formação de uma rede global pela conexão a algum ou todos os servidores de origem locais (OSi) em cada uma das ditas ocupações em operação (OBi)s; e - o dito servidor de origem global (OSG), ser configurado para manter metadados dos acumuladores de dados que estão em cada um do dito servidor de origem local (OSi), na pluralidade de CDNs, os ditos acumuladores de dados sendo receptáculos lógicos que retém conteúdo de CDN, no caso de um conteúdo solicitado não estar no dito servidor de origem local (OSi), a localização do dito conteúdo solicitado é determinada a partir do dito servidor de origem global (OSG), e em que o sistema é adaptado e configurado para implementar o método conforme definido na reivindicação 15.
2. SISTEMA, de acordo com a reivindicação 1, caracterizado pelo dito servidor de origem global (OSG) ser conectado a cada um dos ditos servidores de origem locais (OSi) em cada uma das ditas ocupações em operação (OBi) ao manter uma conexão de TCP aberta com cada um dos ditos servidores de origem locais (OSi).
3. SISTEMA, de acordo com qualquer uma das reivindicações 1 ou 2, caracterizado por compreender um único servidor de domínio de nível superior, TLD, servidor comum a todas as ocupações em operação (OBs).
4. SISTEMA, de acordo com a reivindicação 3, caracterizado pelo dito servidor de TLD ser implantado em uma das ditas ocupações em operação (OB0).
5. SISTEMA, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo dito servidor de origem global (OSG) ser implantado em uma das ditas ocupações em operação (OB0).
6. SISTEMA, de acordo com qualquer uma das reivindicações 1 a 5, caracterizado pelo dito servidor de origem global (OSG) ser responsável pelo retorno de uma lista de endereços de IP de um ou mais servidores de origem locais (OS{f}) que têm o conteúdo específico solicitado pelo servidor de origem local, OSi.
7. SISTEMA, de acordo com a reivindicação 6, caracterizado pelo dito servidor de origem local (OSi) de solicitação se conectar a um dos servidores de origem locais da lista de servidores de origem (OS{f}), e baixar o conteúdo solicitado.
8. SISTEMA, de acordo com qualquer uma das reivindicações 1 a 7, caracterizado pelo dito servidor de origem global (OSG) compreender um módulo de conexão tendo um gerenciador de conexão que é responsável por manter uma conexão de TCP aberta com cada um dos servidores de origem locais (OSi) em cada uma das ditas ocupações em operação (OBi).
9. SISTEMA, de acordo com a reivindicação 8 quando dependendo da reivindicação 6, caracterizado pelo dito módulo de conexão do dito servidor de origem global (OSG) ser responsável por processar uma mensagem recebida de um servidor de origem local (OSi) que solicita um conteúdo específico, e retornar, em resposta ao mesmo servidor de origem local (OSi), uma mensagem que inclui uma lista de endereços de IP de um ou mais servidores de origem (OS{j}) que têm o conteúdo solicitado.
10. SISTEMA, de acordo com a reivindicação 9, caracterizado por o dito servidor de origem global (OSG) compreender um módulo de acumulador de dados tendo um gerenciador de acumulador de dados que obtém uma lista de todos os acumuladores de dados e arquivos nos acumuladores de dados de cada um dos servidores de origem locais (OSi) e é responsável por identificar a lista de servidores de origem locais (OS{j}) que tem o conteúdo solicitado.
11. SISTEMA, de acordo com a reivindicação 10, caracterizado pelo dito servidor de origem global (OSG) compreender um módulo de proximidade tendo um gerenciador de proximidade com informações sobre cada um dos servidores de origem locais (OSi) em cada uma das ditas ocupações em operação (OBi) que também processam informações estatísticas recebidas de cada um dos servidores de origem e, primeiro, identifica a lista de servidores de origem locais (OS{j}) que podem servir o conteúdo solicitado, e cria e retorna uma lista ordenada do servidor de origem menos carregado para o mais carregado, do dito um ou mais servidores de origem locais (OS{j}) que podem servir o conteúdo solicitado.
12. SISTEMA, de acordo com qualquer uma das reivindicações 1 a 11, caracterizado por cada um dos ditos servidores de origem locais (OSi) em cada uma das ditas ocupações em operação (OBi) compreender um módulo de conexão com um gerenciador de conexão que gerencia a conexão entre os servidores de origem locais (OSi) em cada uma das ditas ocupações em operação (OBi) e o servidor de origem global (OSG), para enviar e receber mensagens, para processar as mensagens recebidas e para re-estabelecer uma dita conexão no caso de estar fechado.
13. SISTEMA, de acordo com a reivindicação 12, caracterizado por cada um dos ditos servidores de origem locais (OSi) em cada uma das ditas ocupações em operação (OBi) compreender um módulo de estatística que mantém a estatística de nível de sistema entre dois períodos de relato.
14. SISTEMA, de acordo com qualquer uma das reivindicações 12 ou 13, caracterizado por cada um dos ditos servidores de origem locais (OSi) em cada uma das ditas ocupações em operação (OBi) compreender um módulo de acumulador de dados com um gerenciador de acumulador de dados que mantém uma lista de todos os acumuladores de dados e arquivos em cada um dos acumuladores de dados e envia quaisquer atualizações de acumulador de dados entre dois períodos de relato ao servidor de origem global (OSG).
15. MÉTODO PARA INTERLIGAÇÃO DE REDES DE DISTRIBUIÇÃO DE CONTEÚDO, caracterizado por compreender a realização da interconexão de uma pluralidade de Redes de Liberação de Conteúdo, CDNs, cada uma definindo um ocupação em operação (OBi) tendo seu próprio servidor de origem local (OSi), a dita ocupação em operação definida (OBi) sendo uma área geográfica arbitrária, em que o método compreende, a fim de realizar a dita interconexão: - utilização de um servidor de origem global (OSG) para coordenar a formação de uma rede global ao conectar o dito servidor de origem global (OSG) a algum ou todos os ditos servidores de origem locais (OSi) em cada uma das ditas ocupações em operação (OBi); - manutenção no dito servidor de origem global (OSG) de metadados dos acumuladores de dados que estão em cada servidor de origem local (OSi) na pluralidade de CDNs os ditos acumuladores de dados sendo receptáculos lógicos que detém conteúdo de CDN; e- no caso de um conteúdo solicitado não estar no dito servidor de origem local (OSi), uma solicitação ao dito servidor de origem global (OSG) é feita para recuperar o dito conteúdo, em que o método compreende ainda: - um usuário final solicitando um conteúdo específico de um ponto terminal em uma das ditas ocupações em operação (OBi); - o dito ponto terminal recebendo a dita solicitação de conteúdo do dito usuário final; - o dito ponto terminal na dita ocupação em operação (OBi) enviando a solicitação de conteúdo ao servidor de origem local (OSi) na dita ocupação em operação (OBi); - o servidor de origem local (OSi) recebendo a dita solicitação de conteúdo do dito ponto terminal na dita ocupação em operação (OBi); - o dito servidor de origem local (OSi), verificando se tem o conteúdo solicitado, e se não tiver, enviar a solicitação de conteúdo ao dito servidor de origem global (OSG); - o servidor de origem global (OSG) identificando um ou mais servidores de origem locais (OS{f}) que têm o conteúdo solicitado de acordo com os metadados dos acumuladores de dados mantidos no servidor de origem global e criando uma lista ordenada com seus endereços de IP começando com o servidor de origem menos carregado e enviando a dita lista de servidores de origem (OS{j}) ao servidor de origem local (OSi) que solicitou o conteúdo; - o servidor de origem local (OSi) que não tiver o conteúdo solicitado, selecionando da dita lista: - se somente um endereço de servidor de origem local (OS{f}) estiver na lista, o endereço do dito um servidor de origem local (OSj); ou - se mais de um endereço de servidor de origem local (OS{j}) estiver na lista, o endereço do servidor de origem menos carregado local (OSj), - o servidor de origem local (OSi) que não tem o conteúdo solicitado conectando-se ao servidor de origem local selecionado (OSj) e baixando o conteúdo solicitado; - o servidor de origem local (OSi) que baixou o conteúdo solicitado, encaminhando o conteúdo baixado ao ponto terminal de solicitação; e - o ponto terminal enviando o conteúdo ao usuário final da solicitação.
16. MÉTODO, de acordo com de acordo com a reivindicação 15, caracterizado por compreender um servidor de origem local (OSi) que vem online: - o dito servidor de origem local (OSi) estabelecendo uma conexão de TCP com o dito servidor de origem global (OSG); - o servidor de origem global (OSG) enviando ao servidor de origem local (OSi), por meio da dita conexão de TCP, uma informação de solicitação de mensagem sobre seus acumuladores de dados; e - o servidor de origem local (OSi), enviando ao servidor de origem global (OSG) as ditas informações necessárias na forma de uma lista de todos os acumuladores de dados e arquivos em cada um dos acumuladores de dados no servidor de origem local (OSi).
17. MÉTODO, de acordo com a reivindicação 15, caracterizado por compreender o dito servidor de origem global (OSG) comunicando-se periodicamente com cada um dos servidores de origem locais (OSi), para: - obter uma lista de acumuladores de dados e arquivos nos acumuladores de dados de cada um dos servidores de origem locais (OSi); - obter atualizações para qualquer um dos arquivos e acumuladores de dados em cada um dos servidores de origem locais (OSi); e - obter informações estatísticas sobre o status de cada um dos servidores de origem locais (OSi).
BR112013016659-2A 2011-05-12 2012-05-07 Sistema e método para interligação de redes de distribuição de conteúdo BR112013016659B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
ESP201130756 2011-05-12
ES201130756A ES2408131B1 (es) 2011-05-12 2011-05-12 Sistema y método para interconexión de redes de distribución de contenido
PCT/EP2012/058350 WO2012152743A1 (en) 2011-05-12 2012-05-07 System and method for content distribution internetworking

Publications (2)

Publication Number Publication Date
BR112013016659A2 BR112013016659A2 (pt) 2019-09-03
BR112013016659B1 true BR112013016659B1 (pt) 2022-08-09

Family

ID=46640644

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112013016659-2A BR112013016659B1 (pt) 2011-05-12 2012-05-07 Sistema e método para interligação de redes de distribuição de conteúdo

Country Status (6)

Country Link
US (1) US20140052822A1 (pt)
EP (1) EP2708011B1 (pt)
AR (1) AR086337A1 (pt)
BR (1) BR112013016659B1 (pt)
ES (2) ES2408131B1 (pt)
WO (1) WO2012152743A1 (pt)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3004609A1 (fr) * 2013-04-10 2014-10-17 France Telecom Architecture centralisee pour l'etablissement de federations de distributeurs de contenus
US10708226B2 (en) * 2016-01-29 2020-07-07 Verisign, Inc. Domain name resolution
US10375159B2 (en) * 2016-04-28 2019-08-06 Fastly, Inc. Load balancing origin server requests

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5913921A (en) * 1996-07-12 1999-06-22 Glenayre Electronics, Inc. System for communicating information about nodes configuration by generating advertisements having era values for identifying time reference for which the configuration is operative
US6405219B2 (en) * 1999-06-22 2002-06-11 F5 Networks, Inc. Method and system for automatically updating the version of a set of files stored on content servers
CN1813251A (zh) * 2004-03-22 2006-08-02 网飞亚技术公司 基于流的内容分发网络系统、以及用于分割、合并和检索文件的方法
KR100654447B1 (ko) * 2004-12-15 2006-12-06 삼성전자주식회사 지역별로 존재하는 컨텐츠를 글로벌로 공유하고 거래하는방법 및 시스템
US8938765B2 (en) * 2006-12-22 2015-01-20 Time Warner Cable Enterprises Llc Methods, apparatus and user interface for providing content on demand
US20110078327A1 (en) * 2009-09-30 2011-03-31 Prime Networks (Hong Kong) Limited Content delivery utilizing multiple content delivery networks
US8589996B2 (en) * 2011-03-16 2013-11-19 Azuki Systems, Inc. Method and system for federated over-the-top content delivery

Also Published As

Publication number Publication date
ES2408131B1 (es) 2014-06-05
ES2408131A2 (es) 2013-06-18
US20140052822A1 (en) 2014-02-20
EP2708011A1 (en) 2014-03-19
ES2770652T3 (es) 2020-07-02
WO2012152743A1 (en) 2012-11-15
BR112013016659A2 (pt) 2019-09-03
EP2708011B1 (en) 2019-11-13
ES2408131R1 (es) 2013-08-05
WO2012152743A9 (en) 2013-01-03
AR086337A1 (es) 2013-12-04

Similar Documents

Publication Publication Date Title
ES2550674T3 (es) Método para la resolución de DNS de peticiones de contenido en un servicio CDN
Zhao et al. Tapestry: A resilient global-scale overlay for service deployment
Freedman et al. Democratizing content publication with coral.
ES2425627B1 (es) Método y rastreador para distribución de contenido a través de una red de distribución de contenido
Dai et al. A two-layer intra-domain routing scheme for named data networking
EP1236329A1 (en) Optimal request routing by exploiting packet routers topology information
US8244867B2 (en) System and method for the location of caches
ES2410654B1 (es) Sistema y método para gestionar la infraestructura de un servicio de red de distribución de contenido en una red isp
BR112013016659B1 (pt) Sistema e método para interligação de redes de distribuição de conteúdo
El-Ansary et al. An overview of structured overlay networks
Setia Distributed Hash Tables (DHTs) Tapestry & Pastry
Sacha et al. A service-oriented peer-to-peer architecture for a digital ecosystem
Kung et al. Hierarchical peer-to-peer networks
Tiendrebeogo et al. Virtual connections in p2p overlays with dht-based name to address resolution
Yoshikawa et al. Distributed hash queues: Architecture and design
Risson et al. A dependable global location service using rendezvous on hierarchic distributed hash tables
Castro et al. Zero servers with zero broadcasts
Cojocar BBUFs: A new lookup mechanism based on IPV6
Seminar Tapestry: Scalable and Fault-tolerant Routing and Location
Dubouilh et al. Performance of WebRTC in the context of a decentralised storage solution
Huang et al. SIDMAP: A Service-oriented Mapping System for Loc/ID split Internet Naming.
Huang et al. SIDMAP: Novel DHT-based naming system for a scalable internet
Qiu et al. A new Content Distribution Network architecture-Plenty-Cast
Paul et al. Performance of WebRTC in the Context of a Decentralised Storage Solution
Cao A new Content Distribution Network architecture-PlentyCast

Legal Events

Date Code Title Description
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 07/05/2012, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO.