BRPI0711095A2 - provisionamento global de milhões de usuários com unidades de uso - Google Patents

provisionamento global de milhões de usuários com unidades de uso Download PDF

Info

Publication number
BRPI0711095A2
BRPI0711095A2 BRPI0711095-2A BRPI0711095A BRPI0711095A2 BR PI0711095 A2 BRPI0711095 A2 BR PI0711095A2 BR PI0711095 A BRPI0711095 A BR PI0711095A BR PI0711095 A2 BRPI0711095 A2 BR PI0711095A2
Authority
BR
Brazil
Prior art keywords
provisioning
global
information
unit
service
Prior art date
Application number
BRPI0711095-2A
Other languages
English (en)
Inventor
Weidong Wang
Thomas D Sanfilippo
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of BRPI0711095A2 publication Critical patent/BRPI0711095A2/pt
Publication of BRPI0711095B1 publication Critical patent/BRPI0711095B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • 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/52Network services specially adapted for the location of the user terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/781Centralised allocation of resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4547Network directories; Name-to-address mapping for personal communications, i.e. using a personal identifier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/69Types of network addresses using geographic information, e.g. room number

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

PROVISIONAMENTO GLOBAL DE MILHõES DE USUáRIOS COM UNIDADES DE USO é descrito aqui tecnologia para, entre outras coisas, provisionamento global de um serviço. A tecnologia envolve um servidor de provisionamento que obtém informações de localização para um cliente. O servidor de provisionamento determina uma unidade de uso apropriada, com base nas informações de localização, para a qual o cliente será atribuído. O servidor de provisionamento transmite informações de atribuição para a unidade de uso apropriada para o cliente. O cliente se acopla então de forma comunicativa à unidade de uso atribuida e começa a receber o serviço a partir da unidade de uso.

Description

