BRPI0711095B1 - 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
BRPI0711095B1
BRPI0711095B1 BRPI0711095A BRPI0711095A BRPI0711095B1 BR PI0711095 B1 BRPI0711095 B1 BR PI0711095B1 BR PI0711095 A BRPI0711095 A BR PI0711095A BR PI0711095 A BRPI0711095 A BR PI0711095A BR PI0711095 B1 BRPI0711095 B1 BR PI0711095B1
Authority
BR
Brazil
Prior art keywords
global
provisioning
directory
service
information
Prior art date
Application number
BRPI0711095A
Other languages
English (en)
Inventor
D Sanfilippo Thomas
Wang Weidong
Original Assignee
Microsoft Corp
Microsoft Technology Licensing Llc
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, Microsoft Technology Licensing Llc 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

(54) Título: PROVISIONAMENTO GLOBAL DE MILHÕES DE USUÁRIOS COM UNIDADES DE USO (73) Titular: MICROSOFT TECHNOLOGY LICENSING, LLC. Endereço: One Microsoft Way, Redmond, Washington, Estados Unidos da América, ESTADOS UNIDOS DA AMÉRICA(US) (72) Inventor: WEIDONG WANG; THOMAS D. SANFILIPPO.
Prazo de Validade: 10 (dez) anos contados a partir de 21/11/2018, observadas as condições legais
Expedida em: 21/11/2018
Assinado digitalmente por:
Alexandre Gomes Ciancio
Diretor Substituto de Patentes, Programas de Computador e Topografias de Circuitos Integrados t
“PROVISIONAMENTO GLOBAL DE MILHÕES DE USUÁRIOS COM UNIDADES
DE USO”
ANTECEDENTES
Durante os anos, a Internet evoluiu de um simples meio de publicar informações para um ambiente de multimeios rico em recursos. Devido à proliferação de tecnologia de banda 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 globais. 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 fornecer mais servidores para hospedar os serviços. Além disso, se o serviço for fornecido globalmente, pode ser desejável espalhar os servidores em diferentes regiões geográficas (por exemplo, um servidor nos EUA e um servidor na Ásia) para fornecer maior largura de banda a cada região respectiva. Além disso, se uma região experimentar uma carga particularmente pesada, também pode ser desejável subdividir adicionalmente aquela região (por exemplo, um servidor da Costa Oeste dos Estados Unidos, um servidor do Centro-oeste dos Estados 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ído a um servidor apropriado de modo que a largura de banda e desempenho do sistema possam ser otimizados.
SUMÁRIO
Esse sumário é fornecido para introduzir uma seleção de conceitos em uma forma simplificada que são descritos adicionalmente abaixo na Descrição Detalhada. Esse sumário não pretende identificar características chave ou características essenciais da matéria reivindicada, nem pretende ser utilizado para limitar o escopo da matéria reivindicada.
É descrita aqui tecnologia para, entre outras coisas, provisionamento global de um serviço. A tecnologia envolve um novo cliente que fornece suas informações de localização a um servidor de provisionamento. As informações de localização podem incluir, porém não são limitadas a, ID regional e fuso horário do cliente. O servidor de provisionamento determina uma unidade de uso apropriada, com base nas informações de localização, à qual o novo 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 comunicativamente à unidade de uso atribuída e começa a receber o serviço a partir da unidade de uso.
No caso de, por algum motivo, ser desejável que um cliente específico seja reatri2 buído a partir de sua unidade de uso atual para uma unidade de uso nova ou diferente, a unidade de uso atual transmite informações que necessitam reatribuição para o cliente. O cliente, após receber as informações que necessitam reatribuição, passa pelas etapas acima para receber a provisão de uma unidade de uso diferente. O cliente então acopla, de forma comunicativa, com a nova unidade de uso como instruído nas informações de reatribuição.
Desse modo, modalidades fornecem tecnologia altamente adaptável para provisionar global um serviço. A tecnologia é capaz de atribuir de forma inteligente clientes a unidades 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 de uso por reatribuir clientes em movimento. Tal arquitetura é ideal para suportar numeração de clientes em milhões.
BREVE DESCRIÇÃO DOS DESENHOS
Os desenhos em anexo, os quais são incorporados em e fazem parte do presente relatório descritivo, ilustram modalidades e juntamente com a descrição, serve para explicar seus princípios:
A figura 1 é um diagrama de blocos que ilustra um sistema para provisionamento global de um serviço, de acordo com uma modalidade.
A figura 2 é um diagrama de blocos que ilustra um sistema para provisionamento global de um serviço, de acordo com uma modalidade exemplar.
A figura 3 é um fluxograma que ilustra um processo para receber provisionamento global de um serviço em um cliente, de acordo com uma modalidade.
A figura 4A é um fluxograma que ilustra um processo para provisionamento global de um serviço, de acordo com uma modalidade.
A figura 4B é um fluxograma que ilustra um processo para determinar uma unidade de 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 unidade de uso preferida à qual um cliente novo será atribuído quando uma réplica de GPD é acoplada ao dispositivo que utiliza o processo, de acordo com uma modalidade.
A figura 4D é um fluxograma que ilustra um processo para reatribuir um cliente atual 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 reivindica, cujos exemplos são ilustrados nos desenhos em anexo. Embora a invenção seja descrita em combinação com as modalidades preferidas, será entendido que não pretendem limitar a matéria reivindica a essas modalidades. Ao contrário, a matéria reivindica pretende cobrir alternativas, modificações e equivalentes, que podem ser incluídos no espírito e escopo da matéria reivindicada como definido pelas reivindicações. Além disso, na descrição detalhada da presente invenção, inúmeros detalhes específicos são expostos para fornecer uma compreensão completa da matéria reivindicada. Entretanto, será óbvio para uma pessoa com conhecimentos comuns na técnica que a matéria reivindicada pode ser posta em prá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 obscurecer desnecessariamente aspectos da matéria reivindicada.
Algumas porções das descrições detalhadas que seguem são apresentadas em termos de procedimentos, blocos lógicos, processamento e outras representações simbólicas de operações em bits de dados compreendidos em uma memória de sistema digital ou computador. Essas descrições e representações são os meios utilizados por aqueles versados na técnica de processamento de dados para transportar mais eficazmente a substância de 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 etapas ou instruções que levam a um resultado desejado. As etapas são aquelas que exigem manipulaçõ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 serem armazenados, transferidos, combinados, comparados e de outro modo manipulados em um sistema de computador ou dispositivo de computação eletrônica similar. POr motivos de conveniê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 interpretados como referência a manipulações físicas e quantidades e são meramente rótulos convenientes e devem ser interpretados ainda em vista de termos comumente utilizados na técnica. A menos que especificamente mencionado de outro modo como evidente a partir da discussão aqui, entende-se que em todas as discussões da presente modalidade, discussões que utilizam 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 processos de um sistema computador, ou dispositivo de computação eletrônica similar, que manipula e transforma dados. Os dados são representados como quantidades físicas (eletrônicas) dentro dos registros e memórias do sistema de computador e são transformados em outros dados similarmente representados como quantidades físicas compreendidas as memórias ou registros do sistema de computador ou outros tais dispositivos de armazenagem, transmis4 são ou exibição de informação.
Dito de modo resumido, as modalidades envolvem um serviço 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, à 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 então acopla, de forma comunicativa, à 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, de acordo com uma modalidade. Embora a figura 1 represente um sistema de hardware, deve ser apreciado que as modalidades descritas aqui são bem adequadas para implementação em software, em que as funções de componentes na figura 1 são executadas por módulos de software equivalentes em sistemas de hardware separados.
O serviço fornecido pelo sistema 100 pode ser qualquer serviço que é bem adequado para provisionamento global. Em uma modalidade, o serviço é um serviço de escritório virtual. O sistema 100 inclui unidades de uso DU-i a DUN. Em sua forma mais básica, unidades de uso DU! a DUN fornecem o serviço a clientes (como cliente 110). O sistema 100 também inclui servidor de provisionamento 120. Deve ser reconhecido que embora somente um servidor de provisionamento seja representado na figura 1, o sistema 100 é bem adequado 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 conta com o serviço, o cliente 110 primeiramente conectar-se-á a um servidor de provisionamento 120. Nesse ponto, o servidor de provisionamento 120 obterá as informações da localização do cliente. Em uma modalidade, as informações de localização são obtidas a partir da infra-estrutura de roteamento de rede global. Em outra modalidade, o cliente 110 transmite suas informações de localização para o servidor de provisionamento 120. Ainda em outra modalidade, 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 utilizadas. As informações de localização podem incluir, porém não sã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 certificador de conta, um tipo de licença e um ID de transação.
O sistema 100 também inclui um serviço de provisionamento global 140, que é acoplado de forma comunicativa com os servidores de provisionamento como o servidor de provisionamento 120 e um número de bancos de dados. Após receber as informações de localização a partir do cliente 110, o servidor de provisionamento contatará o serviço de provisionamento global 140, que por sua vez fornecerá informações de atribuição para o cliente
110. POr exemplo, se o ID geográfico de um cliente corresponder aos Estados Unidos, e o fuso horário do cliente for Horário Padrão do Pacífico, o serviço de provisionamento global 140 atribuirá o cliente a uma unidade de uso de Costa Oeste dos Estados Unidos. Em uma modalidade, cada unidade de uso pode suportar somente certos tipos de licença. POr exemplo, uma unidade de uso de Costa Este dos Estados Unidos pode suportar tipos de licença A e B, enquanto uma unidade de uso de Costa Oeste dos Estados Unidos somente suporta licenças do tipo A. Desse modo, se o cliente a partir do exemplo anterior tiver uma licença do tipo B, o serviço de provisionamento global atribuiría o cliente à unidade de uso de Costa Este dos Estados Unidos porque a unidade de uso de Costa Oeste dos Estados Unidos não suporta a licença do cliente. As informações de atribuição fornecidas pelo servidor de provisionamento global 14(Tpodem incluir, porém não são limitadas a um URL correspondendo à unidade de uso atribuída, um certificado correspondendo à unidade de uso atribuída, uma ficha de autorização, e um código hash.
Em uma modalidade, os bancos de dados aos quais o serviço de provisionamento global é acoplado incluem um diretório de provisionamento global (GPD) 150, que hospeda informações sobre unidades de uso DU^DUn. Essas informações podem incluir, porém não são limitadas a, nomes e localizações das unidades de uso, URLs e certificados correspondendo à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 a partir do serviço de provisionamento global 140 transmitirá, por sua vez, as informações de atribuição de volta para o cliente 110. Em resposta, o cliente 110 acoplará, então de forma comunicativa 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, DUO, 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 provisionamento global é acoplado incluem um diretório de contato global 160, que hospeda informações de contato 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 escolher publicar 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ã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 ser opcional, a publicação pode ocorrer a qualquer momento. POr exemplo, o cliente 110 pode publicar suas informações de contato através do servidor de provisionamento 120 quando está solicitando as informações de atribuição. Alternativamente, o cliente 110 pode publicar suas informações de contato via sua respectiva unidade de uso (por exemplo, DUO após ter recebido sua atribuição de unidade de uso.
Em uma modalidade, o sistema 100 inclui uma réplica de GPD 170 acoplada de forma comunicativa ao servidor de provisionamento 120. De forma ideal, a réplica de GPD 170 é localizada de forma próxima ao servidor de provisionamento 120. O benefício de ter a réplica de GPD 170 é que o servidor de provisionamento 120 pode tomar a decisão de provisionamento ele próprio com base nas informações na réplica de GPD 170, em vez de obter as informações de atribuição a partir do serviço de provisionamento global 140. Isso encurta a quantidade de tempo necessário para provisionar um cliente e reduzir o uso de largura de banda do serviço de provisionamento global 140. Se cada servidor de provisionamento no sistema 100 (como servidor de provisionamento 120) for acoplado a uma réplica de GPD respectiva (como réplica de GPD 170), o serviço de provisionamento global 140 então somente necessita se preocupar com modificações de gerenciamento e consultas para o diretório de contato global e periodicamente sincronizar as réplicas de GPD (como ré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 mais novas unidades de uso (por exemplo, DUNi+i, DUn+2, etc, não mostrado) ao sistema 100. POr exemplo, se os Estados Unidos tiverem atualmente uma unidade de uso de Costa Oeste e Costa Este, as quais estão ambas se aproximando de seus limites de capacidade, o sistema 100 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 clientes para a nova unidade de uso para distribuir mais uniformemente a carga. O reprovisionamento de clientes para unidades de uso novas ou diferentes pode ser desejável também em outras situações, como reatribuir um cliente se ele tiver mudado 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). Se houver unidades de uso específicas para mudar aqueles clientes para, a unidade de uso marcará no banco de dados global para aqueles clientes. Em tais casos, as unidades de uso transmitirão as informações de necessitam reatribuição para os clientes. Após receber as informações de necessitam de reatribuição, os clientes passarão através das mesmas etapas de provisionamento pelo contato com um servidor de provisionamento. Se um cliente tiver se mudado, devido a sua alteração de localização, será atribuído agora para uma unidade de uso diferente mais próxima dele. Se o registro correspondente no banco de dados global tiver sido marcado, o cliente será atribuído a uma unidade de uso pré-atribuída. Os clientes reatribuídos reconectarão então com a unidade de uso apropriada. Deve ser apreciado que funções similares podem ser 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, de acordo com uma modalidade exemplar. Embora a figura 1 represente um sistema de hardware, deve ser reconhecido que as modalidades descritas aqui são bem adequadas para implementação em software, onde as funções dos componentes na figura 1 são executadas por módulos de software equivalentes.
NO sistema 200, servidores de provisionamento 220,-2001^ e réplicas de GPD 270,270N são integrados nas respectivas unidades de uso DU/ e DUN’. Além disso, o serviço de provisionamento global 240, GPD 250, e diretório de contato global 260 são integrados em um centro de dados global 230. Funcionalmente, o sistema 200 opera similar ao sistema 100.
Em uma modalidade, quando um usuário individual está pronto para criar uma conta com o serviço, o cliente^lO príTneiramente conectar-se-á a um servidor de provisionamento (por exemplo, 220,) que é integrado em uma unidade de uso respectiva (por exemplo, DU,’). Em uma modalidade, os servidores de provisionamento têm um nome bem conhecido ou alias (por exemplo, provision.groove.microsoft.com), que é incorporado no cliente 210. O servidor de provisionamento (por exemplo, 220i) obterá as informações de localização do cliente. Em uma modalidade, as informações de localização são obtidas a partir da infra-estrutura de roteamento de rede global. Em outra modalidade, o cliente 210 transmite suas informações de localização para o servidor de provisionamento (por exemplo, 220i). Ainda em outra modalidade, a combinação de informações de localização enviadas por cliente e as informações de localização obtidas a partir da infraestrutura de roteamento de rede global são utilizadas. As informações de localização podem incluir, porém não são limitadas 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 tipo de licença e um ID de transação.
Após receber as informações de localização a partir do cliente 210, o servidor de provisionamento (por exemplo, 2200 contatará o serviço de provisionamento global 240, que é integrado no centro de dados global 230. O serviço de provisionamento global 240 fornecerá, 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 é limitado a um URL que corresponde à unidade de uso atribuída (por exemplo, DUN’), um certificado que corresponde à unidade de uso atribuída, uma ficha de autorização e um código hash.
Em uma modalidade, GPD 250 integrado no centro de dados global 230 hospeda informações sobre unidades de uso DU,’-DUN’. Essas informações podem incluir, porém não são limitadas a nomes e localizações das unidades de uso, URLs e certificados correspondendo às unidades de uso, as informações de capacidade de uso das unidades de uso, os tipos de licenças suportados pelas unidades de uso, etc.
Após o servidor de provisionamento (por exemplo, 220Ί) receber as informações de atribuição a partir do serviço de provisionamento global 240 transmitirá, por sua vez, as informaçõ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 (por exemplo, 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 o cliente 210 é atribuído (por exemplo, DUN’) ser uma unidade de uso diferente daquela da qual a informação de atribuição foi originalmente recebida (por exemplo, DU/)·
Em uma modalidade, o diretório de contato global 260 integrado no centro de dados global 230 hospeda informações de contato para usuários do sistema 200. Em uma modalidade, o diretório de contato global é uma característica opt-in. Desse modo, usuários (por exemplo, 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 ser opcional, a publicação pode ocorrer a qualquer momento. POr exemplo, o cliente 210 pode publicar suas informações de contato através da unidade de uso inicial (por exemplo, 011/) quando solicitar as informações de atribuição. Alternativamente, o cliente 210 pode publicar suas 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 270Ί-270Ν integrados nas respectivas unidades de uso DUi’-DUn’ permitem que seus respectivos servidores de provisionamento 220Ί-220Ν tomem decisões de provisionamento eles próprios com base nas informações nas réplicas de GPD 270-I270n, em vez de obter as informações de atribuição a partir do serviço de provisionamento global 240. Isso encurta a quantidade de tempo necessário para provisionar um cliente e reduz o uso de largura de banda do serviço de provisionamento global 240. POr incorporar as réplicas de GPD 270r270N nas unidades de uso DUZ-DUn’, a carga de processamento no 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 modificações e consultas para o diretório de contato global 260 e periodicamente sincronizar as réplicas de GPD 270i-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 desejável ou necessário incluem, porém não são limitados a reatribuir usuários após a adição ou remoção de uma unidade de uso a partir do sistema 200, reatribuir um cliente se for mudado 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 clientes que devem ser provisionados novamente e subseqüentemente transmitir a nova informação de atribuição para os clientes. Os clientes reatribuídos reconectarão então à unidade de uso apropriada.
A figura 3 ilustra um processo 300 para receber provisionamento global de um serviço em um cliente, de acordo com uma modalidade. Deve ser reconhecido que algumas modalidades podem não utilizar todas as etapas representadas na figura 3. Deve ser adicionalmente reconhecido que algumas modalidades podem incluir etapas adicionais não representadas na figura 3. As etapas do processo 300 podem ser armazenadas como instruções em 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 para um servidor de provisionamento. As informações de localização podem incluir, porém não sã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 conta, 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 provisionamento. As informações de atribuição atribuem o cliente a uma unidade de uso específica. As informações de atribuição são, pelo menos em parte baseadas nas informações de localização e podem incluir, porém não são limitadas a um URL correspondendo à unidade de uso atribuída, um certificado correspondendo à unidade de uso atribuída, uma ficha de autorização, e um código hash. Na etapa 330, o cliente acopla de forma comunicativa com a unidade de uso atribuída. Na etapa 340, o cliente autentica com a unidade de uso. A etapa de autenticação pode incluir, porém não é limitada a, transmitir o ID de conta, certificado de conta, ID de transação, a ficha de autenticação, e o URL correspondendo ao servidor de provisionamento para a unidade de uso para verificação. Após o cliente ser autenticado, pode começar a receber o serviço (etapa 350) e atualizações periódicas (etapa 360) a partir da unidade de. uso.
As etapas 315 e 345 envolve transmitir as informações de contato do cliente para inclusão no diretório de contato global. Esses dois blocos ilustram que as informações de contato podem ser submetidas a vários pontos no processo 300. Além disso, deve ser reconhecido que as informações de contato podem ser submetidas em outros pontos no processo 300 não mostrado na figura 3. Em uma modalidade, a publicação das informações de contato para o diretório de contato global é uma característica opt-in em uma base por cliente.
Como mencionado acima, certas situações podem se originar onde se torna necessário reatribuir um cliente específico a uma unidade de uso diferente. Informações de reatri10 buição, caso haja, são incluídas na atualização recebida pelo cliente na etapa 360. Na etapa 370, o processo 300 determina se a atualização contém informações que necessitam reatribuição. Caso negativo, o processo 300 continua a operação normal e retorna para a etapa 350. Se a atualização efetivamente contiver informações que necessitam reatribuição, o processo 300 retorna para a etapa 310 onde o cliente 110 passará através das mesmas etapas de provisionamento para ser atribuída e acoplar-se de forma comunicativa a uma nova unidade de uso.
A figura 4A ilustra um processo 400 para provisionamento global de um serviço, de acordo com uma modalidade. Deve ser reconhecido que algumas modalidades podem não utilizar todas as etapas na figura 4A. Deve ser adicionalmente reconhecido que algumas modalidades podem incluir etapas adicionais não representadas na figura 4A. As etapas do processo 400 podem ser armazenadas como instruções em um meio legível por computador e executadas em um processador de computador.
O processo 400 começa na etapa 410 pela obtenção de informações de localização para 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 global, uma combinação dos dois, etc. As informações de localização podem incluir, porém não sã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 conta, 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 é determinada. A etapa 420 pode ser obtida de muitas maneiras. A figura 4B ilustra um processo 430 para determinar uma unidade de uso preferida para a qual o cliente será atribuído, de acordo com uma modalidade. Na etapa 431 do processo 430, as informações de localização do cliente são transmitidas para o centro de dados global. Na etapa 432, informações de atribuição são recebidas a partir do centro de dados global. As informações de atribuição atribuem o cliente a uma unidade de uso específica. As informações de atribuição são pelo menos em parte baseadas nas informações de localização e podem incluir, porém não são limitadas a, uma URL que corresponde à unidade de uso atribuída, um certificado que corresponde à unidade de uso atribuída, uma ficha de autorização e um código hash. A figura 4C ilustra um processo 440 para determinar uma unidade de uso preferida à qual o cliente será atribuído quando uma réplica de GPD é acoplada ao dispositivo utilizando processos 400 e 440, de acordo com uma modalidade. Na etapa 441, as informações de atribuição são obtidas a partir da réplica de GPD.
A partir da etapa 420, o processo 400 prossegue a seguir para a etapa 450, onde as 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 ser uma unidade de uso e desse modo fornecer o serviço para outros clientes atuais, como mencionado acima, certas situações podem se originar onde se torna necessário reatribuir um cliente atual específico para uma unidade de uso diferente. A figura 4D ilustra um processo 470 para reatribuir um cliente atual para uma nova unidade de uso, de acordo com uma modalidade. Deve ser reconhecido que algumas modalidades podem não utilizar todas as etapas representadas na figura 4D. Deve ser adicionalmente reconhecido que algumas modalidades podem incluir etapas adicionais não representadas na figura 4D. Etapas de processo 470 podem ser armazenadas como instruções em um meio legível por computador e executadas em um processador de computador.
Na etapa 471, uma determinação é feita com relação a se um cliente atual necessita ser reatribuído para uma nova unidade de uso. Essa determinação pode ser totalmente interna à unidade de uso atual (por exemplo, a unidade de uso atingiu a capacidade máxima) ou pode ser o resultado de variáveis externas (por exemplo, uma instrução recebida a partir do centro de dados global que exige que o cliente atual seja reatribuído). Se o cliente atual não necessitar ser reatribuído, a unidade de uso atual continua as operações normais com relação ao cliente atual e provê o serviço (etapa 472) e atualizações periódicas (etapa 473) para o cliente atual. Se o cliente atual efetivamente necessitar ser reatribuído, o processo 470 prossegue para a etapa 474 onde o centro de dados global é marcado para o cliente atual se a nova unidade de uso já é conhecida. Na etapa 475, as informações que necessitam de reatribuição são fornecidas para o cliente atual, fazendo com que efetivamente o cliente atual passe através das mesmas etapas de provisionamento para ser atribuído a uma nova unidade de uso. As informações de atribuição podem ser fornecidas ao cliente atual de diversas maneiras. POr exemplo, as informações de atribuição podem ser fornecidas para o cliente atual em uma atualização similar àquela transmitidas para o cliente na etapa 473.
A figura 5 ilustra um exemplo de um ambiente de sistema de computação apropriado 500 no qual modalidades podem ser implementadas. O ambiente do sistema de computação 500 é somente um exemplo de um ambiente de computação apropriado e não pretende sugerir qualquer limitação com relação ao escopo ou funcionalidade da invenção. Nem deve ser o ambiente de computação 500 interpretado como tendo qualquer dependência ou exigência referente a qualquer um ou combinação de componentes ilustrados no ambiente operacional exemplar 500.
Com referência à figura 5, um sistema exemplar para implementar modalidades inclui um ambiente de sistema de computação de propósito geral, como ambiente de sistema de 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 alguma combinação das duas. Essa configuração mais básica é ilustrada na figura 5 pela linha tracejada 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) incluindo, porém não limitado a, fita ou discos magnéticos ou ópticos. Tal armazenagem adicional é ilustrada na figura 5 por armazenagem removível 508 e armazenagem não removível 510. 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 de informações como instruções legíveis por computador, estruturas de dados, módulos de programa ou outros dados. Memória 504, armazenagem removível 508 e armazenagem não removível 510 são todos exemplos de meios de armazenagem de computador. Meios de armazenagem 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) ou outra armazenagem óptica, cassetes magnéticos, fita magnética, armazenagem de disco magnético ou outros dispositivos de armazenagem magnética, ou qualquer outro meio que possa ser utilizado para armazenar as informações desejadas e que possa ser acessado por ambiente de sistema de computação 500. Quaisquer tais meios de armazenagem de computador 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) de comunicação 512 que permitem que o mesmo se comunique com outros dispositivos. Conexão(ões) de comunicação 512 é um exemplo de meios de comunicação. Meios de comunicaçã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 onda portadora ou outro mecanismo de transporte e inclui quaisquer meios de distribuição de informações. O termo “sinal de dados modulados” significa um sinal que tem uma ou mais de suas 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, infravermelho 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 sistema de computação 500 pode ter também dispositivo(s) de entrada 514 como um teclado, mouse, 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 discutidos extensamente aqui.
Desse modo, modalidades fornecem tecnologia altamente adaptável para provisionar globalmente um serviço. A tecnologia é capaz de atribuir de forma inteligente clientes para unidades de uso apropriadas (freqüentemente a mais próxima) para fins de receber o serviço. Além disso, modalidades permitem a adição ou remoção dinâmica de uma unidade 5 de uso por reatribuir clientes em movimento. Tal arquitetura é ideal para suportar numeração de clientes em milhão.es
A descrição anterior das modalidades reveladas é fornecida para permitir que qualquer pessoa versada na técnica faça ou utilize a matéria reivindicada. Várias modificações nessas modalidades serão prontamente evidentes para aqueles versados na técnica, e os 10 princípios genéricos definidos aqui podem ser aplicados a outras modalidades sem se afastar do espírito ou escopo da matéria reivindicada. Desse modo, a matéria reivindicada não pretende ser limitada às modalidades mostradas aqui porém deve ser acordada o escopo mais amplo compatível com os princípios e características novas reveladas aqui.

Claims (18)

  1. REIVINDICAÇÕES
    1. Sistema (100) de serviço para um cliente (110) caracterizado pelo fato de que compreende:
    uma pluralidade de unidades de uso (Du1-DUn), as unidades de uso (Du1-DUn) configuradas para fornecer hospedagem para o serviço aos clientes (110), em que as unidades de uso (Du1-DUn) e os clientes (110) são distribuídos em diferentes regiões geográficas globais que incluem pelo menos um de uma pluralidade de países diferentes, uma pluralidade de fusos diferente, ou uma pluralidade de diferentes regiões costeiras ou interiores de um continente;
    um servidor de provisionamento (120) configurado para obter informações de localização da região global para novos clientes (110), cada um associado às respectivas regiões geográficas globais diferentes e para determinar uma unidade de uso (Du1-DUn) em uma apropriada das associadas a uma das diferentes regiões geográficas globais, com base nas informações de localização da região global às quais os clientes (110) serão atribuídos, o servidor de provisionamento (120) também configurado para transmitir informações de atribuição para pelo menos um uso inicial dos novos clientes (110) com base nas informações de localização da região global para os clientes, em que as informações de atribuição incluem uma atribuição de unidade de uso, e em que outros clientes são comunicativamente adicionados ou removidos de unidades de uso (Du1-DUn) geograficamente apropriadas com base nas atribuições de unidades de uso (Du1-DUn) associadas às informações de localização da região global para os respectivos clientes fornecidos pelo servidor de provisionamento (120), para atribuir clientes a diferentes unidades de uso (Du1-DUn) em tempo real, para distribuir uma carga global de cliente geograficamente sobre as unidades de uso (Du1-DUn) globais das diferentes regiões geográficas globais;
    um serviço de provisionamento global (140) acoplado de forma comunicativa ao servidor de provisionamenPetição 870180055700, de 28/06/2018, pág. 4/14 to (120) e bancos de dados (150,160), que compreendem um diretório de provisionamento global (150) e uma réplica do diretório de provisionamento global (170) acoplada ao servidor de provisionamento (120), a réplica do diretório de provisionamento global (170) é configurada para sincronizar periodicamente com o diretório de provisionamento global (150), o servidor de provisionamento (120) é configurado para acessar a réplica do diretório de provisionamento global (170) ou o diretório de provisionamento global (150), em que o serviço de provisionamento global recebe as informações de localização a partir do servidor de provisionamento (120) e usa as informações de localização e os bancos de dados (150,160) para determinar as informações de atribuição; e um processador configurado para executar instruções executáveis do computador em uma memória, as instruções executadas para habilitar pelo menos uma de uma unidade de uso (Du1-DUn), o servidor de provisionamento (120) ou o serviço de provisionamento global.
  2. 2. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que o serviço de provisionamento global fornece as informações de atribuição ao servidor de provisionamento.
  3. 3. Sistema, de acordo com a reivindicação 2, caracterizado pelo fato de que o servidor de provisionamento é ainda configurado para receber informações de contato dos clientes e fornecer as informações de contato para o serviço de provisionamento global, e em que os bancos de dados compreendem o diretório de contatos global (160) comunicativamente acoplado ao serviço de provisionamento global, o diretório de contatos global (160) hospedando as informações de contato.
  4. 4. Sistema, de acordo com a reivindicação 2, caracterizado pelo fato de que os bancos de dados compreendem o diretório de provisionamento global acoplado de forma comunicativa ao serviço de provisionamento global, o diretório de provisionamento global hospedando todas as unidades de uso conhecidas.
    Petição 870180055700, de 28/06/2018, pág. 5/14
  5. 5. Sistema, de acordo com a reivindicação 4, caracterizado pelo fato de que o servidor de provisionamento é configurado para acessar opcionalmente a réplica do diretório de fornecimento global para determinar as informações de atribuição, ao invés do serviço de fornecimento global.
  6. 6. Sistema, de acordo com a reivindicação 5, caracterizado pelo fato de que compreende uma pluralidade de servidores de provisionamento e uma pluralidade de réplicas do diretório de provisionamento global, em que os servidores de provisionamento e as réplicas do diretório de provisionamento global estão integrados dentro das respectivas unidades de uso.
  7. 7. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que o servidor de provisionamento obtém as informações de localização dos clientes e as informações de localização compreendem um ID geográfico e um fuso horário.
  8. 8. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que o servidor de provisionamento obtém as informações de localização a partir de uma infraestrutura de encaminhamento de rede global.
  9. 9. Método de receber provisionamento global de um serviço em um novo cliente caracterizado pelo fato de que compreende as etapas de:
    transmitir informações de localização de região global do novo cliente para um servidor de provisionamento, em que o novo cliente é um de uma pluralidade de clientes distribuídos em diferentes regiões geográficas globais que incluem pelo menos um de uma pluralidade de países diferentes, uma pluralidade de diferentes fusos horários, ou uma pluralidade de diferentes regiões costeiras ou interiores de um continente;
    receber informações de atribuição a partir do servidor de provisionamento para determinar uma unidade de uso para pelo menos um uso inicial em uma das regiões geográficas diferentes para hospedar o novo cliente, com base nas informações de localização da região global às
    Petição 870180055700, de 28/06/2018, pág. 6/14 quais os clientes serão atribuídos, em que a unidade de uso é uma de uma pluralidade de unidades de uso distribuídas nas diferentes regiões geográficas globais, em que as informações de atribuição atribuem o novo cliente a uma unidade de uso geograficamente apropriada com base na localização;
    acoplar, de forma comunicativa, um serviço de provisionamento global ao servidor de provisionamento e aos bancos de dados, que compreendem um diretório de provisionamento global e uma réplica do diretório de provisionamento global acoplado ao servidor de provisionamento, a réplica do diretório de provisionamento global é configurada para sincronizar periodicamente com o diretório de provisionamento global, o servidor de provisionamento é configurado para acessar a réplica do diretório de provisionamento global ou o diretório de provisionamento global, em que o serviço de provisionamento global recebe as informações de localização da região global a partir do servidor de provisionamento e usa as informações de localização da região global e os bancos de dados para determinar as informações de atribuição;
    acoplar, de forma comunicativa, o novo cliente com a unidade de uso geograficamente apropriada, em que a unidade de uso fornece o serviço ao novo cliente;
    atribuir outros clientes distribuídos sobre as diferentes regiões geográficas globais as diferentes unidades de uso geograficamente apropriadas, para distribuir dinamicamente uma carga global de cliente geograficamente; e configurar um processador para executar as instruções armazenadas em uma memória, as instruções executadas para permitir as etapas de transmitir, receber, acoplar de forma comunicativa o serviço de provisionamento global, acoplar de forma comunicativa o novo cliente e atribuir.
  10. 10. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que as informações de localização compreendem um ID de conta, um certificado de conta,
    Petição 870180055700, de 28/06/2018, pág. 7/14 um tipo de licença, um ID de transação e um fuso horário.
  11. 11. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que as informações de atribuição compreendem uma URL correspondente à unidade de uso espe-
    5 cífica, um primeiro certificado correspondente à unidade de uso específica, um token de autorização e um código hash.
  12. 12. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que o token de autorização
    10 compreende o nome do servidor de provisionamento.
  13. 13. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que o código hash compreende um hash do ID da conta, do ID da transação, da URL correspondente à unidade de uso específico, de uma URL cor-
    15 respondente ao servidor de provisionamento e de um segundo certificado correspondente ao servidor de provisionamento. .
  14. 14. Método de provisionamento global de um serviço caracterizado pelo fato de que compreende as etapas
    2 0 de:
    obter informações de localização de região global para um novo cliente, em que o novo cliente é um de uma pluralidade de clientes distribuídos em diferentes regiões geográficas globais que incluem pelo menos um de 25 uma pluralidade de países diferentes, uma pluralidade de diferentes fusos horários ou uma pluralidade de diferentes regiões costeiras ou interiores de um continente;
    determinar uma unidade de uso preferencial para pelo menos um uso inicial em uma região geográfica apro30 priada para hospedar o novo cliente, ao qual o novo cliente será atribuído com base nas informações de localização da região global, em que as unidades de uso são distribuídas pelas diferentes regiões geográficas;
    fornecer um serviço de provisionamento global em
    35 comunicação com um servidor de provisionamento e bancos de dados, que compreendem um diretório de provisionamento global e uma réplica do diretório de provisionamento global acoplado comunicativamente ao servidor de provisionaPetição 870180055700, de 28/06/2018, pág. 8/14 mento, a réplica do diretório de provisionamento global é configurada para sincronizar periodicamente com o diretório de provisionamento global, o servidor de provisionamento é configurado para acessar a réplica do diretório de provisionamento global ou o diretório de provisionamento global, em que o serviço de provisionamento global recebe as informações de localização da região global do servidor de provisionamento e usa as informações de localização da região global e os bancos de dados para determinar as informações de atribuição;
    atribuir o novo cliente e outros clientes como distribuídos nas diferentes regiões geográficas globais para diferentes unidades de uso em tempo real e, assim, distribuir geograficamente uma carga global de cliente sobre as diferentes regiões geográficas globais;
    transmitir informação de atribuição relativa à unidade de uso preferida para o novo cliente, em que o novo cliente acopla de forma comunicativa à unidade de uso preferida para hospedar o novo cliente ao receber as informações de atribuição para receber o serviço da unidade de uso preferida; e configurar um processador para executar as instruções armazenadas em uma memória, as instruções executadas para permitir as etapas de obter, determinar, fornecer, atribuir e transmitir.
  15. 15. Método, de acordo com a reivindicação 14, caracterizado pelo fato de que ainda compreende:
    sinalizar as informações de atribuição com uma chave de criptografia antes de transmitir as informações de atribuição ao novo cliente.
  16. 16. Método, de acordo com a reivindicação 14, caracterizado pelo fato de que a etapa de determinar compreende:
    transmitir as informações de localização da região global para um centro de dados global para determinação da unidade de uso preferida; e receber as informações de atribuição do centro de dados global.
    Petição 870180055700, de 28/06/2018, pág. 9/14
  17. 17. Método, de acordo com a reivindicação 16, caracterizado pelo fato de que o centro de dados global compreende um diretório de provisionamento global para hospedar todas as unidades de uso conhecidas e em que a
    5 etapa de determinar ainda compreende:
    opcionalmente, obter as informações de atribuição a partir de uma réplica do diretório de provisionamento global em vez do centro de dados global.
  18. 18. Método, de acordo com a reivindicação 14,
    10 caracterizado pelo fato de que ainda compreende:
    marcar um centro de dados global para um cliente atual se uma nova unidade de uso for conhecida; e transmitir informações que necessitam de reatribuição para o cliente atual, em que as informações que 15 necessitam de reatribuição fazem com que o cliente atual seja provisionado novamente.
    Petição 870180055700, de 28/06/2018, pág. 10/14
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 US9049268B2 (en) 2006-05-05 2006-05-05 Global provisioning of millions of users with deployment units
US11/418.687 2006-05-05
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 BRPI0711095A2 (pt) 2011-08-23
BRPI0711095B1 true 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
JP6015660B2 (ja) * 2011-09-06 2016-10-26 日本電気株式会社 データ配置システム、分散アクセスノード、データ配置方法およびプログラム
US10701113B2 (en) * 2011-10-25 2020-06-30 Nokia Technologies Oy Method for securing host configuration messages
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
US7165116B2 (en) 2000-07-10 2007-01-16 Netli, Inc. Method for network discovery using name servers
US7194764B2 (en) * 2000-07-10 2007-03-20 Oracle International Corporation User authentication
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
US6782352B2 (en) 2001-12-28 2004-08-24 Inventec Corporation System and method for monitoring server host operation
US20030126203A1 (en) 2001-12-28 2003-07-03 Inventec Corporation Server system with geographical location service and method of using the same
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
RU2008143608A (ru) 2010-05-10
JP2009536402A (ja) 2009-10-08
KR101376815B1 (ko) 2014-03-20
WO2007130595A3 (en) 2008-01-03
TW200807963A (en) 2008-02-01
RU2467381C2 (ru) 2012-11-20
US10721317B2 (en) 2020-07-21
US20190182341A1 (en) 2019-06-13
US10462235B2 (en) 2019-10-29
JP5080563B2 (ja) 2012-11-21
BRPI0711095A2 (pt) 2011-08-23
US9049268B2 (en) 2015-06-02
WO2007130595A2 (en) 2007-11-15
US20150381747A1 (en) 2015-12-31
KR20090025198A (ko) 2009-03-10
CN101438273B (zh) 2013-08-28
MX2008013946A (es) 2008-11-12
CN101438273A (zh) 2009-05-20
TWI504201B (zh) 2015-10-11
US20070276900A1 (en) 2007-11-29

Similar Documents

Publication Publication Date Title
BRPI0711095B1 (pt) provisionamento global de milhões de usuários com unidades de uso
KR101957076B1 (ko) 다면적인 컴퓨트 인스턴스 식별 정보
US11038891B2 (en) Decentralized identity management system
US10027716B2 (en) System and method for supporting web services in a multitenant application server environment
CN107005582B (zh) 一种使用存储在不同目录中的凭证来访问公共端点的方法
CN103621040B (zh) 促成对等覆盖网络中对数据对象的群访问控制
US8645701B2 (en) System and method for zone signing and key management in a DNS system
US6202159B1 (en) Vault controller dispatcher and methods of operation for handling interaction between browser sessions and vault processes in electronic business systems
JP4698180B2 (ja) ピアツーピアネットワークでのセキュア階層名前空間
US10715502B2 (en) Systems and methods for automating client-side synchronization of public keys of external contacts
US10944547B2 (en) Secure environment device management
RU2012155862A (ru) Средства управления доступом к онлайновой слежке с использованием внемасштабных признаков каталога
US20190098107A1 (en) Geographic location based user computing asset provisioning in distributed computing systems
US7600253B1 (en) Entity correlation service
US11349671B2 (en) Authenticating communication

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.