BRPI0809083B1

Extensible and programmable multi-tenant service architecture

Abstract

method to be performed on a computing device to provide an extensible multi-tenant service platform, system for hosting multi-tenant extensible services and computer readable storage media with instructions stored therein to provide a multi-tenant extensible service platform a multi-tenant extensible business application platform of a software as a service is provided to host multiple organizations. The organization's services are provided by virtual or physical servers with dedicated data stores mounted in scalable groups. Distributed interaction between scalable group components can enable extensibility and reliability, while changes in the organization's service locations are provided to the customer (customers) for uninterrupted continued customer access to services. Customizable and dynamic apis for accessing data and applications from each organization isolated from each other and pluggable third party authentication services can also be integrated into the platform.

BRPI0809083B1, drawing sheet 1
Sheet 1 of 8

Term

Projected expiry 1 April 2028.

  1. Priority and filed
  2. Granted
  3. Today
  4. Projected expiry

14 claims: 3 independent, 11 dependent

  1. 1
    REIVINDICAÇÕES 1. Método a ser executado, pelo menos em parte, em um dispositivo de computação (700) para prover uma plataforma de serviço extensível de múltiplos locatários caracterizado pelo fato de que compreende as etapas de:receber uma solicitação por acesso de um cliente, em que cada cliente está associado com pelo menos um serviço da organização hospedado pela plataforma (802);determinar uma localização do serviço da organização, em que os serviços da organização são organizados em grupos escaláveis dentro da plataforma (806);prover a localização do serviço da organização para o cliente para possibilitar o acesso ao serviço da organização (808);se a localização do serviço da organização muda durante o acesso (810), prover a localização alterada para o cliente para o acesso continuado do cliente ao serviço da organização (812);e gerar automaticamente uma pluralidade de interfaces de programação de aplicação (APIs) dedicadas configuradas para prover acesso aos serviços da organização, de modo que dados e aplicações associados com cada serviço da organização são isolados dos outros serviços da organização (508).
  2. 2
    Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende:autenticar o cliente (804) antes de prover a localização do serviço da organização usando um dentre um serviço de autenticação integrado e um serviço de autenticação de terceiros, em que o acesso do cliente (202) ao serviço da organização solicitado (208) é restrito com base em pelo menos um de um conjunto de: um estado de segurança da conexão do cliente, uma credencial do cliente e uma associação da organização;e/ou Petição 870180163830, de 17/12/2018, pág. 21/30 2/6 em que o método ainda compreende: prover uma pluralidade de modos de autenticação, em que cada modo de autenticação inclui uma extremidade dedicada tal que o cliente (202) é habilitado a especificar um modo de autenticação desejado.
  3. 3
    Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende:prover informação de configuração para o cliente (202) associado com o acesso do cliente ao serviço da organização solicitado (208).
  4. 4
    Método, de acordo com a reivindicação 1, caracterizado pelo fato de que os grupos escaláveis (430) são configurados para possibilitar uma extensibilidade vertical e uma horizontal das aplicações associadas com os serviços da organização hospedados pela plataforma.
  5. 5
    Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a plataforma é disposta para prover acesso de metadados para serviços da organização (208) hospedados pela plataforma.
  6. 6
    Sistema para hospedar serviços extensíveis de múltiplos locatários caracterizado pelo fato de que compreende:um serviço de descoberta (506) configurado para: receber uma solicitação por acesso de um cliente associado com pelo menos um serviço da organização hospedado pelo sistema (802);determinar uma localização do serviço da organização solicitado (806);e prover a localização do serviço da organização para o cliente para possibilitar o acesso ao serviço da organização (808), uma pluralidade de grupos de serviço escaláveis configuraPetição 870180163830, de 17/12/2018, pág. 22/30 3/6 da para prover o serviço da organização (508);um armazenamento de configuração (324) associado com o serviço de descoberta (506) disposto para armazenar a informação de configuração e localização associada com a pluralidade de grupos de serviço, de modo que uma mudança na localização do serviço da organização durante o acesso do cliente ao serviço da organização é provida para o cliente para o acesso continuado do cliente ao serviço da organização;e uma pluralidade de interfaces de programação de aplicação (APIs) dedicadas geradas automaticamente, configuradas para prover acesso aos serviços da organização, de modo que dados e aplicações associados com cada serviço da organização são isolados dos outros serviços da organização (508).
  7. 7
    Sistema, de acordo com a reivindicação 6, caracterizado pelo fato de que o serviço de descoberta (506) e os grupos de serviço são providos como serviços da rede (722).
  8. 8
    Sistema, de acordo com a reivindicação 6, caracterizado pelo fato de que o serviço de descoberta (506) ainda é configurado para autenticar o cliente (804) utilizando uma pluralidade de modos de autenticação através de um serviço de autenticação ligável.
  9. 9
    Sistema, de acordo com a reivindicação 6, caracterizado pelo fato de que as APIs são uma ou mais de:personalizáveis, de modo que um usuário com permissão é habilitado a adicionar pelo menos um de um objeto personalizado e uma operação personalizada para um serviço da organização (508) selecionado;e configuradas para possibilitar que usuários com permissão executem ações incluindo: modificar os dados associados com um serviço da organização (508);Petição 870180163830, de 17/12/2018, pág. 23/30 4/6 definir um dentre um processo e uma lógica associados com o serviço da organização (508);invocar um dentre um processo e uma lógica associados com o serviço da organização (508);e modificar um dentre um processo e uma lógica associados com o serviço da organização (508).
  10. 10
    Sistema, de acordo com a reivindicação 6, caracterizado pelo fato de que as APIs são dinamicamente geradas, de modo que as APIs são adaptadas a uma dentre uma adição e uma remoção de um serviço da organização (508) no sistema.
  11. 11
    Sistema, de acordo com a reivindicação 6, caracterizado pelo fato de que os grupos de serviço incluem uma pluralidade de servidores da rede (431), bancos de dados da organização (433) e servidores de processamento assíncronos (435) configurados para interagir em uma maneira distribuída, em que pelo menos uma porção da pluralidade de servidores da rede (431), bancos de dados da organização (433) e servidores de processamento assíncronos (435) é virtual, e/ou em que múltiplas instâncias da pluralidade de servidores da rede (431), bancos de dados da organização (433) e servidores de processamento assíncronos (435) são providas para possibilitar escalabilidade, equilíbrio de carga e recuperação de falha.
  12. 12
    Meio de armazenamento legível por computador com instruções armazenadas nele para prover uma plataforma de serviço extensível de múltiplos locatários caracterizado pelo fato de que as instruções compreendem:receber uma solicitação por acesso de um cliente associado com pelo menos um serviço da organização (508) hospedado pela plataforma, em que a solicitação inclui uma credencial do cliente (802);determinar uma lista de serviços da organização (508) disPetição 870180163830, de 17/12/2018, pág. 24/30 5/6 poníveis para o cliente com base na credencial do cliente;prover a lista dos serviços da organização para o cliente;receber uma solicitação para acessar pelo menos um serviço da organização da lista;determinar uma localização do pelo menos um serviço da organização solicitado (806), em que os serviços da organização são providos por grupos de serviço escaláveis hospedados pela plataforma;prover a localização do pelo menos um serviço da organização para o cliente para possibilitar o acesso ao serviço da organização (808);se a localização do serviço da organização mudar durante o acesso (810), prover a localização alterada para o cliente para o acesso continuado do cliente ao serviço da organização (812);e gerar automaticamente uma pluralidade de interfaces de programação de aplicação (APIs) dedicadas configuradas para prover acesso aos serviços da organização, de modo que dados e aplicações associados com cada serviço da organização são isolados dos outros serviços da organização (508).
  13. 13
    Meio de armazenamento legível por computador, de acordo com a reivindicação 12, caracterizado pelo fato de que as instruções ainda compreendem:autenticar o cliente usando pelo menos um modo de autenticação para cada serviço da organização solicitado pelo cliente (804).
  14. 14
    Meio de armazenamento legível por computador, de acordo com a reivindicação 12, caracterizado pelo fato de que as instruções ainda compreendem:dinamicamente prover um conjunto de APIs dedicadas para cada serviço da organização hospedado pela plataforma para possibilitar a modificação de pelo menos um dos dados e processos associaPetição 870180163830, de 17/12/2018, pág. 25/30 6/6 dos com cada serviço da organização (508) por um administrador, de modo que as APIs são adaptadas para uma dentre uma adição e uma remoção de um serviço da organização na plataforma.
Independent claims14