"PROVISIONAMENTO GLOBAL DE MILHÕES DE USUÁRIOS COM UNIDADESDE USO"
ANTECEDENTES
Durante os anos, a Internet evoluiu de um simples meio de publicar informações pa-ra um ambiente de multimeios rico em recursos. Devido à proliferação de tecnologia de ban-da larga em casas e firmas, as oportunidades surgiram para fornecer vários tipos de servi-ços através da Internet. Alguns desses serviços ajudam a tornar dinâmicos os negócios glo-bais. Por exemplo, um tipo de tecnologia permite que as pessoas que trabalham em escritó-rios em lados opostos do globo colaborem em um ambiente de escritório virtual. Tais servi-ços são genericamente hospedados por um ou mais servidores.
À medida que a demanda para tais serviços aumenta, tornar-se-á necessário forne-cer mais servidores para hospedar os serviços. Além disso, se o serviço for fornecido glo-balmente, pode ser desejável espalhar os servidores em diferentes regiões geográficas (porexemplo, um servidor nos EUA e um servidor na Ásia) para fornecer maior largura de bandaa cada região respectiva. Além disso, se uma região experimentar uma carga particularmen-te pesada, também pode ser desejável subdividir adicionalmente aquela região (por exem-plo, um servidor da Costa Oeste dos Estados Unidos, um servidor do Centro-oeste dos Es-tados Unidos e um servidor da Costa Este dos Estados Unidos).
Desse modo, com servidores espalhados em diferentes localizações geográficas,será desejável provisionar o serviço de tal modo que cada usuário do serviço seja atribuídoa um servidor apropriado de modo que a largura de banda e desempenho do sistema pos-sam ser otimizados.
SUMÁRIO
Esse sumário é fornecido para introduzir uma seleção de conceitos em uma formasimplificada que são descritos adicionalmente abaixo na Descrição Detalhada. Esse sumárionão pretende identificar características chave ou características essenciais da matéria rei-vindicada, nem pretende ser utilizado para limitar o escopo da matéria reivindicada.
É descrita aqui tecnologia para, entre outras coisas, provisionamento global de umserviço. A tecnologia envolve um novo cliente que fornece suas informações de localizaçãoa um servidor de provisionamento. As informações de localização podem incluir, porém nãosão limitadas a, ID regional e fuso horário do cliente. O servidor de provisionamento deter-mina uma unidade de uso apropriada, com base nas informações de localização, à qual onovo cliente será atribuído. O servidor de provisionamento transmite informações de atribui-ção para a unidade de uso apropriado para o cliente novo. O cliente então acopla comunica-tivamente à unidade de uso atribuída e começa a receber o serviço a partir da unidade deuso.
No caso de, por algum motivo, ser desejável que um cliente específico seja reatri-buído a partir de sua unidade de uso atual para uma unidade de uso nova ou diferente, aunidade de uso atual transmite informações que necessitam reatribuição para o cliente. Ocliente, após receber as informações que necessitam reatribuição, passa pelas etapas aci-ma para receber a provisão de uma unidade de uso diferente. O cliente então acopla, deforma comunicativa, com a nova unidade de uso como instruído nas informações de reatri-buição.
Desse modo, modalidades fornecem tecnologia altamente adaptável para provisio-nar global um serviço. A tecnologia é capaz de atribuir de forma inteligente clientes a unida-des de uso apropriadas (freqüentemente a mais próxima) para fins de receber o serviço.Além disso, as modalidades permitem a adição ou remoção dinâmica de uma unidade deuso por reatribuir clientes em movimento. Tal arquitetura é ideal para suportar numeração declientes em milhões.
BREVE DESCRIÇÃO DOS DESENHOS
Os desenhos em anexo, os quais são incorporados em e fazem parte do presenterelatório descritivo, ilustram modalidades e juntamente com a descrição, serve para explicarseus princípios:
A figura 1 é um diagrama de blocos que ilustra um sistema para provisionamentoglobal de um serviço, de acordo com uma modalidade.
A figura 2 é um diagrama de blocos que ilustra um sistema para provisionamentoglobal de um serviço, de acordo com uma modalidade exemplar.
A figura 3 é um fluxograma que ilustra um processo para receber provisionamentoglobal de um serviço em um cliente, de acordo com uma modalidade.
A figura 4A é um fluxograma que ilustra um processo para provisionamento globalde um serviço, de acordo com uma modalidade.
A figura 4B é um fluxograma que ilustra um processo para determinar uma unidadede uso preferida à qual um cliente novo será atribuído, de acordo com uma modalidade.
A figura 4C é um fluxograma que ilustra um processo para determinar uma unidadede uso preferida à qual um cliente novo será atribuído quando uma réplica de GPD é aco-plada ao dispositivo que utiliza o processo, de acordo com uma modalidade.
A figura 4D é um fluxograma que ilustra um processo para reatribuir um cliente atu-al para uma nova unidade de uso, de acordo com uma modalidade.
A figura 5 é um diagrama de um exemplo de um ambiente de sistema de computa-ção apropriado no qual modalidades podem ser implementadas.
DESCRIÇÃO DETALHADA
Será feita agora referência em detalhe às modalidades preferidas da matéria reivin-dica, cujos exemplos são ilustrados nos desenhos em anexo. Embora a invenção seja des-crita em combinação com as modalidades preferidas, será entendido que não pretendemlimitar a matéria reivindica a essas modalidades. Ao contrário, a matéria reivindica pretendecobrir alternativas, modificações e equivalentes, que podem ser incluídos no espírito e esco-po da matéria reivindicada como definido pelas reivindicações. Além disso, na descriçãodetalhada da presente invenção, inúmeros detalhes específicos são expostos para forneceruma compreensão completa da matéria reivindicada. Entretanto, será óbvio para uma pes-soa com conhecimentos comuns na técnica que a matéria reivindicada pode ser posta emprática sem esses detalhes específicos. Em outras ocorrências, métodos, procedimentos,componentes e circuitos bem conhecidos não foram descritos em detalhe de modo a nãoÕbscurecer desnecessariamente aspectos da matéria reivindicada.
Algumas porções das descrições detalhadas que seguem são apresentadas emtermos de procedimentos, blocos lógicos, processamento e outras representações simbóli-cas de operações em bits de dados compreendidos em uma memória de sistema digital oucomputador. Essas descrições e representações são os meios utilizados por aqueles versa-dos na técnica de processamento de dados para transportar mais eficazmente a substânciade seu trabalho para outros versados na técnica. Um procedimento, bloco lógico, processo,etc., é aqui e genericamente concebido como sendo uma seqüência autoconsistente de eta-pas ou instruções que levam a um resultado desejado. As etapas são aquelas que exigemmanipulações físicas de quantidades físicas. Normalmente, embora não necessariamente,essas manipulações físicas têm a forma de sinais elétricos ou magnéticos capazes de se-rem armazenados, transferidos, combinados, comparados e de outro modo manipulados emum sistema de computador ou dispositivo de computação eletrônica similar. POr motivos deconveniência, e com referência a uso comum, esses sinais são mencionados como bits,valores, elementos, símbolos, caracteres, termos, números ou similares com referência àmatéria reivindicada.
Deve-se ter em mente, entretanto, que todos esses termos devem ser interpretadoscomo referência a manipulações físicas e quantidades e são meramente rótulos convenien-tes e devem ser interpretados ainda em vista de termos comumente utilizados na técnica. Amenos que especificamente mencionado de outro modo como evidente a partir da discussãoaqui, entende-se que em todas as discussões da presente modalidade, discussões que utili-zam termos como "determinar" ou "transmitir" ou "resultar" ou "registrar" ou "localizar" ou"armazenar" ou "exibir" ou "receber" ou "reconhecer" ou "utilizar" ou "gerar" ou "fornecer" ou"acessar" ou "checar" ou "notificar" ou "distribuir" ou similar, se referem à ação e processosde um sistema computador, ou dispositivo de computação eletrônica similar, que manipula etransforma dados. Os dados são representados como quantidades físicas (eletrônicas) den-tro dos registros e memórias do sistema de computador e são transformados em outros da-dos similarmente representados como quantidades físicas compreendidas as memórias ouregistros do sistema de computador ou outros tais dispositivos de armazenagem, transmis-são ou exibição de informação.
Dito de modo resumido, as modalidades envolvem um serviço de provisionamentoque obtém informações de localização para um cliente. O servidor de provisionamento de-termina uma unidade de uso apropriada, com base nas informações de localização, à qual ocliente será atribuído. O servidor de provisionamento transmite informações de atribuiçãopara a unidade de uso apropriada para o cliente. O cliente então acopla, de forma comunica-tiva, à unidade de uso atribuída e começa a receber o serviço a partir da unidade de uso.
A figura 1 ilustra um sistema 100 para provisionamento global de um serviço, deacordo com uma modalidade. Embora a figura 1 represente um sistema de hardware, deveser apreciado que as modalidades descritas aqui são bem adequadas para implementaçãoem software, em que as funções de componentes na figura 1 são executadas por módulosde software equivalentes em sistemas de hardware separados.
O serviço fornecido pelo sistema 100 pode ser qualquer serviço que é bem ade-quado para provisionamento global. Em uma modalidade, o serviço é um serviço de escritó-rio virtual. O sistema 100 inclui unidades de uso DU1 a DUn. Em sua forma mais básica, uni-dades de uso DU1 a DUn fornecem o serviço a clientes (como cliente 110). O sistema 100também inclui servidor de provisionamento 120. Deve ser reconhecido que embora somenteum servidor de provisionamento seja representado na figura 1, o sistema 100 é bem ade-quado para compreender múltiplos servidores de provisionamento através de locais geográ-ficos de modo à apropriadamente manipular a carga do cliente.
Em uma modalidade, quando um usuário individual está pronto para criar uma con-ta com o serviço, o cliente 110 primeiramente conectar-se-á a um servidor de provisiona-mento 120. Nesse ponto, o servidor de provisionamento 120 obterá as informações da loca-lização do cliente. Em uma modalidade, as informações de localização são obtidas a partirda infra-estrutura de roteamento de rede global. Em outra modalidade, o cliente 110 transmi-te suas informações de localização para o servidor de provisionamento 120. Ainda em outramodalidade, a combinação de informações de localização enviadas por cliente e as informa-ções de localização obtidas a partir da infra-estrutura de roteamento de rede global são utili-zadas. As informações de localização podem incluir, porém não são limitadas a, um ID geo-gráfico, como um identificador de país, e o fuso horário do cliente. As informações de locali-zação também podem incluir um ID de conta, um certificador de conta, um tipo de licença eum ID de transação.
O sistema 100 também inclui um serviço de provisionamento global 140, que é a-coplado de forma comunicativa com os servidores de provisionamento como o servidor deprovisionamento 120 e um número de bancos de dados. Após receber as informações delocalização a partir do cliente 110, o servidor de provisionamento contatará o serviço de pro-visionamento global 140, que por sua vez fornecerá informações de atribuição para o cliente110. POr exemplo, se o ID geográfico de um cliente corresponder aos Estados Unidos, e ofuso horário do cliente for Horário Padrão do Pacífico, o serviço de provisionamento global140 atribuirá o cliente a uma unidade de uso de Costa Oeste dos Estados Unidos. Em umamodalidade, cada unidade de uso pode suportar somente certos tipos de licença. POr e-xemplo, uma unidade de uso de Costa Este dos Estados Unidos pode suportar tipos de li-cença A e B1 enquanto uma unidade de uso de Costa Oeste dos Estados Unidos somentesuporta licenças do tipo A. Desse modo, se o cliente a partir do exemplo anterior tiver umalicença do tipo Β, o serviço de provisionamento global atribuiria o cliente à unidade de usoclé Costa Este dos Estados Unidos porque a unidade de uso de Costa Oeste dos EstadosUnidos não suporta a licença do cliente. As informações de atribuição fornecidas pelo servi-dor de provisionamento global 140 podem incluir, porém não são limitadas a um URL cor-respondendo à unidade de uso atribuída, um certificado correspondendo à unidade de usoatribuída, um token de autorização, e um código hash.
Em uma modalidade, os bancos de dados aos quais o serviço de provisionamentoglobal é acoplado incluem um diretório de provisionamento global (GPD) 150, que hospedainformações sobre unidades de uso DUi-DUn. Essas informações podem incluir, porém nãosão limitadas a, nomes e localizações das unidades de uso, URLs e certificados correspon-dendo às unidades de uso, informações de capacidade de usuário das unidades de uso,tipos de licenças suportadas pelas unidades de uso, etc.
Após o servidor de provisionamento 120 receber as informações de atribuição apartir do serviço de provisionamento global 140 transmitirá, por sua vez, as informações deatribuição de volta para o cliente 110. Em resposta, o cliente 110 acoplará, então de formacomunicativa com a unidade de uso indicada nas informações de atribuição (por exemplo,DUi). Após o cliente 110 ser acoplado a sua respectiva unidade de uso (por exemplo, DU1),pode então começar a receber o serviço a partir daquela unidade de uso.
Em uma modalidade, os bancos de dados aos quais o serviço de provisionamentoglobal é acoplado incluem um diretório de contato global 160, que hospeda informações decontato para usuários do sistema 100. Em uma modalidade, o diretório de contato global éuma característica opt-in. Desse modo, usuários (por exemplo, cliente 110) podem escolherpublicar certas informações de contato para o diretório de contato global 160. As informa-ções de contato armazenadas no diretório de contato global 160 podem incluir, porém nãosão limitadas a, nomes, endereços de e-mail, vCards, números de telefone, etc. Como apublicação para o diretório de contato global pode ser opcional, a publicação pode ocorrer aqualquer momento. POr exemplo, o cliente 110 pode publicar suas informações de contatoatravés do servidor de provisionamento 120 quando está solicitando as informações de atri-buição. Alternativamente, o cliente 110 pode publicar suas informações de contato via suarespectiva unidade de uso (por exemplo, DU1) após ter recebido sua atribuição de unidadede uso.
Em uma modalidade, o sistema 100 inclui uma réplica de GPD 170 acoplada deforma comunicativa ao servidor de provisionamento 120. De forma ideal, a réplica de GPD170 é localizada de forma próxima ao servidor de provisionamento 120. O benefício de ter aréplica de GPD 170 é que o servidor de provisionamento 120 pode tomar a decisão de pro-visionamento ele próprio com base nas informações na réplica de GPD 170, em vez de ob-ter as informações de atribuição a partir do serviço de provisionamento global 140. Isso en-curta a quantidade de tempo necessário para provisionar um cliente e reduzir o uso de Iar-"gura de banda do serviço de provisionamento global 140. Se cada servidor de provisiona-mento no sistema 100 (como servidor de provisionamento 120) for acoplado a uma réplicade GPD respectiva (como réplica de GPD 170), o serviço de provisionamento global 140então somente necessita se preocupar com modificações de gerenciamento e consultaspara o diretório de contato global e periodicamente sincronizar as réplicas de GPD (comoréplica de GPD 170) com o GPD original 150.
À medida que o número de clientes que acessam o serviço em uma região especí-fica (por exemplo, os Estados Unidos) aumenta, pode ser necessário adicionar uma ou maisnovas unidades de uso (por exemplo, DUN1+1, DUn+2, etc, não mostrado) ao sistema 100. POrexemplo, se os Estados Unidos tiverem atualmente uma unidade de uso de Costa Oeste eCosta Este, as quais estão ambas se aproximando de seus limites de capacidade, o sistema100 permitirá então a adição dinâmica de, por exemplo, uma unidade de uso Centro-oeste.Após a nova unidade de uso estar no lugar e operacional, é desejável reatribuir alguns clien-tes para a nova unidade de uso para distribuir mais uniformemente a carga. O reprovisiona-mento de clientes para unidades de uso novas ou diferentes pode ser desejável também emoutras situações, como reatribuir um cliente se ele tiver mudado de uma região pára outraou mover uma classe específica de usuários (por exemplo, usuários beta) para uma unidadede uso específica (por exemplo, para teste beta dedicado). Se houver unidades de uso es-pecíficas para mudar aqueles clientes para, a unidade de uso marcará no banco de dadosglobal para aqueles clientes. Em tais casos, as unidades de uso transmitirão as informaçõesde necessitam reatribuição para os clientes. Após receber as informações de necessitam dereatribuição, os clientes passarão através das mesmas etapas de provisionamento pelo con-tato com um servidor de provisionamento. Se um cliente tiver se mudado, devido a sua alte-ração de localização, será atribuído agora para uma unidade de uso diferente mais próximadele. Se o registro correspondente no banco de dados global tiver sido marcado, o clienteserá atribuído a uma unidade de uso pré-atribuída. Os clientes reatribuídos reconectarãoentão com a unidade de uso apropriada. Deve ser apreciado que funções similares podemser empregadas no caso de uma unidade de uso ser removida a partir do sistema 100.
A figura 2 ilustra um sistema 200 para provisionamento global de um serviço, deacordo com uma modalidade exemplar. Embora a figura 1 represente um sistema de hard-ware, deve ser reconhecido que as modalidades descritas aqui são bem adequadas paraimplementação em software, onde as funções dos componentes na figura 1 são executadaspor módulos de software equivalentes.
NO sistema 200, servidores de provisionamento 220!-200N e réplicas de GPD 270^270n são integrados nas respectivas unidades de uso DU1' e DUn'. Além disso, o serviço deprovisionamento global 240, GPD 250, e diretório de contato global 260 são integrados emum centro de dados global 230. Funcionalmente, o sistema 200 opera similar ao sistema100.
Em uma modalidade, quando um usuário individual está pronto para criar uma con-ta com o serviço, o cliente 210 primeiramente conectar-se-á a um .servidor de provisiona-mento (por exemplo, 220i) que é integrado em uma unidade de uso respectiva (por exem-plo, DU1'). Em uma modalidade, os servidores de provisionamento têm um nome bem co-nhecido ou alias (por exemplo, provision.groove.microsoft.com), que é incorporado no clien-te 210. O servidor de provisionamento (por exemplo, 220^ obterá as informações de locali-zação do cliente. Em uma modalidade, as informações de localização são obtidas a partir dainfra-estrutura de roteamento de rede global. Em outra modalidade, o cliente 210 transmitesuas informações de localização para o servidor de provisionamento (por exemplo, 2201).Ainda em outra modalidade, a combinação de informações de localização enviadas por cli-ente e as informações de localização obtidas a partir da infraestrutura de roteamento de re-de global são utilizadas. As informações de localização podem incluir, porém não são limita-das a, um ID geográfico, como identificador de país e o fuso horário do cliente. As informa-ções de localização também podem incluir um ID de conta, um certificado de conta, um tipode licença e um ID de transação.
Após receber as informações de localização a partir do cliente 210, o servidor deprovisionamento (por exemplo, 2201) contatará o serviço de provisionamento global 240, queé integrado no centro de dados global 230. O serviço de provisionamento global 240 forne-cerá, por sua vez, informações de atribuição para o cliente 210. As informações de atribui-ção fornecidas pelo servidor de provisionamento global 240 podem incluir, porém não é Iimi-tado a um URL que corresponde à unidade de uso atribuída (por exemplo, DUn'), um certifi-cado que corresponde à unidade de uso atribuída, um token de autorização e um códigohash.
Em uma modalidade, GPD 250 integrado no centro de dados global 230 hospedainformações sobre unidades de uso DU1'-DUN'. Essas informações podem incluir, porém nãosão limitadas a nomes e localizações das unidades de uso, URLs e certificados correspon-dendo às unidades de uso, as informações de capacidade de uso das unidades de uso, ostipos de licenças suportados pelas unidades de uso, etc.Após o servidor de provisionamento (por exemplo, 2201) receber as informações deatribuição a partir do serviço de provisionamento global 240 transmitirá, por sua vez, as in-formações de atribuição de volta para o cliente 210. Em resposta, o cliente 210 acoplará,então de forma comunicativa com a unidade de uso indicada nas informações de atribuição (por exemplo, DUn'). Após o cliente 210 ser acoplado a sua unidade de uso atribuída (porexemplo, DUn'), pode então começar a receber o serviço a partir daquela unidade de uso.Como mostrado, é totalmente possível no sistema 200 que a unidade de uso para a qual ocliente 210 é atribuído (por exemplo, DUn') ser uma unidade de uso diferente daquela daqual a informação de atribuição foi originalmente recebida (por exemplo, DU1').
Em uma modalidade, o diretório de contato global 260 integrado no centro de dadosglobal 230 hospeda informações de contato para usuários do sistema 200. Em uma modali-dade, o diretório de contato global é uma característica opt-in. Desse modo, usuários (porexemplo, cliente 210) podem escolher publicar certas informações de contato para o diretó-rio de contato global 260. As informações de contato armazenadas no diretório de contato global 260 podem incluir, porém não são limitadas a, nomes, endereços de e-mail, vCards,números de telefone, etc. Como a publicação para o diretório de contato global pode seropcional, a publicação pode ocorrer a qualquer momento. POr exemplo, o cliente 210 podepublicar suas informações de contato através da unidade de uso inicial (por exemplo, DUi')quando solicitar as informações de atribuição. Alternativamente, o cliente 210 pode publicarsuas informações de contato através de sua unidade de uso atribuída (por exemplo, DUn')após ter recebido sua atribuição de unidade de uso.
Réplicas de GPD 2701-270N integrados nas respectivas unidades de uso DU1'-DUn'permitem que seus respectivos servidores de provisionamento 2201-220N tomem decisõesde provisionamento eles próprios com base nas informações nas réplicas de GPD 2701- 270n, em vez de obter as informações de atribuição a partir do serviço de provisionamentoglobal 240. Isso encurta a quantidade de tempo necessário para provisionar um cliente ereduz o uso de largura de banda do serviço de provisionamento global 240. POr incorporaras réplicas de GPD 2701-270n nas unidades de uso DU1 '-DUn', a carga de processamentono serviço de provisionamento global 240 é grandemente reduzida. Como tal, o serviço de provisionamento global 240 necessita então somente de se preocupar com gerenciar modifi-cações e consultas para o diretório de contato global 260 e periodicamente sincronizar asréplicas de GPD 2701-270N com o GPD original 250.
Em uma modalidade, o sistema 200 é capaz de provisionar novamente um cliente(como cliente 210). Cenários nos quais o novo provisionamento de um usuário pode ser de- sejável ou necessário incluem, porém não são limitados a reatribuir usuários após a adiçãoou remoção de uma unidade de uso a partir do sistema 200, reatribuir um cliente se for mu-dado de uma região para outra, ou mover uma classe específica de usuários (por exemplo,usuários beta) para uma unidade de uso específica (por exemplo, para teste beta dedicado).Em tais casos, as unidades de uso obterão novas informações de atribuição para os clientesque devem ser provísionados novamente e subseqüentemente transmitir a nova informaçãode atribuição para os clientes. Os clientes reatribuídos reconectarão então à unidade de usoapropriada.
A figura 3 ilustra um processo 300 para receber provisionamento global de um ser-viço em um cliente, de acordo com uma modalidade. Deve ser reconhecido que algumasmodalidades podem não utilizar todas as etapas representadas na figura 3. Deve ser adicio-nalmente reconhecido que algumas modalidades podem incluir etapas adicionais não repre-sentadas na figura 3. As etapas do processo 300 podem ser armazenadas como instruçõesem um meio legível por computador e executadas em um processador de computador.
A etapa 310 do processo 300 envolve transmitir informações de localização paraum servidor de provisionamento. As informações de localização podem incluir, porém nãosão limitadas a, um ID geográfico, como um identificador de país, e o fuso horário do cliente.As informações de localização podem incluir também um ID de conta, um certificado de con-ta, um tipo de licença e um ID de transação.
A etapa 320 envolve receber informações de atribuição a partir do servidor de pro-visionamento. As informações de atribuição atribuem o cliente a uma unidade de uso espe-cífica. As informações de atribuição são, pelo menos em parte baseadas nas informaçõesde localização e podem incluir, porém não são limitadas a um URL correspondendo à uni-dade de uso atribuída, um certificado correspondendo à unidade de uso atribuída, um tokende autorização, e um código hash. Na etapa 330, o cliente acopla de forma comunicativacom a unidade de uso atribuída. Na etapa 340, o cliente autentica com a unidade de uso. Aetapa de autenticação pode incluir, porém não é limitada a, transmitir o ID de conta, certifi-cado de conta, ID de transação, o token de autenticação, e o URL correspondendo ao servi-dor de provisionamento para a unidade de uso para verificação. Após o cliente ser autenti-cado, pode começar a receber o serviço (etapa 350) e atualizações periódicas (etapa 360) apartir da unidade de uso.
As etapas 315 e 345 envolve transmitir as informações de contato do cliente parainclusão no diretório de contato global. Esses dois blocos ilustram que as informações decontato podem ser submetidas a vários pontos no processo 300. Além disso, deve ser reco-nhecido que as informações de contato podem ser submetidas em outros pontos no proces-so 300 não mostrado na figura 3. Em uma modalidade, a publicação das informações decontato para o diretório de contato global é uma característica opt-in em uma base por clien-te.
Como mencionado acima, certas situações podem se originar onde se torna neces-sário reatribuir um cliente específico a uma unidade de uso diferente. Informações de reatri-buição, caso haja, são incluídas na atualização recebida pelo cliente na etapa 360. Na etapa370, o processo 300 determina se a atualização contém informações que necessitam reatri-buição. Caso negativo, o processo 300 continua a operação normal e retorna para a etapa350. Se a atualização efetivamente contiver informações que necessitam reatribuição, oprocesso 300 retorna para a etapa 310 onde o cliente 110 passará através das mesmasetapas de provisionamento para ser atribuída e acoplar-se de forma comunicativa a umanova unidade de uso.
A figura 4A ilustra um processo 400 para provisionamento global de um serviço, deacordo com uma modalidade. Deve ser reconhecido que algumas modalidades podem nãoutilizar todas as etapas na figura 4A. Deve ser adicionalmente reconhecido que algumasmodalidades podem incluir etapas adicionais não representadas na figura 4A. As etapas doprocesso 400 podem ser armazenadas como instruções em um meio legível por computadore executadas em um processador de computador.
O processo 400 começa na etapa 410 pela obtenção de informações de localizaçãopara um cliente. As informações de localização podem ser obtidas de diversas maneiras,como diretamente a partir do cliente, através da infra-estrutura de roteamento de rede glo-bal, uma combinação dos dois, etc. As informações de localização podem incluir, porém nãosão limitadas a, um ID geográfico, como um identificador de país, e o fuso horário do cliente.As informações de localização também podem incluir um ID de conta, um certificado de con-ta, um tipo de licença, e um ID de transação.
Na etapa 420, uma unidade de uso preferida à qual o cliente será atribuído é de-terminada. A etapa 420 pode ser obtida de muitas maneiras. A figura 4B ilustra um processo430 para determinar uma unidade de uso preferida para a qual o cliente será atribuído, deacordo com uma modalidade. Na etapa 431 do processo 430, as informações de localizaçãodo cliente são transmitidas para o centro de dados global. Na etapa 432, informações deatribuição são recebidas a partir do centro de dados global. As informações de atribuiçãoatribuem o cliente a uma unidade de uso específica. As informações de atribuição são pelomenos em parte baseadas nas informações de localização e podem incluir, porém não sãolimitadas a, uma URL que corresponde à unidade de uso atribuída, um certificado que cor-responde à unidade de uso atribuída, um token de autorização e um código hash. A figura4C ilustra um processo 440 para determinar uma unidade de uso preferida à qual o clienteserá atribuído quando uma réplica de GPD é acoplada ao dispositivo utilizando processos400 e 440, de acordo com uma modalidade. Na etapa 441, as informações de atribuição sãoobtidas a partir da réplica de GPD.
A partir da etapa 420, o processo 400 prossegue a seguir para a etapa 450, ondeas informações de atribuição são sinalizadas com uma chave de criptografia. As informa-ções de atribuição são então transmitidas para o cliente (etapa 460).Em uma modalidade, o dispositivo que utiliza o processo 400 pode ele próprio seruma unidade de uso e desse modo fornecer o serviço para outros clientes atuais, comomencionado acima, certas situações podem se originar onde se torna necessário reatribuirum cliente atual específico para uma unidade de uso diferente. A figura 4D ilustra um pro-cesso 470 para reatribuir um cliente atual para uma nova unidade de uso, de acordo comuma modalidade. Deve ser reconhecido que algumas modalidades podem não utilizar todasas etapas representadas na figura 4D. Deve ser adicionalmente reconhecido que algumasmodalidades podem incluir etapas adicionais não representadas na figura 4D. Etapas deprocesso 470 podem ser armazenadas como instruções em um meio legível por computadore executadas em um processador de computador.
Na etapa 471, uma determinação é feita com relação a se um cliente atual necessi-ta ser reatribuído para uma nova unidade de uso. Essa determinação pode ser totalmenteinterna à unidade de uso atual (por exemplo, a unidade de uso atingiu a capacidade máxi-ma) ou pode ser o resultado de variáveis externas (por exemplo, uma instrução recebida apartir do centro de dados global que exige que o cliente atual seja reatribuído). Se o clienteatual não necessitar ser reatribuído, a unidade de uso atual continua as operações normaiscom relação ao cliente atual e provê o serviço (etapa 472) e atualizações periódicas (etapa473) para o cliente atual. Se o cliente atual efetivamente necessitar ser reatribuído, o pro-cesso 470 prossegue para a etapa 474 onde o centro de dados global é marcado para ocliente atual se a nova unidade de uso já é conhecida. Na etapa 475, as informações quenecessitam de reatribuição são fornecidas para o cliente atual, fazendo com que efetivamen-te o cliente atual passe através das mesmas etapas de provisionamento para ser atribuído auma nova unidade de uso. As informações de atribuição podem ser fornecidas ao clienteatual de diversas maneiras. POr exemplo, as informações de atribuição podem ser forneci-das para o cliente atual em uma atualização similar àquela transmitidas para o cliente naetapa 473.
A figura 5 ilustra um exemplo de um ambiente de sistema de computação apropria-do 500 no qual modalidades podem ser implementadas. O ambiente do sistema de compu-tação 500 é somente um exemplo de um ambiente de computação apropriado e não preten-de sugerir qualquer limitação com relação ao escopo ou funcionalidade da invenção. Nemdeve ser o ambiente de computação 500 interpretado como tendo qualquer dependência ouexigência referente a qualquer um ou combinação de componentes ilustrados no ambienteoperacional exemplar 500.
Com referência à figura 5, um sistema exemplar para implementar modalidades in-clui um ambiente de sistema de computação de propósito geral, como ambiente de sistemade computação 500. Em sua configuração mais básica, o ambiente do sistema de computa-ção 500 inclui tipicamente pelo menos uma unidade de processamento 502 e memória 504.Dependendo da configuração exata e tipo de ambiente do sistema de computação, a memó-ria 504 pode ser volátil (como RAM), não volátil (como ROM, memória flash, etc.) ou algumacombinação das duas. Essa configuração mais básica é ilustrada na figura 5 pela linha tra-cejada 505. Adicionalmente, o ambiente de sistema de computação 500 pode ter também características/funcionalidade adicionais. POr exemplo, o ambiente do sistema de computa-ção 500 pode incluir também armazenagem adicional (removível e/ou não removível) inclu-indo, porém não limitado a, fita ou discos magnéticos ou ópticos. Tal armazenagem adicio-nal é ilustrada na figura 5 por armazenagem removível 508 e armazenagem não removível510. Meios de armazenagem de computador incluem meios volátil e não volátil, removível e não removível implementados em qualquer método ou tecnologia para armazenagem deinformações como instruções legíveis por computador, estruturas de dados, módulos deprograma ou outros dados. Memória 504, armazenagem removível 508 e armazenagem nãoremovível 510 são todos exemplos de meios de armazenagem de computador. Meios dearmazenagem de computador incluem, porém não são limitados a, RAM, ROM, EEPROM,memória flash ou outra tecnologia de memória, CD-ROM, digital versatile disks (DVD) ououtra armazenagem óptica, cassetes magnéticos, fita magnética, armazenagem de discomagnético ou outros dispositivos de armazenagem magnética, ou qualquer outro meio quepossa ser utilizado para armazenar as informações desejadas e que possa ser acessado porambiente de sistema de computação 500. Quaisquer tais meios de armazenagem de com- putador podem fazer parte do ambiente de sistema de computação 500.
O ambiente de sistema de computação 500 também pode conter conexão(ões) decomunicação 512 que permitem que o mesmo se comunique com outros dispositivos. Cone-xão(ões) de comunicação 512 é um exemplo de meios de comunicação. Meios de comuni-cação incorporam, tipicamente, instruções legíveis por computador, estruturas de dados, módulos de programa ou outros dados em um sinal de dados modulados como uma ondaportadora ou outro mecanismo de transporte e inclui quaisquer meios de distribuição de in-formações. O termo "sinal de dados modulados" significa um sinal que tem uma ou mais desuas características definidas ou alteradas de tal modo a codificar informações no sinal.Como exemplo, e não limitação, meios de comunicação incluem meios cabeados como uma rede cabeada ou conexão de fio direto, e meios sem fio como meios acústicos, RF, infra-vermelho e outros meios sem fio. O termo meio legível por computador, como utilizado aqui,inclui tanto meios de armazenagem como meios de comunicação. O ambiente do sistemade computação 500 pode ter também dispositivo(s) de entrada 514 como um teclado, mou-se, caneta, dispositivo de entrada de voz, dispositivo de entrada por toque, etc. dispositivo(s) de saída 516 como display, alto-falantes, impressoras, etc. podem ser também incluídos.Todos esses dispositivos são bem conhecidos na técnica e não necessitam ser discutidosextensamente aqui.Desse modo, modalidades fornecem tecnologia altamente adaptável para provisio-nar globalmente um serviço. A tecnologia é capaz de atribuir de forma inteligente clientespara unidades de uso apropriadas (freqüentemente a mais próxima) para fins de receber oserviço. Além disso, modalidades permitem a adição ou remoção dinâmica de uma unidadede uso por reatribuir clientes em movimento. Tal arquitetura é ideal para suportar numeraçãode clientes em milhão.es
A descrição anterior das modalidades reveladas é fornecida para permitir que qual-quer pessoa versada na técnica faça ou utilize a matéria reivindicada. Várias modificaçõesnessas modalidades serão prontamente evidentes para aqueles versados na técnica, e osprincípios genéricos definidos aqui podem ser aplicados a outras modalidades sem se afas-tar do espírito ou escopo da matéria reivindicada. Desse modo, a matéria reivindicada nãopretende ser limitada às modalidades mostradas aqui porém deve ser acordada o escopomais amplo compatível com os princípios e características novas reveladas aqui.

Claims (20)

1. Sistema (100) para provisionamento global de um serviço para um cliente (110),CARACTERIZADO por compreender:uma pluralidade de unidades de uso (DU1-DUn)1 as unidades de uso (DU1-DUn)configuradas para fornecer o serviço a um número de clientes (110); eum servidor de provisionamento (120) configurado para obter informações de locali-zação para os clientes (110) e para transmitir informações de atribuição com base nas in-formações de localização para os clientes (110), em que as informações de atribuição com-preendem uma atribuição de unidade de uso, e em que ainda os clientes (110) acoplam deforma comunicativa com unidades de uso específicas com base nas atribuições de unidadede uso fornecidas pelo servidor de provisionamento (120).
2. Sistema, de acordo com a reivindicação 1, CARACTERIZADO por compreenderainda:um serviço de provisionamento global (140) acoplado de forma comunicativa com oservidor de provisionamento (120) e um número de bancos de dados (150, 160) em que oserviço de provisionamento global recebe as informações de localização a partir do servidorde provisionamento (120) e utiliza as informações de localização e os bancos de dados(150, 160) para determinar as informações de atribuição, e em que ainda o serviço de provi-sionamento global (140) prove as informações de atribuição para o servidor de provisiona-mento (120).
3. Sistema, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que oservidor de provisionamento (120) é adicionalmente configurado para receber informaçõesde contato a partir dos clientes (110) e prover as informações de contato para o serviço deprovisionamento global (140), e em que o número de bancos de dados (150, 160) compre-ende:um diretório de contato global (160) acoplado de forma comunicativa com o serviçode provisionamento global (140), o diretório de contato global (160) para hospedar as infor-mações de contato.
4. Sistema, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que onúmero de bancos de dados (150, 160) compreende:um diretório de provisionamento global (150) acoplado de forma comunicativa aoserviço de provisionamento global (140), o diretório de provisionamento global (150) parahospedar todas as unidades de uso conhecidas (DU1-DUn).
5. Sistema, de acordo com a reivindicação 4, CARACTERIZADO por compreenderaindauma réplica (170) do diretório de provisionamento global (150) acoplado de formacomunicativa com o servidor de provisionamento (120), em que o servidor de provisiona-mento (120) é configurado para opcionalmente acessar a réplica (170) do diretório de provi-sionamento global (150) para determinar as informações de atribuição em vez via o serviçode provisionamento global (140), em que ainda a réplica (170) do diretório de provisiona-mento global (150) é configurado para sincronizar periodicamente com o diretório de provisi-onamento global (150).
6. Sistema, de acordo com a reivindicação 5, CARACTERIZADO por compreenderuma pluralidade de servidores de provisionamento (220i-220n) e uma pluralidade de réplicas(270i-270n) do diretório de provisionamento global (250), em que os servidores de provisio-namento (220i-220n) e as réplicas (2701-270N) do diretório de provisionamento global (250)são integrados em unidades de uso respectivas (DU^-DIV).
7. Sistema, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que oservidor de provisionamento (120) obtém as informações de localização a partir dos clientes(110) e as informações de localização compreendem um ID geográfico e um fuso horário.
8. Sistema, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que oservidor de provisionamento (120) obtém as informações de localização a partir de uma in-fra-estrutura de roteamento de rede global.
9. Método (300) de receber provisionamento global de um serviço em um cliente,CARACTERIZADO por compreender as etapas de:(a) transmitir (310) informações de localização para um servidor de provisionamen-to;(b) receber (320) informações de atribuição a partir do servidor de provisionamento,em que as informações de atribuição atribuem o cliente a uma unidade de uso específica esão baseadas nas informações de localização; e(c) acoplar de forma comunicativa (330) com a unidade de uso específica, em que aunidade de uso provê o serviço para o cliente.
10. Método, de acordo com a reivindicação 9, CARACTERIZADO por compreenderainda:(d) receber periodicamente (360) uma atualização a partir da unidade de uso espe-cífica.
11. Método, de acordo com a reivindicação 10, CARACTERIZADO por compreen-der ainda:(e) receber (360, 370) informações que necessitam de reatribuição a partir da uni-dade de uso específica, em que as informações que necessitam de reatribuição orientam ocliente para nova provisão; e(f) repetir as etapas (a), (b) e (c).
12. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de queas informações de localização compreendem um ID de conta, um certificado de conta, umtipo de licença, um ID de transação e um fuso horário.
13. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de queas informações de atribuição compreendem um URL que corresponde à unidade de usoespecífica, um primeiro certificado correspondendo à unidade de uso específica, um tokende autorização e um código hash.
14. Método, de acordo com a reivindicação 13, CARACTERIZADO pelo fato de queo token de autorização compreende o nome do servidor de provisionamento.
15. Método, de acordo com a reivindicação 13, CARACTERIZADO pelo fato de queo código hash compreende um hash do ID de conta, ID de transação, o URL corresponden-do à unidade de uso específica, um URL correspondendo ao servidor de provisionamento, eum segundo certificado correspondendo ao servidor de provisionamento.
16. Método (400) de provisionamento global de um serviço, CARACTERIZADO porcompreender:obter (410) informações de localização para um cliente;determinar (420) uma unidade de uso preferida para a qual o cliente será atribuído;etransmitir (460) informações de atribuição em relação à unidade de uso preferidapara o cliente, em que o cliente acopla de forma comunicativa com a unidade de uso prefe-rida após receber as informações de atribuição para receber o serviço a partir da unidade deuso preferida;
17. Método, de acordo com a reivindicação 16, CARACTERIZADO por compreen-der ainda:sinalizar (450) as informações de atribuição com uma chave de criptografia antesda transmissão das informações de atribuição para o cliente.
18. Método, de acordo com a reivindicação 16, CARACTERIZADO pelo fato de quea determinação (420) compreende:transmitir (431) as informações de localização para um centro de dados global paradeterminação da unidade de uso preferida; ereceber (432) as informações de atribuição a partir do centro de dados global.
19. Método, de acordo com a reivindicação 18, CARACTERIZADO pelo fato de queo centro de dados global compreende um diretório de provisionamento global para hospedartodas as unidades de uso conhecidas, e em que a determinação (420) compreende ainda:obter opcionalmente (441) as informações de atribuição a partir de uma réplica dodiretório de provisionamento global em vez de via o centro de dados global.
20. Método, de acordo com a reivindicação 16, CARACTERIZADO por compreen-der ainda:marcar (474) um centro de dados global para um cliente atual se uma nova unidadede uso for conhecida; e transmitir (475) as informações que necessitam de reatribuição para o cliente atual,em que as informações que necessitam de reatribuição causa a nova provisão do clienteatual.
BRPI0711095A 2006-05-05 2007-05-04 provisionamento global de milhões de usuários com unidades de uso BRPI0711095B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/418.687 2006-05-05
US11/418,687 US9049268B2 (en) 2006-05-05 2006-05-05 Global provisioning of millions of users with deployment units
PCT/US2007/010874 WO2007130595A2 (en) 2006-05-05 2007-05-04 Global provisioning of millions of users with deployment units

Publications (2)

Publication Number Publication Date
BRPI0711095A2 true BRPI0711095A2 (pt) 2011-08-23
BRPI0711095B1 BRPI0711095B1 (pt) 2018-11-21

Family

ID=38668345

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0711095A BRPI0711095B1 (pt) 2006-05-05 2007-05-04 provisionamento global de milhões de usuários com unidades de uso

Country Status (9)

Country Link
US (3) US9049268B2 (pt)
JP (1) JP5080563B2 (pt)
KR (1) KR101376815B1 (pt)
CN (1) CN101438273B (pt)
BR (1) BRPI0711095B1 (pt)
MX (1) MX2008013946A (pt)
RU (1) RU2467381C2 (pt)
TW (1) TWI504201B (pt)
WO (1) WO2007130595A2 (pt)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8612556B2 (en) * 2006-05-03 2013-12-17 Comcast Cable Holdings, Llc Method of provisioning network elements
US8165041B2 (en) * 2008-12-15 2012-04-24 Microsoft Corporation Peer to multi-peer routing
US20140201268A1 (en) * 2011-09-06 2014-07-17 Nec Corporation Data placement system, distributed access node, data placement method and program
CN103891329B (zh) * 2011-10-25 2017-11-28 诺基亚技术有限公司 用于保护主机配置消息的方法
JP5914198B2 (ja) * 2012-06-14 2016-05-11 シャープ株式会社 データ配信システム、データ配信方法及び配信制御サーバー
EP2912551A1 (en) * 2012-10-23 2015-09-02 Telefonaktiebolaget LM Ericsson (Publ) Method and system for cloud service deployment
JP6399382B2 (ja) * 2014-01-08 2018-10-03 パナソニックIpマネジメント株式会社 認証システム
TWI693565B (zh) * 2018-02-08 2020-05-11 鼎新電腦股份有限公司 資料部署方法及資料部署系統
US20210211510A1 (en) * 2018-05-18 2021-07-08 Idac Holdings, Inc. Pinning service function chains to context-specific service instances
US11539787B2 (en) * 2020-04-30 2022-12-27 T-Mobile Usa, Inc. 5G enabled massively distributed on-demand personal cloud system and method

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07302236A (ja) * 1994-05-06 1995-11-14 Hitachi Ltd 情報処理システムおよびその方法並びに情報処理システムにおけるサービス提供方法
US5557678A (en) * 1994-07-18 1996-09-17 Bell Atlantic Network Services, Inc. System and method for centralized session key distribution, privacy enhanced messaging and information distribution using a split private key public cryptosystem
SE510048C3 (sv) 1997-07-24 1999-05-03 Mirror Image Internet Ab Internet caching system
US6330324B1 (en) * 1997-12-09 2001-12-11 Sbc Technology Resources, Inc. Geographical call routing for a non-emergency calling service
US5987233A (en) 1998-03-16 1999-11-16 Skycache Inc. Comprehensive global information network broadcasting system and implementation thereof
US6665702B1 (en) * 1998-07-15 2003-12-16 Radware Ltd. Load balancing
US6438652B1 (en) 1998-10-09 2002-08-20 International Business Machines Corporation Load balancing cooperating cache servers by shifting forwarded request
KR100708335B1 (ko) * 1999-10-04 2007-04-17 김홍년 비 영어권 국가에서의 자국어를 이용한 도메인 네임 등록 서비스 방법
US6668272B1 (en) 1999-11-05 2003-12-23 General Electric Company Internet-based process optimization system and method
KR100375121B1 (ko) 1999-12-23 2003-03-08 주식회사 아라기술 웹 콘텐츠 전송 제어 방법
US6415018B1 (en) * 2000-02-08 2002-07-02 Lucent Technologies Inc. Telecommunication system and method for handling special number calls having geographic sensitivity
US6799214B1 (en) * 2000-03-03 2004-09-28 Nec Corporation System and method for efficient content delivery using redirection pages received from the content provider original site and the mirror sites
US7555542B1 (en) 2000-05-22 2009-06-30 Internap Network Services Corporation Method and system for directing requests for content to a content server based on network performance
NO323907B1 (no) 2000-07-07 2007-07-16 Ericsson Telefon Ab L M Personlig mobilt Internett
US7194764B2 (en) * 2000-07-10 2007-03-20 Oracle International Corporation User authentication
US7165116B2 (en) 2000-07-10 2007-01-16 Netli, Inc. Method for network discovery using name servers
US7725602B2 (en) * 2000-07-19 2010-05-25 Akamai Technologies, Inc. Domain name resolution using a distributed DNS network
KR20020029441A (ko) 2000-08-21 2002-04-19 김영민 분산 서버 시스템 및 이를 이용한 데이터 제공 방법
US7152109B2 (en) 2001-04-20 2006-12-19 Opsware, Inc Automated provisioning of computing networks according to customer accounts using a network database data model
US8107937B2 (en) * 2001-07-31 2012-01-31 Nokia Corporation System and method for automatic provisioning detection and notification
US20030079027A1 (en) 2001-10-18 2003-04-24 Michael Slocombe Content request routing and load balancing for content distribution networks
US20030078987A1 (en) * 2001-10-24 2003-04-24 Oleg Serebrennikov Navigating network communications resources based on telephone-number metadata
US20030126203A1 (en) 2001-12-28 2003-07-03 Inventec Corporation Server system with geographical location service and method of using the same
US6782352B2 (en) 2001-12-28 2004-08-24 Inventec Corporation System and method for monitoring server host operation
CN100403293C (zh) 2002-01-28 2008-07-16 特瑞帝德国际公司 用于阶层式服务和内容分布的网络系统方法和协定
JP2003256308A (ja) * 2002-03-01 2003-09-12 Nippon Telegr & Teleph Corp <Ntt> コンテンツ配信制御システムと方法およびコンテンツ配信サービス受付制御装置ならびにプログラムと記録媒体
US6871076B2 (en) 2002-07-11 2005-03-22 International Business Machines Corporation Method and system for automatically adjusting location based system information in a mobile computer
US6898435B2 (en) 2002-07-16 2005-05-24 David A Milman Method of processing and billing work orders
JP2004086697A (ja) 2002-08-28 2004-03-18 Seiko Epson Corp ネットワークにおける接続管理技術
US7310686B2 (en) * 2002-10-27 2007-12-18 Paxfire, Inc. Apparatus and method for transparent selection of an Internet server based on geographic location of a user
US7200658B2 (en) * 2002-11-12 2007-04-03 Movielink, Llc Network geo-location system
DE10256457B4 (de) 2002-12-03 2005-05-25 Siemens Ag Austausch geographischer Positionsinformation zwischen Positionsinformations-Server und Kernnetzwerk-Element
US7451217B2 (en) * 2002-12-19 2008-11-11 International Business Machines Corporation Method and system for peer-to-peer authorization
US20040242240A1 (en) 2003-05-27 2004-12-02 Motorola, Inc. Location assisted communications mode switching
GB2415328B (en) 2004-06-16 2006-10-04 Matsushita Electric Ind Co Ltd Method for home agent location
JP2006039738A (ja) 2004-07-23 2006-02-09 Sumitomo Metal Ind Ltd クライアントサーバシステム
JP4852938B2 (ja) * 2005-09-02 2012-01-11 富士ゼロックス株式会社 データサーバ及びデータ管理方法及びプログラム

Also Published As

Publication number Publication date
US9049268B2 (en) 2015-06-02
CN101438273A (zh) 2009-05-20
JP2009536402A (ja) 2009-10-08
CN101438273B (zh) 2013-08-28
BRPI0711095B1 (pt) 2018-11-21
US10462235B2 (en) 2019-10-29
WO2007130595A2 (en) 2007-11-15
RU2008143608A (ru) 2010-05-10
US10721317B2 (en) 2020-07-21
MX2008013946A (es) 2008-11-12
TWI504201B (zh) 2015-10-11
KR101376815B1 (ko) 2014-03-20
TW200807963A (en) 2008-02-01
WO2007130595A3 (en) 2008-01-03
KR20090025198A (ko) 2009-03-10
US20150381747A1 (en) 2015-12-31
US20190182341A1 (en) 2019-06-13
RU2467381C2 (ru) 2012-11-20
JP5080563B2 (ja) 2012-11-21
US20070276900A1 (en) 2007-11-29

Similar Documents

Publication Publication Date Title
BRPI0711095A2 (pt) provisionamento global de milhões de usuários com unidades de uso
KR102112459B1 (ko) 블록체인 시스템들에서의 크로스 체인 인터랙션들을 위한 도메인 네임 체계
US20200137064A1 (en) Decentralized identity management system
KR20200059184A (ko) 블록체인 시스템들에서의 크로스 체인 인터랙션들을 위한 도메인 네임 관리 체계
EP3676787B1 (en) Methods and devices for providing traversable key-value data storage on blockchain
US20060195688A1 (en) Method, system and program product for managing applications in a shared computer infrastructure
RU2012155862A (ru) Средства управления доступом к онлайновой слежке с использованием внемасштабных признаков каталога
CN109542861B (zh) 一种文件管理方法、装置和系统
BR112017005646B1 (pt) Funções de partição composta
JP5848339B2 (ja) プロビジョニングサービスのためのリーダーアービトレーション
US7761552B2 (en) Root node for integrating NAS of different user name spaces
CN104410604A (zh) 实现大规模用户同时登录的SaaS服务系统及其方法
US9300522B2 (en) Information technology asset management
US20120239937A1 (en) Information processing device, computer program product, and access control system
CN108737591A (zh) 一种服务配置的方法及装置
JP2022528710A (ja) 分散台帳のためのエイリアスに基づくアドレッシングを実施する、コンピュータにより実施されるシステム及び方法
US10924452B1 (en) Auditing IP address assignments
CN111316297A (zh) 用于协调用于基础设施建模的代码的技术
US11303606B1 (en) Hashing name resolution requests according to an identified routing policy
CN114745397A (zh) 一种基于私有云的在线存储方法、系统
US10789179B1 (en) Decentralized access management in information processing system utilizing persistent memory
CN115712733A (zh) 一种知识图谱构建方法及相关设备
CN116339634A (zh) 控制方法、装置及电子设备
CN116980114A (zh) 一种面向元宇宙的多标识管理和解析方法及系统
CN113742783A (zh) 域名数据的处理方法、装置、服务器和存储介质

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC (US)

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B15K Others concerning applications: alteration of classification

Ipc: H04L 29/08 (2006.01)

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 21/11/2018, OBSERVADAS AS CONDICOES LEGAIS.