BRPI0511882B1 - download de dados concomitante otimizado dentro de um ambiente computacional de grade - Google Patents
download de dados concomitante otimizado dentro de um ambiente computacional de grade Download PDFInfo
- Publication number
- BRPI0511882B1 BRPI0511882B1 BRPI0511882A BRPI0511882A BRPI0511882B1 BR PI0511882 B1 BRPI0511882 B1 BR PI0511882B1 BR PI0511882 A BRPI0511882 A BR PI0511882A BR PI0511882 A BRPI0511882 A BR PI0511882A BR PI0511882 B1 BRPI0511882 B1 BR PI0511882B1
- Authority
- BR
- Brazil
- Prior art keywords
- download
- servers
- server
- data
- fact
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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/61—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 taking into account QoS or priority requirements
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Abstract
download de dados concomitante otimizado dentro de um ambiente computacional de grade. em um sistema computadorizado de grade que tem uma pluralidade de servidores de download em uma comunicação da rede com os computadores do cliente e em um sistema de gerenciamento de download, um cliente solicita um plano de download do sistema de gerenciamento de download para baixar dados em paralelo a partir da pluralidade de servidores de download para um cliente. o cliente solicita partes dos dados dos servidores de download identificados pelo plano de download. o cliente monitora o desempenho dos servidores de download que baixa as partes e atribui novamente as parcelas das partes entre os servidores de download a fim de melhorar o desempenho de completar o download das partes. uma parte dos dados de download é uma pluralidade de arquivos, um arquivo ou uma parcela do arquivo de dados.
Description
Relatório Descritivo da Patente de Invenção para: DOWNLOAD DE DADOS CONCOMITANTE OTIMIZADO DENTRO DE UM AMBIENTE COMPUTACIONAL DE GRADE.
Campo Técnico
A presente invenção está relacionada à manipulação de dados computacionais. É mais especificamente relacionada ao download de dados em um ambiente computacional de grade. Técnica Anterior
Computação de grade é a virtualização de recursos computacionais distribuídos, tal como potência de processamento, banda larga de redes e capacidade de armazenamento para criar uma única imagem de sistema, concessão a usuários e aplicações sem costura de acesso às vastas capacidades de IT. Uma fonte para obter mais informações sobre computação de grade é encontrada em The Physiology of the Grid - an Open Grade Services Architecture for Distributed Systems Integration, de Foster, Kesselman, Nick e Tuecke, publicado na Internet em: www. globus . oxg/^esearch/papers/ogsa . pdf , que está incorporado neste documento por referência.
___ Um— -documento - Grade— -eoiiipuring~ 'Distributíon using network processors, de Llevist e Bengsson, Chalmers University of Technology discute computação de grade. O documento foca uma proposta de um novo modelo de computação
que distribui tanto o código quanto os dados para os nós da rede (grade) , os roteadores da rede determinarão quais nós devem ser selecionados para executar o código baseado no conhecimento coletado pelos roteadores.
Em um documento de patente Multi-Server File
Download'1 - US 6,339,785 B1 (Feigenbaum) , quando a velocidade de download de um servidor cai abaixo da taxa pré-definida esperada, Feigenbaum remove o servidor. Quando um servidor concluí sua porção de bloco de dados, Feigenbaum não a usa mais caso não seja necessário (se todos os outros servidores estão acima de uma taxa esperada pré-definida) . Significativamente na patente de Feigenbaum, existem situações em que dois servidores são classificados lOk / s. Então, o download começa com dois blocos idênticos. O primeiro servidor faz 10 k / s, de forma que ele cumpre com a velocidade esperada. O segundo servidor faz 1000 k / s (porque a rede é dinâmica) e termina o seu bloco imediatamente. Feigenbaum manterá o primeiro bloco a lOk / s até terminar ... (SE O DESEMPENHO DO SERVIDOR CAI ABAIXO DE UM NÍVEL PRÉ-DEFINIDO, O LINK IS _ DESCONTINUDADOf )^_ Não existe jum_método para reatribuir o bloco de 10 k / s ao servidor de lOOOk /se seguimos com esse processo.
•ha
Existe a necessidade de download inteligente de dados de servidores em uma rede de grade.
Divulgação de Invenção
A presente invenção fornece um método como definido nas reivindicações 1 e 14 e os correspondentes programas de computador e sistemas.
Computação de grade é a virtualização de recursos computacionais distribuídos, tal como potência de processamento, banda larga de redes e capacidade de armazenamento para criar uma única imagem de sistema, concessão a usuários e aplicações sem costura de acesso às vastas capacidades de IT. Nesta descrição, descrevemos um serviço de download dentro de um ambiente computacional de grade.
Ao invés de usar modelos tradicionais / cliente servidor ou ponto a ponto, esta invenção utiliza o modelo de provedores de serviços, os consumidores e os corretores. O corretor tem a responsabilidade de fornecer o roteiro do serviço, assegurando as aplicações e registros de manutenção. O consumidor pode entrar em contato com os provedores de serviços e receber serviços deles apenas após a obtenção das autorizações e credenciais necessárias do corretor. Além disso, o corretor pode direcionar o consumidor a receber serviços de múltiplos provedores de
serviços concomitantemente. No contexto da grade de download, o corretor é implementado como um serviço de gerenciamento, os. produtores- de - serviço _são“ implementados como servidores de download e os consumidores são implementados como agentes clientes.
Os agentes iniciam e processam os downloads de arquivo em nome de usuários finais. Este modelo pode uma variedade de aplicações de grade.
A invenção fornece um alto serviço de download de saída enquanto gerencia, de de recursos e controla o acesso aos bens distribuídos.
Preferencialmente, a invenção fornece várias seqüências de dados concorrentes para suportar a transferência dos dados paralelos (download) a partir de vários servidores com base em um plano otimizado. A otimização é preferencialmente baseada em: 1) ponto de acesso à rede do nó que solicita o serviço (ou cliente); 2) a topologia dos servidores; 3) o tráfego da rede no momento da solicitação do serviço; e 4) o contrato de nível de serviço para um cliente.
Preferencialmente, a invenção usa um proxy X.509 para encapsulamento tanto da credencial quanto do plano otimizado.
De preferência, sabendo o limite máximo permitido de largura de banda para o cliente, calcular o número inicial de servidores que servem o cliente. O número de servidores é ajustável para alcançar o máximo de desempenho do processo de replicação.
De preferência, onde conhecimento prévio da banda máxima permitida para o cliente não estiver disponível, o número inicial de servidores terá início a partir de um e o sistema ajustará para encontrar o número de servidores para atingir a velocidade máxima de replicação.
Preferencialmente, a invenção fornece feedback do processo de replicação para permitir uma melhor qualidade do plano de otimização.
Preferencialmente, a invenção usa o sistema de feedback e a infra-estrutura de computação de grade, para desativar serviços da rede e reativar sob demanda.
Preferencialmente, a invenção, para uma determinada porção de dados (ou arquivo) , com base na distribuição de pontos de acesso do serviço solicitado, otimiza a distribuição dos servidores ao longo da topologia da rede para reduzir o . trafego de área amplã de tráfego ou otimizar outros critérios.
Breve Descrição dos Desenhos
O assunto que é considerado como a invenção é particularmente salientado e distintamente reivindicado nas reivindicações com a conclusão do relatório descritivo. Os precedentes e outros objetos, recursos e vantagens da invenção são visíveis a partir da seguinte descrição detalhada tomadas em conjunto com os desenhos anexos em que:
A figura 1 é uma imagem de componentes de um sistema de computador.
A figura 2 é uma | imagem de uma rede cliente / | Servidor | |||||
da técnica anterior. | |||||||
A figura 3 é uma imagem | de | uma | rede | de | grade | da | |
técnica anterior. | |||||||
A figura 4 é um | diagrama | de | arquitetura | de | grade | de |
download de nível elevado exemplificativo.
A figura 5 é um fluxograma exemplificativo de um processo que controla o número de sessões de download concorrentes.
A figura 6A a é um fluxograma exemplificativo de um processo de reajustes de download.
A figura 6B é uma imagem gráfica exemplificativa de um processo de reatribuição de blocos.
A figura 7 é um fluxograma para fornecer conteúdo de um sistema de download de grade, de acordo com a invenção.
A figura 8 é um fluxograma de download de conteúdo de um sistema de download de grade, de acordo com a invenção.
A figura 9 é um fluxograma para iniciar um download de grade, de acordo com a invenção.
A descrição detalhada explica as concretizações preferidas da invenção, juntamente com vantagens e recursos, a título de exemplo, com referência aos desenhos. Melhor Modo para a Realização da Invenção
Preferencialmente, a presente invenção fornece um serviço de download dentro de um ambiente computacional de grade. Ao invés de usar modelos tradicionais / cliente servidor ou ponto a ponto. A concretização preferida utiliza o modelo de provedores de serviços, consumidores e corretores. O corretor tem a responsabilidade de prover o roteiro do serviço, assegurando as aplicações e registros de manutenção. O consumidor pode entrar em contato com os provedores de serviços e receber serviços dos mesmos apenas após a obtenção da autorização e credenciais necessárias do corretor. Além disso, o corretor pode direcionar o consumidor a receber serviços de múltiplos provedores de serviços concomitantemente. No contexto de grade de download, o corretor é implementado como um serviço de gerenciamento, os produtores de serviço são implementados como servidores de download e os consumidores são
implementados como agentes clientes. Os agentes iniciam e processam os downloads de arquivo em nome dos usuários finais. Este modelo pode ser aplicado a uma variedade de aplicações de grade.
A grade de download deve ser escalonável, confiável, segura, flexível e eficiente:
Escalabilidade: A presente invenção deve utilizar qualquer conjunto de recursos que pertence a uma rede, A grade de download usa um conjunto de servidores de download dinâmico. Portanto, a presente invenção é escalonável.
Confiabilidade: Ao invés de confiar em um único servidor, a grade de download tem muitos servidores. Uma falha de um servidor individual não desativará o serviço de download. Portanto, a presente invenção é confiável.
Segurança: A presente invenção usa uma infra-estrutura de chave privada (PKI) e certificados X.509 como a infraestrutura de segurança. Por isso, é segura.
Adaptabilidade: A grade de download pode dinamicamente alocar porções de um arquivo para ser descarregado a partir de vários servidores simultaneamente. A presente invenção é adaptável na medida _ em _ que _a _ atribuição.- baseia-se no desempenho percebido de cada servidor particular.
Eficiência: O serviço de gerenciamento que controla subconjunto dos recursos pode ser utilizado para um
determinado download. Este realiza esta seleção, com o objetivo de minimizar o uso da rede global de recursos (uso da largura de banda) . Portanto, a presente invenção é eficiente.
Preferencialmente, a invenção fornece um alto serviço de download de saída de programa, enquanto gerencia, de
modo eficiente, os | recursos de | rede e controla o acesso aos | |
bens distribuídos. | |||
A figura 1 | ilustra | uma estação de | trabalho |
10 representante ou | sistema de | hardware servidor | em que a |
presente invenção pode ser praticada. O sistema 100 da figura 1 inclui um sistema de computador representativo 101, tal como um computador pessoal, uma estação de trabalho ou um servidor, incluindo dispositivos periféricos 15 opcionais. A estação de trabalho 101 inclui um ou mais processadores 106 e um barramento empregado para se conectar e permitir a comunicação entre o processador (s) 106 e os outros componentes do sistema 101, de acordo com as técnicas conhecidas. O barramento liga o processador 106 20 à memória 105 e ao armazenamento de longo prazo 107, que pode incluir um disco rígido, um disquete ou fita de gravação, por exemplo. O sistema 101 pode também incluir um adaptador de interface de usuário, que conecta o microprocessador 106 através do barramento a um ou mais
dispositivos de interface, tais como um teclado 104, mouse 103, uma impressora / scanner 110 e / ou outros dispositivos de interface, que podem ser quaisquer dispositivos de interface de usuário., tal como uma tela sensível ao toque, almofada de entrada digitalizada etc. O barramento também conecta um dispositivo de vídeo 102, por exemplo, uma tela de LCD ou monitor, ao microprocessador 106 através de um adaptador de exibição.
O sistema 101 pode se comunicar com outros computadores ou redes de computadores através de um adaptador de rede capaz de se comunicar com uma rede 109. Adaptadores de rede exemplif i cativos são canais de
comunicação, token | ring, | Ethernet | ou | modems. |
Alternativamente, a | estação | de trabalho | 101 | pode se |
comunicar usando uma | interface | sem fio, tal | como | uma placa |
de CDPD (dados de pacotes digitais celulares). A estação de trabalho 101 pode ser associada a tais outros computadores em uma rede de área local (LAN) ou uma rede de área ampla (WAN) , ou a estação de trabalho 101 pode ser um cliente em um arranjo cliente / servidor com outro computador, etc Todas estas configurações, bem como o software e hardware de comunicação adequada são conhecidos na técnica.
A figura 2 ilustra a rede de processamento de dados 200 na qual a presente invenção pode ser praticada. A rede de processamento de dados 200 poderá incluir uma pluralidade de redes individuais, tal como uma rede sem fio e uma rede cabeada, cada uma dos quais poderá incluir uma pluralidade de estações de trabalho individuais 101. Além disso, como aqueles versados na técnica apreciarão, uma ou mais LANs podem ser incluídas, onde uma LAN podem incluir uma pluralidade de estações de trabalho inteligentes acopladas a um processador hospedeiro.
Ainda referindo-se à figura 2, as redes podem incluir igualmente computadores mainframe ou servidores, tal como um computador gateway (servidor cliente 206) ou servidor de aplicativos (servidor remoto 208 que pode acessar um repositório de dados). Um computador gateway 206 serve como um ponto de entrada em cada rede 207. Um gateway é necessário quando da conexão de um protocolo de rede para outro. O gateway 206 pode ser preferencialmente acoplado a uma outra rede (a Internet 207, por exemplo) , através de um link comunicações. O gateway 206 podem também ser diretamente acoplado a uma ou mais estações de trabalho 101 usando um link de comunicações. 0 computador gateway pode ser implementado utilizando um servidor IBM eServer zServer 900 disponível da IBM.
O código de programação do software, que concretiza a presente invenção geralmente é acessado pelo processador
106 do sistema 101 a partir da mídia de armazenamento de longo prazo 107, tal como uma unidade de CD-ROM ou disco rígido. O código de programação do software pode ser incorporado em qualquer um de uma variedade de meios conhecidos para uso com um sistema de processamento de dados, como um disquete, disco rígido ou CD-ROM. O código pode ser distribuído em tais meios, ou pode ser distribuído aos usuários da memória ou armazenamento de um sistema de computador através de uma rede para outros sistemas de 10 computador para uso pelos usuários de outros sistemas.
Alternativamente, o código de programação 111 pode ser incorporado na memória 105, e acessado pelo processador 106 usando o barramento do processador. Tal código de programação inclui um sistema operacional que controla a 15 função e interação dos diferentes componentes dos computadores e um ou mais programas aplicativos. O código do programa é normalmente paginado da mídia de armazenamento denso 107 para a memória de alta velocidade 105, onde está disponível para o processamento pelo 20 processador 106. As técnicas e métodos para incorporação do código de programação do _ software na memória^ _na_ mídia física, e/ou código de software de distribuição via redes são bem conhecidos e não serão mais discutidos aqui.
Na concretização preferida, a presente invenção é implementada como um ou mais programas de computador 111. A implementação do software da presente invenção pode operar em uma estação de trabalho do usuário, como um ou mais módulos ou aplicativos 111 (também referenciados como subrotinas de código, ou objetos” na programação orientada a objeto), que são invocadas mediante solicitação. Alternativamente, o software pode operar em um servidor em uma rede, ou em qualquer dispositivo capaz de executar o código de programa em implementação na presente invenção. A lógica de aplicação desta invenção pode ser integrada dentro do código de um programa aplicativo, ou pode ser implementada como um ou mais módulos utilitários separados, que são invocados por esse aplicativo, sem desviar dos conceitos inventivos divulgados aqui. O aplicativo 111 pode estar executando em um ambiente web, onde um servidor da Web fornece serviços em resposta a solicitações de um cliente conectado através da Internet. Em outra concretização, o pedido pode ser executando em uma intranet corporativa ou extranet, ou em qualquer outro ambiente de rede_. As configurações para o ambiente incluem uma rede cliente / servidor, redes ponto a ponto (onde clientes interagem diretamente realizando simultaneamente função de cliente e servidor) , bem como um ambiente de múltiplas
camadas. Estes ambientes e configurações são bem conhecidos na técnica.
A figura 3 mostra uma representação de uma_ estrutura de grade da técnica anterior de servidores 301-312 se comunicando através de uma estrutura de rede 313. O servidor 309 está conectado com os servidores 310 e 311 por uma rede local. O servidor 308 prevê serviços de corretagem de grade. O corretor de grade é discutido em Grid Service Broker A Grid Scheduler for a computational and data grids” , em www. gradebus. org/broker e em A Grid Services for scheduling Distributed Data-oriented appellations on local grids”, em www.gradebus.org/Papers/g.PDF.
A figura 4 mostra a arquitetura de alto nível do sistema de grade de download. O serviço de gerenciamento 402, de preferência, contém quatro módulos e uma base de dados de repositório 406. Há um número de servidores representados por 408 e 409 no sistema de grade, que são registrados no centro de serviço de gerenciamento 402. Além disso, todos os arquivos permitidos para serem baixados são registrados no centro de gerenciamento. As funções dos quatro módulos são:
Optimizador 405 - determina o plano de download otimizado (que inclui uma lista de servidores otimizados) , e fornece este ao cliente;
Sistema de Registro 407 - fornece um registro de servidores e arquivos;
Sistema de retorno 403 - recolhe retornos dos clientes 401 sobre o estado dos servidores e desempenho; e
Sistema de estatísticas 404 - analisa a informação de uso do aplicativo a partir do sistema de retorno e fornece relatórios.
A figura 5 mostra um processo preferido que o cliente utiliza para determinar o número de sessões que usará para fazer download de um bloco em paralelo a partir de uma pluralidade de servidores de download. O primeiro cliente inicia uma sessão 501 com um dos servidores na lista otimizada. Ele irá monitorar continuamente a taxa de download para cada porção do bloco a partir do respectivo servidor. Ele irá analisar a taxa controlada a cada LOOP_TIMOUT segundos. No final do primeiro período LOOP_TEMEOUT 5 02, iniciará uma segunda sessão 5 03 com um dos servidores não utilizados na lista, quando o requisito de QoS (Qualidade de serviço) não for cumprido.
Em subseqüentes iterações, procederá da seguinte forma-:
Se (N = 2 505 ou N = 3 506) , tentará iniciar uma sessão (N + 1) com um outro servidor se a taxa de download máxima (max_download_rate) alcançada com o número atual de sessões é superior a um limite pré-definido (THRESHOLD_{N}).
Caso contrário, se N> 3, verificará os ganhos relativo e absoluto obtido desde a última adição e ato em conformidade. Se ¢5-0.7)..: MAX_RATE (N servidores) - MAX_RATE (NI servidores) > THRESHOLDJNC
Ou (MAX_RATE (N servidores) - MAX_RATE (N1 servidores) ) / MAX_RATE (NI servidores) > INC__FACTOR
Onde MAX_RATE (N servidores) é a taxa de download máxima alcançada com N sessões, MAX_RATE (N-l servidores), a taxa máxima alcançada com N1 servidores; THRESHOLD_INC e INC_FACTOR são limites absolutos e relativos pré-definidos, respectivamente.
Vai iniciar uma sessão (N + 1) com um outro servidor 509.
O limite inicial THRESHOLD_N é uma adaptação para evitar demasiadas sessões com baixas taxas de download. Na implementação exemplificativa, os valores dos diferentes parâmetros são os seguintes:
THRESHOLD_2 = 40 k bytes / s
THRESHOLD_3 = 75 k bytes / s
1NC_FACTOR = 20%
THRESHOLDJNC 30 k bytes / S
LOOP_TIMEOUT = 0,150 segundo
Uma série de variações deste regime são possíveis. Por exemplo, um pacote composto por dois arquivos deve ser descarregado a partir dos servidores para um cliente, cada servidor tendo ambos os arquivos. O download de porções de um arquivo são iniciadas a partir de um primeiro grupo de servidores e porções de um segundo arquivo são iniciadas a partir de um segundo grupo. Quando um servidor do primeiro grupo concluiu a transferência de sua porção, o cliente pode optar por iniciar um download de uma porção de um arquivo ou o segundo arquivo no servidor.
Por outro exemplo, em vez de aleatoriamente selecionar os servidores a cada etapa, eles podem ser selecionados em uma ordem definida pelo serviço de gerenciamento. Do mesmo modo, em vez de começar com um único servidor, é possível iniciar vários servidores. Do mesmo modo, em vez de tratar os casos deN = 2eN = 3 diferentemente, é possível tratar mais ou menos N's diferentemente. Ainda outra variação seria fazer ENC_FACTOR dependente do próprio N. Estes são apenas exemplos, -de-possíveis ' variações desses esquemas, e não representam uma lista exaustiva. Outras variações conhecidas na técnica poderíam ser utilizadas no escopo desta invenção.
A figura 6A detalha os ajustes que ocorrem durante o download. Blocos são atribuídos a diferentes servidores quando um novo download é iniciadõ.’ Uttrdjiuco—é-^uma-parte-ouuma totalidade de um arquivo atribuído para ser descarregado a partir de um determinado servidor. No caso, a solicitação de download é para um grupo de vários arquivos, um bloco poderia corresponder um arquivo completo no grupo. Cada tamanho de bloco depende da velocidade do servidor atribuído listado no plano otimizado. Uma vez que a rede é dinâmica, alguns blocos são concluídos mais cedo do que o esperado. A figura 6A retrata o algoritmo de reatribuição de bloco.
Quando o servidor X completa seu bloco 601, o cliente irá verificar cada download ativo, e irá calcular o tempo restante esperado para cada um baseado no tamanho remanescente do bloco e a taxa de download atual. Ele irá, em seguida, selecionar o bloco que tem potencialmente o maior tempo para ser concluído, a partir de servidor Y (602) . O bloco selecionado é representado como 653 na figura 6B. Se o tamanho do bloco selecionado 653 é menor do que um limite pré-especificado (603), nenhuma outra ação será tomada. De outra forma (604), serão determinadas as taxas de download alcançadas dos servidores X e do servidor Y. Ele dividirá (etapa 605) o tamanho restante do bloco por um fator de ajuste que leva em conta a velocidade real do servidor X e do servidor Y e outros parâmetros, de modo a que ambos os downloads dos servidores X e Y serão feitos ao mesmo tempo.
X terminará o novo bloco 655 (begin_x ao mesmo tempo em que o servidor Y finaliza o bloco 654
Ele irá, do servidor X, enquanto o completa o download do bloco até 657.
Os parâmetros, com exceção da taxa, são também considerados para determinar o tamanho relativo dos blocos.
Estes parâmetros podem incluir fatores como tempo de estabelecimento de sessão os tamanhos de blocos restantes.
algoritmo de geração de blocos evitará a reatribuição de blocos muito pequenos quando ela não faz sentido.
Existem muitas variações sobre este algoritmo.
Esta é apenas uma implementação exemplificativa para ensinar a invenção.
- Em- uma eenc re t i z aç ao -7/r um prov.edor_____ de arquivo contacta um serviço com credenciais próprias 7 01, de gerenciamento adequado o provedor de arquivo caracteriza 702 um bloco de download de dados com determinados atributos 704, o provedor de arquivo envia 703 os certos atributos 704 ao sistema de gerenciamento e carrega 705 o bloco para um único servidor sobre a grade de download. Os atributos 704 incluem qualquer um de uma 5 prioridade, uma proximidade geográfica desejada para o arquivo ou uma restrição nos clientes para a concessão de permissão para fazer o download do arquivo. O provedor de arquivos gera uma chave de descriptografação, criptografa o arquivo e envia, de maneira segura, a chave de criptografia 10 para o serviço de gerenciamento.
O serviço de gerenciamento aceita download de dados do provedor de conteúdo (figura 9) 901, distribui 7 06 os dados de download em uma infra-estrutura, a infra-estrutura composta por uma pluralidade de servidores de download.
Quando o serviço de gerenciamento 902 recebe uma solicitação de um cliente para um plano de download para baixar os dados de download para o cliente (a solicitação especificando os requisitos de QoS, os requisitos de QoS incluem a especificação da taxa de download ou o tempo 20 desejado de conclusão do download) , este cria um plano de download 903, o plano de download incluindo uma lista de dois ou mais servidores de download tendo os dados de download e ainda incluindo informação de desempenho 905 de dois ou mais servidores de download e, em seguida, envia
904 o plano de download para o cliente. (O plano de download inclui uma lista otimizada de uma pluralidade de ^rvidores’_dê“'dõwnTõacT empregados “em “uma’ inf rã-êstrü tura de grade.
O cliente recebe (figura 8) 801 de uma solicitação de download de dados de um programa aplicativo. Ela então solicita 802 um plano de download do serviço de gerenciamento e, em seguida, contata os servidores de download especificados no plano de download e, em seguida, começa 803um download de um bloco de download de dados de download de cada um dos dois ou mais servidores de download contatados. O cliente monitora 805 806 desempenho de download dos servidores de download e ajusta 804 o número de blocos de download sendo baixados com base no desempenho do download de dois ou mais servidores de download. Em seguida, este reporta para o serviço de gerenciamento, o desempenho do download de dois ou mais servidores de download.
Quando o cliente termina o download 808, o serviço de gerenciamento recebe novas informações de desempenho de download 907 dos servidores a partir do cliente. Este atualiza 906 a informação de desempenho dos servidores de download baseados na nova informação de desempenho de download.
O serviço de gerenc iamento realiza dinamicamente atividades uploãd do como escolher o único servidor para receber o arquivo, ativar um servidor de dois ou mais servidores de download, desativar um servidor de dois ou mais servidores de download ou atualizar um servidor de dois ou mais servidores de download.
O serviço de gerenciamento cria o plano de download baseado em localização do cliente, informações de status e de uso dos servidores de download, requisitos de QoS, proximidade da rede dos servidores de download selecionados para o cliente, a proximidade geográfica dos servidores de download selecionados para o cliente, a largura banda adicional da rede de um servidor, o número atual de blocos de downloads suportados pelo servidor ou os downloads de blocos concomitantes máximos permitidos (onde a localização do agente cliente é determinada automaticamente, com base em qualquer um do endereço de rede do agente cliente ou através de informações fornecidas pelo agente cliente).
De preferência, o início de um download compreende as seguintes etapas:
A. Iniciar um download de uma primeira porção do bloco de download dos dados de download a partir de um primeiro servidor de dois ou mais servidores de download contatados;
Β. Salvar uma indicação de desempenho de download das porções de bloco de download;
C. Iniciar um download de uma nova porção de dados de download de um novo servidor de dois ou mais servidores de download contatados;
D. Monitorar o desempenho de download das porções de bloco de download.
E. Se o desempenho de download monitorado é maior do que a indicação de desempenho de download salva e o download do desempenho é menor do que um desempenho máximo pré-determinado e todos os dois ou mais servidores de download conectados não foram iniciados, repita as etapas b até a.
O cliente monitora o desempenho de download das porções de bloco de download dos dados de download de cada um dos servidores de download inicializados e reatribui uma sub-porção de uma porção de bloco de um primeiro servidor para um segundo servidor onde o tamanho da sub-porção reatribuído é qualquer um de proporcional ao desempenho de download alcançado dos dois ou mais servidores de download inrcia 1 ίzados·, proporCiohãl a “põrçãõ 'cTe ' bToco” que permanece sendo baixada pelo primeiro servidor ou sensivelmente metade da porção de bloco que continua a ser baixada pelo primeiro servidor. O cliente verifica a integridade do
arquivo no final do download e envia uma indicação da verificação de integridade para o serviço de gerenciamento.
O cliente registra informações do tamanho dos blocos baixados de cada servidor, o desempenho de download de cada servidor ou a identidade dos servidores que não responderam às solicitações, e envia as informações gravadas para o serviço de gerenciamento. Preferencialmente, um bloco tem uma lista de controle de acesso associada, e só os usuários finais especificados na lista de controle de acesso podem 10 fazer o download do arquivo. O bloco é armazenado e distribuído de forma criptografada. A descriptografação final do arquivo é realizada pelo agente cliente usando a chave que ela obtém de forma segura a partir do serviço de gerenciamento.
De preferência, o sistema de grade de download atual é implementado usando Serviços da web. A operação de download é executada com um protocolo proprietário entre o cliente e o servidor. O serviço de gerenciamento é executado usando JAVA da SUN MICROSYSTEMS. 0 repositório é uma base de dados relacionai.
Preferencialmente, o servidor de grade _ de download servidor é implementada em Java. O servidor usa o protocolo TCP / IP padrão e tem um algoritmo para aj ustar dinamicamente a taxa de transferência de arquivo.
De preferência, o cliente é implementado tanto como uma aplicação Java autônoma, bem como um applet Java baseado em navegador da Web.
Os mecanismos de segurança preferencialmente utiliza a implementação de infra-estrutura de segurança de grade Globus 2,2 (GSI) para controlar o acesso. GSI é descrito em Grid Security infrastructure em wwwunix.globusorg/security e na Overview of the Grid Security infrastructure em wwwunix.globusorg/security/overviewhtml. O serviço de gerenciamento tem um certificado emitido pelo centro de Autoridade de certificado (CA) da grade existente como discutido em GSI Key Concepts em: www-unix.globus.org/toolkit/docs / 3.2/gsi/key/index. html.
Cada servidor de download e cliente confia neste certificado. Os proxies X509 são usados para delegar a autoridade de serviço de gerenciamento para permitir e autenticação de clientes e download diretamente dos servidores de download. X.509 é descrito em ITU-T Recommendation X.509 version 3 (1997). Information Technology - Open Systems Interconnection - The directory Authentication Framework ISO / CEE 9594-8:1997.
Em uma implementação preferida de determinação do plano otimizado é calculado com base na distância / ' geográfica entre o cliente e os servidores de download candidatos. O endereço de IP do cliente e o endereço de IP dos servidores é utilizado como base para esta determinação, j untamente com uma tabela de mapeamento de endereços de IP para localizações geográficas. O plano otimizado é encapsulado dentro de um certificado de proxy X.509 no formato XML.
As capacidades da presente invenção podem ser implementada em software, firmware, hardware ou alguma combinação destes.
Como um exemplo, um ou vários aspectos da presente invenção podem ser incluído num artigo de fabricação (por exemplo, um ou mais produtos de programa de computador) , tendo, por exemplo, mídia utilizável por computador. A mídia tem embarcado na mesma, por exemplo, meio de código de programa legível por computador para proporcionar e facilitar as capacidades da presente invenção. O artigo de fabricação pode ser incluído como parte de um sistema de computador ou vendido separadamente.
Além disso, pelo menos um dispositivo de armazenamento de programa legível por uma máquina, concretizando, de forma tangível, pelo menos um programa de instruções executáveis pela máquina para realizar as capacidades da presente invenção pode ser provido.
Os diagramas de fluxo representados aqui são apenas alguns exemplos. Podem existir muitas variações para estes esquemas ou etapas (ou operações) neles descritas sem se afastar do escopo da invenção. Por exemplo, as etapas podem ser executadas em uma ordem diferente, ou etapas podem ser adicionadas, apagadas ou modificadas. Todas essas variações i
I
I são consideradas como uma parte da invenção reivindicada. |
Claims (20)
- REIVINDICAÇÕES1. Método em uma infraestrutura computacional em grade para o download otimizado de dados, o método caracterizado pelo fato de que compreende as etapas de:(a) obter um plano de download a partir de um serviço de gerenciamento, o plano de download compreendendo uma lista otimizada de uma pluralidade de servidores de download, que têm um dado de download desejado, a pluralidade de servidores de download dispostos em uma infraestrutura em grade;(b) contatar dois ou mais dos servidores de download especificados no plano de download;(c) atribuir partes dos dados de download aos respectivos servidores de download de dois ou mais servidores de download especificados no plano de download para baixar concomitantemente as respectivas partes de dados de download;(d) começar um download paralelo das partes de dados de download a partir dos servidores de download de dois ou mais servidores de download contatados, em que as partes são baixadas simultaneamente dos servidores de download;(e) monitorar o desempenho do download de dois ou mais servidores de download que estão baixando as partes;(f) durante o download paralelo das partes, ajustar o número de partes que estão sendo baixadas por um servidor de download com base no desempenho monitorado do download de dois ou mais servidores de download; e (g) relatar, ao serviço de gerenciamento, o desempenho monitorado do download de dois ou mais servidores de download.Petição 870180138937, de 08/10/2018, pág. 9/15
- 2/72. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que as etapas (a) até (g) são executadas por qualquer um de agente cliente, agente de serviço de gerenciamento ou agente servidor.
- 3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende a etapa de enviar um pedido de plano de download para o serviço de gerenciamento, o pedido especificando os requisitos de QoS.
- 4. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que os requisitos de QoS incluem a especificação de qualquer da taxa de download ou tempo de conclusão do download desejado.
- 5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o inicio de uma etapa de download compreende ainda as etapas: (a) começar um download de uma primeira parte dos dados de download de um primeiro servidor de dois ou mais servidores de download contatados; (b) salvar uma indicação de desempenho do download das partes do download que estão sendo baixadas atualmente; (c) então, começar um download de uma nova parte dos dados de download a partir de um novo servidor de dois ou mais servidores de download contatados; (d) então, monitorar o desempenho do download das partes do download que estão sendo baixadas atualmente; (e) então, se o desempenho monitorado do download for maior do que a indicação salva do desempenho do download e o desempenho do download monitorado é menor do que um desempenho máximo predeterminado e todos os dois ou mais servidores de download contatados não foram iniciados, repetir as etapas (b) a (e).Petição 870180138937, de 08/10/2018, pág. 10/153/7
- 6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda as etapas de: determinar uma a ser a primeira parcela baixada de uma primeira parte atualmente sendo baixada, a primeira parte sendo baixada a partir de um primeiro servidor de dois ou mais servidores de download inicializados; e iniciar um download paralelo da primeira parcela a ser baixada de uma primeira parte atualmente sendo baixada de um segundo servidor de dois ou mais servidores de download, enquanto partes são baixadas simultaneamente dos servidores de download.
- 7. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que o tamanho da primeira parcela a ser baixada de uma primeira parte que está sendo baixada atualmente é qualquer um dos seguintes:proporcional ao desempenho do download alcançado de os dois ou mais servidores de download inicializados, proporcional à primeira parcela ou substancialmente a metade da primeira parcela.
- 8. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda as etapas de: verificar a integridade dos dados de download no final do download; e enviar uma indicação da verificação de integridade para o serviço de gerenciamento.
- 9. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda as etapas de: gravar a informação de qualquer um dos seguintes: tamanho das partes baixadas de cada servidor, o desempenho do download de cada servidor ou a identidade dos servidores quePetição 870180138937, de 08/10/2018, pág. 11/154/7 não responderam aos pedidos; e enviar a informação gravada para o serviço de gerenciamento.
- 10. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que os dados de download têm uma lista de controle de acesso e somente os usuários finais especificados na lista de controle de acesso podem baixar os dados de download.
- 11. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que os dados de download são armazenados e distribuídos em forma criptografada de modo que a decriptação final do arquivo é executada pelo agente cliente que usa uma chave obtida seguramente a partir do serviço de gerenciamento.
- 12. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que uma parte é qualquer um de uma pluralidade de arquivos, um arquivo ou uma porção de um arquivo.
- 13. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende as etapas de: aceitar os dados de download de um provedor de conteúdo; distribuir os dados de download em uma infraestrutura, a infraestrutura compreendendo a pluralidade de servidores de download; receber um pedido de um cliente para o plano de download para baixar os dados de download para o cliente; criar um plano de download, o plano de download compreendendo a lista de dois ou mais servidores de download que têm os dados de download e ainda compreende a informação de desempenho de dois ou mais servidores de download; enviar o plano de download criado para o cliente; a seguir, receberPetição 870180138937, de 08/10/2018, pág. 12/15 a nova informação de desempenho do download de dois ou o mais usuários do download; e atualizar a informação de desempenho de dois ou mais servidores de download com base na nova informação de desempenho do download.
- 14. Método para enviar arquivos para um servidor, distribuir e controlar dados de download em uma infraestrutura em grade de download, o método caracterizado pelo fato de que compreende as etapas de: aceitar os dados de download de um provedor de conteúdo; distribuir os dados de download em uma infraestrutura, a infraestrutura compreendendo uma pluralidade de servidores de download; receber um pedido de um cliente para um plano de download para baixar os dados de download para o cliente; criar um plano de download, o plano de download compreendendo uma lista de dois ou mais servidores de download que têm os dados de download e ainda compreendendo a informação de desempenho de dois ou mais servidores de download; enviar o plano de download para o cliente; a seguir, receber a nova informação de desempenho do download de dois ou mais servidores de download a partir do cliente, a nova informação de desempenho do download indicando o desempenho do servidor de download de dois ou mais servidores de download alcançados pelo cliente ao executar um download de acordo com o plano de download; e a seguir, atualizar a informação de desempenho de dois ou mais servidores de download com base na nova informação de desempenho do download.
- 15. Método, de acordo com a reivindicação 14, caracterizado pelo fato de que a etapa de aceitar dados de download de um provedor de conteúdo compreende ainda asPetição 870180138937, de 08/10/2018, pág. 13/156/7 etapas de: um provedor de conteúdo contatar um serviço de gerenciamento com credenciais apropriadas; o provedor de conteúdo que caracteriza os dados de download com determinados atributos; o provedor de conteúdo que emite os determinados atributos para o sistema de gerenciamento; e o provedor de conteúdo que envia arquivos para o servidor dos
dados de download para um único servidor na grade de download. 16. Método, de acordo com a reivindicação 15, caracterizado pelo fato de que os determinados atributos incluem qualquer um de uma prioridade, uma proximidade geográfica desejada para os dados de download ou uma restrição em clientes para conceder permissão para download dos dados de download. - 17. Método, de acordo com a reivindicação 15, caracterizado pelo fato de que o serviço de gerenciamento executa dinamicamente qualquer um dentre: escolher o único servidor para receber os dados de envio de arquivos para servidor do download, ativar um servidor de dois ou mais servidores de download, desativar um servidor de dois ou mais servidores de download ou atualizar um servidor de dois ou mais servidores de download.
- 18. Método, de acordo com a reivindicação 15, caracterizado pelo fato de que compreende ainda as etapas de: o provedor de conteúdo que gera uma chave de decriptação para os dados de download; o provedor de conteúdo que criptografa os dados de download; o provedor de conteúdo envia, de forma segura, a chave de decriptação para o serviço de gerenciamento.Petição 870180138937, de 08/10/2018, pág. 14/157/7
- 19. Método, de acordo com a reivindicação 14, caracterizado pelo fato de que a etapa de criar o plano de download é baseada em qualquer um de posição do cliente, informação de status e uso de dois ou o mais servidores de download, requisitos de QoS, proximidade da rede de dois ou mais servidores de download com o cliente, a proximidade geográfica dos dois ou mais servidores de download com o cliente, a largura de banda fora de limite da rede de um servidor de dois ou mais servidores de download, os números atuais de downloads em partes suportados pelo servidor de dois ou mais servidores de download ou o máximo de downloads em parte simultâneos permitidos.
- 20. Método, de acordo com a reivindicação 19, caracterizado pelo fato de que a posição do cliente é determinada automaticamente com base em qualquer de um endereço de rede do cliente ou por meio da informação fornecida pelo cliente.
- 21. Aparelho caracterizado pelo fato de que compreende meio adaptado para realizar todas as etapas do método como definido em qualquer uma das reivindicações precedentes de método.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/862,977 US7631098B2 (en) | 2004-06-08 | 2004-06-08 | Method, system and program product for optimized concurrent data download within a grid computing environment |
PCT/EP2005/052600 WO2005122532A1 (en) | 2004-06-08 | 2005-06-07 | Optimized concurrent data download within a grid computing environment |
Publications (2)
Publication Number | Publication Date |
---|---|
BRPI0511882A BRPI0511882A (pt) | 2008-10-14 |
BRPI0511882B1 true BRPI0511882B1 (pt) | 2018-12-18 |
Family
ID=34970262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BRPI0511882A BRPI0511882B1 (pt) | 2004-06-08 | 2005-06-07 | download de dados concomitante otimizado dentro de um ambiente computacional de grade |
Country Status (10)
Country | Link |
---|---|
US (1) | US7631098B2 (pt) |
EP (1) | EP1766936B1 (pt) |
JP (1) | JP4886690B2 (pt) |
KR (1) | KR101019982B1 (pt) |
CN (1) | CN1939036B (pt) |
AT (1) | ATE381844T1 (pt) |
BR (1) | BRPI0511882B1 (pt) |
CA (1) | CA2569925C (pt) |
DE (1) | DE602005003948T2 (pt) |
WO (1) | WO2005122532A1 (pt) |
Families Citing this family (97)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1618479A1 (en) * | 2003-04-30 | 2006-01-25 | Telecom Italia S.p.A. | Method, system and computer program product for evaluating download performance of web pages |
US7277985B2 (en) | 2004-07-13 | 2007-10-02 | International Business Machines Corporation | Method, system and program product for storing downloadable content on a plurality of enterprise storage system (ESS) cells |
JP2006126894A (ja) * | 2004-10-26 | 2006-05-18 | Sony Corp | コンテンツ配信方法、プログラムおよび情報処理装置 |
US7603404B2 (en) * | 2004-12-20 | 2009-10-13 | Sap Ag | Grid parallel execution |
US8887224B2 (en) | 2005-03-09 | 2014-11-11 | Vudu, Inc. | Updating content libraries by transmitting release data |
US20080022343A1 (en) * | 2006-07-24 | 2008-01-24 | Vvond, Inc. | Multiple audio streams |
US20090019468A1 (en) * | 2005-03-09 | 2009-01-15 | Vvond, Llc | Access control of media services over an open network |
US8364792B2 (en) * | 2005-03-09 | 2013-01-29 | Vudu, Inc. | Method and system for distributing restricted media to consumers |
US20090019489A1 (en) * | 2005-03-09 | 2009-01-15 | Vvond, Inc. | Method and apparatus for displaying movie titles based on distributed objects |
US7698451B2 (en) | 2005-03-09 | 2010-04-13 | Vudu, Inc. | Method and apparatus for instant playback of a movie title |
US7937379B2 (en) * | 2005-03-09 | 2011-05-03 | Vudu, Inc. | Fragmentation of a file for instant access |
US8219635B2 (en) * | 2005-03-09 | 2012-07-10 | Vudu, Inc. | Continuous data feeding in a distributed environment |
US8904463B2 (en) | 2005-03-09 | 2014-12-02 | Vudu, Inc. | Live video broadcasting on distributed networks |
US7191215B2 (en) * | 2005-03-09 | 2007-03-13 | Marquee, Inc. | Method and system for providing instantaneous media-on-demand services by transmitting contents in pieces from client machines |
US9176955B2 (en) * | 2005-03-09 | 2015-11-03 | Vvond, Inc. | Method and apparatus for sharing media files among network nodes |
US20090025046A1 (en) * | 2005-03-09 | 2009-01-22 | Wond, Llc | Hybrid architecture for media services |
US20060265499A1 (en) * | 2005-05-23 | 2006-11-23 | Menasce Daniel A | Service Allocation Mechanism |
US8099511B1 (en) * | 2005-06-11 | 2012-01-17 | Vudu, Inc. | Instantaneous media-on-demand |
CN100411341C (zh) * | 2005-08-10 | 2008-08-13 | 华为技术有限公司 | 一种并行下载方法和终端 |
CN100395978C (zh) * | 2005-08-15 | 2008-06-18 | 华为技术有限公司 | 一种下载方法及一种终端 |
US8739231B2 (en) * | 2005-08-23 | 2014-05-27 | Vudu, Inc. | System and method for distributed video-on-demand |
US20070067488A1 (en) * | 2005-09-16 | 2007-03-22 | Ebay Inc. | System and method for transferring data |
EP1961154A4 (en) * | 2005-12-13 | 2016-03-09 | Audio Pod Inc | TRANSMISSION OF DIGITAL DATA |
US7900060B2 (en) * | 2006-02-17 | 2011-03-01 | Vudu, Inc. | Method and system for securing a disk key |
US8001471B2 (en) | 2006-02-28 | 2011-08-16 | Maven Networks, Inc. | Systems and methods for providing a similar offline viewing experience of online web-site content |
US8015491B2 (en) | 2006-02-28 | 2011-09-06 | Maven Networks, Inc. | Systems and methods for a single development tool of unified online and offline content providing a similar viewing experience |
WO2007101182A2 (en) * | 2006-02-28 | 2007-09-07 | Maven Networks, Inc. | Systems and methods for delivering and managing media content downloaded to a network connected device |
US7970835B2 (en) * | 2006-04-04 | 2011-06-28 | Xerox Corporation | Peer-to-peer file sharing system and method using downloadable data segments |
US8239686B1 (en) | 2006-04-27 | 2012-08-07 | Vudu, Inc. | Method and system for protecting against the execution of unauthorized software |
GB2440762B (en) * | 2006-08-11 | 2011-11-02 | Cachelogic Ltd | Content distribution network |
GB2440774B (en) * | 2006-08-11 | 2011-07-27 | Cachelogic Ltd | Content Delivery System For Digital Object |
US7539762B2 (en) * | 2006-08-15 | 2009-05-26 | International Business Machines Corporation | Method, system and program product for determining an initial number of connections for a multi-source file download |
US8296812B1 (en) | 2006-09-01 | 2012-10-23 | Vudu, Inc. | Streaming video using erasure encoding |
US7826356B2 (en) * | 2006-11-08 | 2010-11-02 | International Business Machines Corporation | Method and system for controlling flow in an asymmetric communication channel |
US8055902B2 (en) * | 2007-01-12 | 2011-11-08 | International Business Machines Corporation | Method, system, and computer program product for data upload in a computing system |
US7734950B2 (en) * | 2007-01-24 | 2010-06-08 | Hewlett-Packard Development Company, L.P. | Bandwidth sizing in replicated storage systems |
CA2577030A1 (en) * | 2007-01-31 | 2008-07-31 | Unlimi-Tech Software Inc. | Improved data transfer method, system and protocol |
US8316123B2 (en) * | 2007-02-19 | 2012-11-20 | Toshiba Global Commerce Solutions Holdings Corporation | Managing boot images in a retail store environment |
US9350701B2 (en) | 2007-03-29 | 2016-05-24 | Bomgar Corporation | Method and apparatus for extending remote network visibility of the push functionality |
US20080270524A1 (en) * | 2007-04-30 | 2008-10-30 | Nikhil Gupta | Distributing files over a computer network |
US8429286B2 (en) * | 2007-06-28 | 2013-04-23 | Apple Inc. | Methods and systems for rapid data acquisition over the internet |
US8037135B2 (en) * | 2007-06-29 | 2011-10-11 | Microsoft Corporation | Automatic distributed downloading |
WO2009032712A2 (en) | 2007-08-29 | 2009-03-12 | Nirvanix, Inc. | Method and system for moving requested files from one storage location to another |
KR100929031B1 (ko) | 2007-09-17 | 2009-11-26 | (주)씨디네트웍스 | 파일 병렬 다운로드에서의 블록 선택 방법, 이를 이용한파일 병렬 다운로드 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체 |
US8139074B2 (en) * | 2007-11-27 | 2012-03-20 | International Business Machines Corporation | Memory optimized cache generation for image tiling in GIS/CAD browser applications |
US7908362B2 (en) * | 2007-12-03 | 2011-03-15 | Velocix Ltd. | Method and apparatus for the delivery of digital data |
US8027671B2 (en) * | 2008-01-14 | 2011-09-27 | Penthera Partners, Inc. | Delivering files to a mobile device |
US7912956B1 (en) * | 2008-01-22 | 2011-03-22 | Raytheon Company | Service level agreement based control of a distributed computing system |
CN101729510B (zh) * | 2008-10-29 | 2013-03-06 | Tcl集团股份有限公司 | 一种虚拟网络存储服务系统及其建立方法 |
KR101006539B1 (ko) * | 2009-02-06 | 2011-01-07 | (주)씨디네트웍스 | 파일 병렬 다운로드에서의 최대 빈도 블록 우선 선택 방법,이를 이용한 파일 병렬 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체 |
GB2469034A (en) * | 2009-03-30 | 2010-10-06 | Sony Corp | Distribution system and method of distributing content files |
US8296402B2 (en) * | 2009-04-07 | 2012-10-23 | National Instruments Corporation | Determining and downloading portions of a software application in a computer system |
US11064023B2 (en) * | 2009-05-27 | 2021-07-13 | Verizon Media Inc. | Method for actively sharing available bandwidth to consumer nodes in a peer-to-peer network for delivery of video streams |
US9807468B2 (en) | 2009-06-16 | 2017-10-31 | Microsoft Technology Licensing, Llc | Byte range caching |
US8341620B2 (en) | 2009-06-25 | 2012-12-25 | Microsoft Corporation | Streaming optimized virtual application images |
WO2011008199A1 (en) * | 2009-07-14 | 2011-01-20 | Penthera Partners, Inc. | Delivering files to a mobile device |
US9195504B2 (en) | 2009-09-21 | 2015-11-24 | Siemens Product Lifecycle Management Software Inc. | Transfer of data structures in sub-linear time for systems with transfer state awareness |
EP2362651A1 (en) * | 2010-02-19 | 2011-08-31 | Thomson Licensing | Multipath delivery for adaptive streaming |
US8903906B2 (en) * | 2010-03-16 | 2014-12-02 | Brother Kogyo Kabushiki Kaisha | Information communications system, node device, method of communicating contents, computer readable recording medium storing a program |
US8219646B2 (en) | 2010-03-31 | 2012-07-10 | Oracle International Corporation | Dynamic intelligent mirror host selection |
US8745128B2 (en) * | 2010-09-01 | 2014-06-03 | Edgecast Networks, Inc. | Optimized content distribution based on metrics derived from the end user |
US8639748B2 (en) | 2010-09-01 | 2014-01-28 | Edgecast Networks, Inc. | Optimized content distribution based on metrics derived from the end user |
CN102413514B (zh) * | 2010-09-20 | 2014-12-03 | 株式会社日立制作所 | 数据配送装置以及数据配送方法 |
US20120072898A1 (en) * | 2010-09-21 | 2012-03-22 | Startforce, Inc. | On-premise deployment of virtual desktop service servers |
CN101969462A (zh) * | 2010-09-30 | 2011-02-09 | 中国科学院国家天文台 | 数据发布系统和数据发布方法 |
US8886593B2 (en) | 2011-02-01 | 2014-11-11 | Siemens Product Lifecycle Management Software Inc. | Controlled dispersion rates for transfer swarms |
CN102164317A (zh) * | 2011-02-14 | 2011-08-24 | 上海高智科技发展有限公司 | 一种面向ip机顶盒的多服务器分段下载系统 |
JP5690224B2 (ja) * | 2011-06-10 | 2015-03-25 | 日本電信電話株式会社 | コンテンツ優先転送方法、およびコンテンツ優先転送ゲートウェイ |
KR101338689B1 (ko) * | 2011-09-21 | 2013-12-09 | 명지대학교 산학협력단 | 병렬 다운로드를 위한 서버장치의 선택 방법 |
CN102307244B (zh) * | 2011-10-13 | 2013-10-30 | 网宿科技股份有限公司 | 基于b/s架构的多连接的下载方法和系统 |
US8959504B2 (en) * | 2011-10-18 | 2015-02-17 | Microsoft Corporation | Update scanning |
US8745177B1 (en) | 2011-11-01 | 2014-06-03 | Edgecast Networks, Inc. | End-to-end monitoring and optimization of a content delivery network using anycast routing |
US8738766B1 (en) | 2011-11-01 | 2014-05-27 | Edgecast Networks, Inc. | End-to-end monitoring and optimization of a content delivery network using anycast routing |
CN103188161B (zh) * | 2011-12-30 | 2017-11-21 | 中国移动通信集团公司 | 分布式数据加载调度方法与系统 |
TWI507891B (zh) * | 2012-03-23 | 2015-11-11 | Egis Technology Inc | 具雲端儲存空間管理功能之電子裝置、雲端儲存系統、其方法及其電腦程式產品 |
CN104685489A (zh) | 2012-08-22 | 2015-06-03 | 诺基亚技术有限公司 | 用于在协作的同时交换状态更新的方法和装置 |
US9432452B2 (en) | 2012-09-10 | 2016-08-30 | Joosy, Inc. | Systems and methods for dynamic networked peer-to-peer content distribution |
US9306860B2 (en) * | 2012-10-18 | 2016-04-05 | Giraffic Technologies Ltd. | Congestion control method for dynamically maximizing communication link throughout |
US9634955B2 (en) * | 2013-10-17 | 2017-04-25 | Microsoft Technology Licensing, Llc | Optimizing data transfers in cloud computing platforms |
CN103747364B (zh) * | 2013-12-11 | 2017-03-01 | 湖南网数科技有限公司 | 一种网络内容下载的方法和装置 |
KR101525541B1 (ko) * | 2013-12-18 | 2015-06-03 | (주) 엔에프랩 | 콘텐츠 딜리버리 네트워크 서비스 시스템 및 방법 |
CN103686430A (zh) * | 2013-12-24 | 2014-03-26 | 中国联合网络通信集团有限公司 | 视频文件获取方法及装置 |
CN105812840A (zh) * | 2014-12-29 | 2016-07-27 | 乐视网信息技术(北京)股份有限公司 | 一种直播视频传输方法、装置,以及视频直播系统 |
US10229262B2 (en) | 2015-04-20 | 2019-03-12 | Bomgar Corporation | Systems, methods, and apparatuses for credential handling |
US10397233B2 (en) | 2015-04-20 | 2019-08-27 | Bomgar Corporation | Method and apparatus for credential handling |
US10187485B1 (en) * | 2015-09-28 | 2019-01-22 | Symantec Corporation | Systems and methods for sending push notifications that include preferred data center routing information |
US9813299B2 (en) * | 2016-02-24 | 2017-11-07 | Ciena Corporation | Systems and methods for bandwidth management in software defined networking controlled multi-layer networks |
CN107229485A (zh) * | 2016-03-23 | 2017-10-03 | 福建福昕软件开发股份有限公司 | 一种解决采集数据类软件关闭速度慢的方法 |
US10348828B2 (en) * | 2016-06-20 | 2019-07-09 | Cisco Technology, Inc. | Method and apparatus for optimizing data transfers utilizing machine learning |
CN106790343B (zh) * | 2016-11-03 | 2020-05-19 | 深圳市元征软件开发有限公司 | 一种资源下载方法、及服务器 |
CN106790356A (zh) * | 2016-11-15 | 2017-05-31 | 广东欧珀移动通信有限公司 | 一种数据备份、下载方法及相关设备 |
CN106790489B (zh) * | 2016-12-14 | 2020-12-22 | 成都华为技术有限公司 | 并行数据加载方法和系统 |
CN106992999B (zh) * | 2017-05-26 | 2020-11-20 | 河南职业技术学院 | 一种跨服务器数据通讯处理方法 |
JP6471252B1 (ja) * | 2018-03-20 | 2019-02-13 | 株式会社Jストリーム | 再生装置及びプログラム |
CN110830522A (zh) * | 2018-08-07 | 2020-02-21 | 石悌君 | 一种共享存储系统 |
US11671485B2 (en) | 2019-03-06 | 2023-06-06 | Dolby Laboratories Licensing Corporation | Download control in multi-server communication system |
JP6959959B2 (ja) * | 2019-05-22 | 2021-11-05 | 本田技研工業株式会社 | ソフトウェア更新装置、サーバ装置、およびソフトウェア更新方法 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6049892C1 (en) | 1997-02-24 | 2002-06-04 | Ethos Software Corp | Process and apparatus for downloading data from a server computer to a client computer |
US6407752B1 (en) | 1997-04-29 | 2002-06-18 | International Business Machines Corporation | Method and system for a user interface for remote FTP hosts |
US6003045A (en) | 1997-09-17 | 1999-12-14 | International Business Machines Corporation | Accessing stored files from multiple storage devices |
JP3914317B2 (ja) * | 1997-12-26 | 2007-05-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ通信装置およびその方法 |
US6061720A (en) * | 1998-10-27 | 2000-05-09 | Panasonic Technologies, Inc. | Seamless scalable distributed media server |
US6477522B1 (en) * | 1999-06-10 | 2002-11-05 | Gateway, Inc. | Dynamic performance based server selection |
US6678733B1 (en) * | 1999-10-26 | 2004-01-13 | At Home Corporation | Method and system for authorizing and authenticating users |
US6339785B1 (en) * | 1999-11-24 | 2002-01-15 | Idan Feigenbaum | Multi-server file download |
US6742023B1 (en) * | 2000-04-28 | 2004-05-25 | Roxio, Inc. | Use-sensitive distribution of data files between users |
US6377974B1 (en) * | 2000-01-19 | 2002-04-23 | Speedbit Ltd. | Methods and apparatus for downloading a file from a server |
US6920110B2 (en) * | 2001-02-14 | 2005-07-19 | Microsoft Corporation | System and method for transferring data over a network |
US7324228B2 (en) * | 2000-02-25 | 2008-01-29 | Hewlett-Packard Development Company, L.P. | System and method for downloading and for printing data from an external content source |
CA2303739C (en) * | 2000-04-04 | 2009-06-30 | Webhancer Corporation | Method and system for managing performance of data transfers for a data access system |
US6961858B2 (en) * | 2000-06-16 | 2005-11-01 | Entriq, Inc. | Method and system to secure content for distribution via a network |
US6801947B1 (en) * | 2000-08-01 | 2004-10-05 | Nortel Networks Ltd | Method and apparatus for broadcasting media objects with guaranteed quality of service |
US6772217B1 (en) * | 2000-08-23 | 2004-08-03 | International Business Machines Corporation | Internet backbone bandwidth enhancement by initiating an additional data stream when individual bandwidth are approximately equal to the backbone limit |
US7047309B2 (en) * | 2000-08-23 | 2006-05-16 | International Business Machines Corporation | Load balancing and dynamic control of multiple data streams in a network |
DE60131900T2 (de) * | 2000-10-26 | 2008-12-04 | Flood, James C. jun., Portland | Verfahren und system zur verwaltung von verteilten inhalten und verwandten metadaten |
US7240358B2 (en) * | 2000-12-08 | 2007-07-03 | Digital Fountain, Inc. | Methods and apparatus for scheduling, serving, receiving media-on demand for clients, servers arranged according to constraints on resources |
JP2002268979A (ja) | 2001-03-07 | 2002-09-20 | Nippon Telegr & Teleph Corp <Ntt> | ダウンロード方法及び装置、ダウンロード用プログラム並びにそのプログラムを記録した記録媒体 |
US20030084123A1 (en) | 2001-08-24 | 2003-05-01 | Kamel Ibrahim M. | Scheme for implementing FTP protocol in a residential networking architecture |
US7185286B2 (en) | 2001-08-28 | 2007-02-27 | Nvidia International, Inc. | Interface for mobilizing content and transactions on multiple classes of devices |
JP2003067280A (ja) | 2001-08-28 | 2003-03-07 | Fujitsu Ltd | マルチメディアデータのダウンロード予約制御方式及びプログラム |
US20030074465A1 (en) | 2001-10-15 | 2003-04-17 | Zhicheng Tang | ADSL downloading with priority transmit queue |
US7716659B2 (en) | 2001-10-23 | 2010-05-11 | Pitney Bowes Inc. | Remote monitoring and software distribution system for servicing inserter systems |
US8261059B2 (en) | 2001-10-25 | 2012-09-04 | Verizon Business Global Llc | Secure file transfer and secure file transfer protocol |
CN100393141C (zh) * | 2002-01-25 | 2008-06-04 | 中兴通讯股份有限公司 | 移动通讯系统基站软件并行下载方法 |
JP2003337803A (ja) | 2002-05-21 | 2003-11-28 | Ntt Me Corp | コンテンツ不正入手防止方法、コンテンツ不正入手防止システムおよびコンテンツ不正入手防止プログラム |
CN2540714Y (zh) * | 2002-05-21 | 2003-03-19 | 顾士平 | 嵌入式无线网络系统实现装置 |
US7555559B2 (en) * | 2003-02-28 | 2009-06-30 | Onion Networks, KK | Parallel data transfer over multiple channels with data order prioritization |
US20050015511A1 (en) * | 2003-07-02 | 2005-01-20 | Nec Laboratories America, Inc. | Accelerated large data distribution in overlay networks |
US20060064386A1 (en) * | 2004-09-20 | 2006-03-23 | Aaron Marking | Media on demand via peering |
US7165050B2 (en) * | 2004-09-20 | 2007-01-16 | Aaron Marking | Media on demand via peering |
TWI301021B (en) * | 2005-12-27 | 2008-09-11 | Ind Tech Res Inst | File distribution and access system and method for file management |
-
2004
- 2004-06-08 US US10/862,977 patent/US7631098B2/en not_active Expired - Fee Related
-
2005
- 2005-06-07 AT AT05752821T patent/ATE381844T1/de not_active IP Right Cessation
- 2005-06-07 DE DE602005003948T patent/DE602005003948T2/de active Active
- 2005-06-07 BR BRPI0511882A patent/BRPI0511882B1/pt active IP Right Grant
- 2005-06-07 WO PCT/EP2005/052600 patent/WO2005122532A1/en active IP Right Grant
- 2005-06-07 CA CA2569925A patent/CA2569925C/en active Active
- 2005-06-07 CN CN2005800097025A patent/CN1939036B/zh not_active Expired - Fee Related
- 2005-06-07 EP EP05752821A patent/EP1766936B1/en not_active Not-in-force
- 2005-06-07 KR KR1020067025182A patent/KR101019982B1/ko not_active IP Right Cessation
- 2005-06-07 JP JP2007526421A patent/JP4886690B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1766936A1 (en) | 2007-03-28 |
CA2569925C (en) | 2010-08-03 |
US20060031537A1 (en) | 2006-02-09 |
KR20070029727A (ko) | 2007-03-14 |
EP1766936B1 (en) | 2007-12-19 |
DE602005003948D1 (de) | 2008-01-31 |
BRPI0511882A (pt) | 2008-10-14 |
JP4886690B2 (ja) | 2012-02-29 |
CN1939036B (zh) | 2011-08-31 |
KR101019982B1 (ko) | 2011-03-09 |
JP2008502061A (ja) | 2008-01-24 |
DE602005003948T2 (de) | 2008-12-04 |
WO2005122532A1 (en) | 2005-12-22 |
US7631098B2 (en) | 2009-12-08 |
CA2569925A1 (en) | 2005-12-22 |
CN1939036A (zh) | 2007-03-28 |
ATE381844T1 (de) | 2008-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BRPI0511882B1 (pt) | download de dados concomitante otimizado dentro de um ambiente computacional de grade | |
JP6968223B2 (ja) | 量子鍵配送のための方法、装置、及びシステム | |
Vahdat et al. | WebOS: Operating system services for wide area applications | |
KR101353725B1 (ko) | 무선 네트워크내의 보안 키 관리 방법 및 시스템 | |
Rabinovich et al. | Computing on the edge: A platform for replicating internet applications | |
Schmidt et al. | Efficient distribution of virtual machines for cloud computing | |
US11716314B2 (en) | System and apparatus for enhanced QOS, steering and policy enforcement for HTTPS traffic via intelligent inline path discovery of TLS terminating node | |
CN112491972A (zh) | 资源获取、分发、下载方法、装置、设备及存储介质 | |
EP1880326A2 (en) | Cifs for scalable nas architecture | |
KR20090097165A (ko) | 컴퓨터 구현 방법, 데이터 파일 업로드 장치 및 컴퓨터 프로그램 제품 | |
JP4155341B2 (ja) | 情報の管理方法及び情報処理装置 | |
US10116752B2 (en) | System and method for bridging divergent information networks | |
BR112016011664B1 (pt) | Sistema de comunicação e método para efetuar eventos de comunicação, e meio de armazenamento legível por computador | |
Soriente et al. | Replicatee: Enabling seamless replication of sgx enclaves in the cloud | |
Feng et al. | Toward seamless grid data access: Design and implementation of gridftp on. net | |
JP7113269B2 (ja) | 通信システムおよび通信方法 | |
Shoaib et al. | Fast Data Access through Nearest Location-Based Replica Placement | |
TWI401574B (zh) | 於一柵網計算環境中用在最佳化同作資料下載之方法、系統及程式產品 | |
CN111988269A (zh) | 经由分布式数据存储库提供授权信息的策略管理系统 | |
Koulouzis et al. | Streaming data between Web Services. Comparison of streaming protocols over a stream-enabled Web Service. | |
Ekstrom | Increasing DOGMA Scaling Through Clustering | |
JP2011203848A (ja) | データベースを分散共有する資源管理装置、プログラム及び方法 | |
JP2015031989A (ja) | ソフトウェアモジュール実行機器およびソフトウェアモジュール実行プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 10 (DEZ) ANOS CONTADOS A PARTIR DE 18/12/2018, OBSERVADAS AS CONDICOES LEGAIS. |