Extensible and programmable multi-tenant service architecture
20 claims: 3 independent, 17 dependent
- 1REIVINDICAÇÕES 1. Método a ser executado pelo menos em parte em um dispositivo de computação para prover uma plataforma de serviço extensível de múltiplos locatários, o método sendo CARACTERIZADO pelo fato de que compreende:receber uma solicitação por acesso de um cliente, onde 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, onde 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) e 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).
- 2Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que também 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.
- 3Método, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de 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.
- 4Método, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que também compreende:prover uma pluralidade de modos de autenticação, onde cada modo de autenticação inclui uma extremidade dedicada tal que o cliente (202) é habilitado a especificar um modo de autenticação desejado.
- 5Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que também 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).
- 6Mé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.
- 7Mé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.
- 8Sistema 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 configurada para prover o serviço da organização (508) e um armazenamento de configuração associado com o serviço de descoberta disposto para armazenar a informação de configuração e localização associada com a pluralidade de grupos de serviço, tal 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.
- 9Sistema, de acordo com a reivindicação 8, 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.
- 10Sistema, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que o serviço de descoberta (506) é também 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.
- 11Sistema, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que também compreende:uma pluralidade de interfaces de programação de aplicação (APIs) dedicadas configuradas para prover acesso aos serviços da organização, tal que dados e aplicações associados com cada serviço da organização são isolados dos outros serviços da organização (508).
- 12Sistema, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que as APIs são personalizáveis, tal que um usuário com permissão é habilitado a adicionar pelo menos um de um objeto personalizado e uma operação personalizada em um serviço da organização selecionado (508).
- 13Sistema, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que as APIs são 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), definir um dentre um processo e uma lógica associados com o serviço da organiza3 Ção, invocar um dentre um processo e uma lógica associados com o serviço da organização e modificar um dentre um processo e uma lógica associados com o serviço da organização.
- 14Sistema, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que as APIs são dinamicamente geradas, tal 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.
- 15Sistema, de acordo com a reivindicação 11, 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.
- 16Sistema, de acordo com a reivindicação 15, CARACTERIZADO pelo fato de 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.
- 17Sistema, de acordo com a reivindicação 15, CARACTERIZADO pelo fato de 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 a capacidade de escalação, equilíbrio de carga e recuperação de falha.
- 18Meio 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, as instruções sendo CARACTERIZADAS pelo fato de que compreendem:receber uma solicitação por acesso de um cliente associado com pelo menos um serviço da organização hospedado pela plataforma, onde a solicitação inclui uma credencial do cliente (802), determinar uma lista de serviços da organização disponí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), onde 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) e 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 organi4 zação (812).
- 19Meio de armazenamento legível por computador, de acordo com a reivindicação 18, CARACTERIZADO pelo fato de que as instruções também compreendem:autenticar o cliente usando pelo menos um modo de autenticação para cada serviço 5 da organização solicitado pelo cliente (804).
- 20Meio de armazenamento legível por computador, de acordo com a reivindicação 18, CARACTERIZADO pelo fato de que as instruções também 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 10 dados e processos associados com cada serviço da organização (508) por um administrador, tal 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. Serviço de rede Modelo de serviço exemplar de locatário único
Independent claims20
70 paragraphs in 1 section, as filed
(54) Title: SERVICE ARCHITECTURE (57) Summary:
EXTENSIBLE AND PROGRAMMABLE MULTIPLE
RENTERS (30) Unionist Priority: 4/13/2007 us 11 / 787,134 (73) Owner (s): Microsoft Corporation (72) Inventor (s): Akezyt Janedittakarn, Arash Ghanaie-Sicanie,
Michael James Ott, Roberto Adlich dos Santos (74) Attorney (s): Alexandre Ferreira (86) International Request: pct us2008059061 de
01/04/2008 (87) International Publication: wo 2008/127871 of
23/10/2008
<img file="BRPI0809083A2_D0001.tif" />
Network service "EXTENSIBLE AND PROGRAMMABLE MULTIPLE RENTAL SERVICE ARCHITECTURE"
Foundations
Business efforts strive to respond to consumer demands quickly, obtain products to market faster, increase overall profitability and consistently exercise competition. Agility, the ability to meet these common market challenges, is dependent on a solid business application technology platform. To achieve business agility, a multifaceted intelligent software infrastructure is required that is designed for application integration.
Business application platforms are typically from a single tenant, meaning that they can host applications for a single organization only and all platform resources are dedicated to that organization only. Such platforms are typically hosted by the consumer and installed and organized within their company facilities. The cost to organize and maintain such a platform can be high and the return on investment not optimized.
On the other hand, designing and managing multiple tenant systems has its own challenges. In a practical multi-tenant system, each customer can have a different connection scheme in their organization. In addition, each customer can connect to multiple organizations making the management of such systems a very complex task according to aspects of security, traffic management, reliability and extensibility.
summary
This summary is provided to present a selection of concepts in a simplified form which are also described below in the detailed description. This summary is not intended to identify key or essential aspects of the claimed exposed matter, nor is it intended as an aid in determining the scope of the claimed exposed matter.
The modalities are aimed at providing an extensible model of multiple tenants of software as a service to serve multiple organizations from a single platform. A platform according to modalities may include a discovery service to provide customer information associated with a location and configuration of the organization's services hosted by the platform. The customer is then able to access the organization's services, which can be hosted in scalable groups. Changes of location can be provided to the customer (customers) for uninterrupted customer access to the requested service (services).
These and other aspects and advantages will become evident from a reading of the following detailed description and a review of the associated drawings. It is to be understood that both the preceding general description and the following detailed description are explanatory only and are not restrictive of the aspects as claimed.
Brief Description of Drawings
Figure 1 illustrates an exemplary single tenant service model,
Figure 2 illustrates an exemplary multi-tenant service model,
Figure 3 illustrates an extensible service architecture for multiple tenants according to modalities,
Figure 4 illustrates exemplary components of a portion of the multi-tenant service organization's service,
Figure 5 is an action diagram illustrating the interactions between a customer and the components of a multi-tenant service during operations,
Figure 6 is an exemplary network environment, where the modalities can be implemented,
Figure 7 is a block diagram of an exemplary computing operation environment, where the modalities can be implemented and
Figure 8 illustrates a logic flow diagram for an extensible multi-tenant service delivery process for a customer.
Detailed Description
As briefly described above, an extensible multi-tenant business application platform can be provided using a discovery service and scalable server groups. In the following detailed description, references are made to the accompanying drawings that form a part of it and in which illustrations, specific modalities or examples are shown. These aspects can be combined, other aspects can be used and structural changes can be made without departing from the spirit or scope of the present revelation. The following detailed description, therefore, is not to be adopted in a limiting sense and the scope of the present invention is defined by the appended claims and their equivalents.
Although the modalities are described in the general context of program modules that work in conjunction with an application program that runs on an operating system on a personal computer, those skilled in the art will recognize that aspects can also be implemented in combination with other modules. program.
In general, program modules include routines, programs, components, data structures and other types of structures that perform particular tasks or implement particular abstract data types. Furthermore, those skilled in the art will find that the modalities can be practiced with other computer system configurations, including handheld devices, multiprocessor systems, programmable or microprocessor based consumer electronics, minicomputers, large computers and so on. onwards. The modalities can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are connected via a communications network. In a distributed computing environment, program modules can be located on both local and remote memory storage devices.
The modalities can be implemented as a computer process (method), a computer system or as an article of manufacture, such as a computer program product or computer-readable means. The computer program product can be a computer-readable medium by a computer system and by coding a computer instruction program to execute a computer process. The computer program product can also be a signal propagated on a carrier readable by a computer system and encoding a program of computer instructions to execute a computer process.
Referring to Figure 1, diagram 100 of an exemplary ύηϊοο tenant service model is illustrated. As previously mentioned, the programming architectures for typical business application platforms are single-tenant and suitable for applications hosted on site.
On such a typical single tenant platform, client 102 accesses the data and business applications associated with a single tenant that is hosted by the network service 106 over networks 104. Although networks 104 can be the Internet, it is generally a combination of Intranet-type networks. Since a single tenant is hosted by the service, authentication, security and other preliminary operations can be performed by the service itself, rather than using a third party service. The location of services typically does not change, although redundancy and some load balancing operations may involve the use of multiple servers and / or groups of servers.
In this way, operations on a single tenant system are relatively simple and straightforward. However, in today's business world, many organizations prefer to base their business application platforms on entities that can provide efficient, cost-effective and reliable service. In order to modernize their business model and use their resources efficiently, such entities may prefer to host services for multiple organizations. In addition, some customers may be associated with multiple organizations, in which case it would make sense for the customer to access all organizations through a single point of contact.
Figure 2 illustrates an exemplary multi-tenant service model 200. In a multi-tenant service, a business application platform hosts services for multiple organizations. Any number of clients 202 may call the service of network 206 through networks 204, which in this case is more likely to be the Internet or a combination of different networks, to access data and applications associated with one or more organizations.
The 206 network service can perform management services and direct clients to organization 208 specific network services. Additionally, the 206 network service can optionally perform authentication, security verification and similar preliminary services using third party services. Organization-specific network services 208 may include scalable groups, where the operations of individual organizations can be moved by load balancing and other reasons. The 206 network service can monitor such changes and redirect the calling customer accordingly, such that the change is transparent to the customer.
Customers can be scarce or numerous customers with additional services optionally provided by third party applications in the case of scarce customers. Different customers can access different services using different schemes. Some of the services may also share the schemes.
The architecture in figure 2 - with respect to this matter also figure 1 - is to illustrate an overview of software platforms as a service. Only essential components are illustrated for purposes of simplicity. In practice, such systems include many more components with specific communication tasks and methods. A more detailed discussion of such a platform according to the modalities is provided below.
Figure 3 illustrates an extensible service architecture of multiple tenants 300 according to the modalities. A software business as a service application platform 320 according to the modalities can be implemented at different sites and be able to host data and applications from multiple organizations at each site. Each site installation on platform 320 can be highly scalable, enabling high performance and service availability. The sites can be hosted on the Internet or on intranets.
According to some modalities, the service may use an optional trusted third-party authentication service to authenticate the users (client 302) of each organization (for example, ticket service). Independent connection authentication services can also be used for Internet or Intranet modes. According to other modalities, access to the operations and data of each organization may be restricted based on security and privilege roles and membership in the organization.
According to some implementations, the data and applications of each organization can be isolated from the others and accessed through a set of dedicated APIs.
APIs can enable developers to access and modify business data, as well as define / invoke / modify business processes and logic remotely over the Internet. APIs can be automatically generated and dynamic, so that whenever a new organization is added to or removed from the platform, the APIs can automatically adjust. APIs can also be customizable allowing custom objects and operations to be added in each organization separate from other organizations.
Discovery service 322 provides organization discovery and authentication services by enabling a 302 customer to sign up on platform 320 and discover all the organizations of which he / she is a member. The discovery service 322 can provide detailed configuration data about each organization including its location within the platform for direct access and other configuration information. Configuration information can be stored in and retrieved from the 324 configuration store. A user (customer) can be a member of one or more organizations hosted on a site. The discovery service 322 can operate in multiple authentication modes. Each authentication mode can have its own dedicated endpoint allowing the client to specify which authentication to use.
According to additional modalities, each end of the API can serve multiple organizations. Each call to the API can identify the target organization planned to target. The discovery service 322 can use the configuration store 324 to retrieve the organization's configuration data. An administrator can be enabled to access and maintain the 324 configuration store.
Organization data and operations can be placed in a plurality of scalable groups (service locations 1, 2, etc.) available within a service group 330 on platform 320. An organization's location can change and move between groups scalable for load balancing purposes. The multi-tenant extensible service model is dynamic in a sense that it can locate the target organization even after a move. Each service location (332, 334, ...) can include one or more physical or virtual servers providing the services.
Figure 4 illustrates exemplary components of a service portion of the multi-tenant service organization. As mentioned above, groups of scalable 430 servers are at the core of an extensible software platform as a multi-tenant service. According to some modalities, groups of 430 servers may include a group of 431 virtual or physical network servers that receive the client's request, handle synchronous requests, and manage access to the organization's 433 databases. A private server between the 431 network servers can be assigned to the client by random selection, according to a predefined algorithm (for example, a load balancing algorithm) and more. Organization 433 databases can include physical or virtual data stores for each organization (or tenant) served by the platform. For example, a financial services system may include separate databases for each of the participating financial organizations (banks, etc.) that store account information, account access information, and so on. Information about the individual databases, their configuration, any redundancies, etc., can be stored in the configuration storage 324 of figure 3.
According to other modalities, a locator service (not shown) can provide information on which database (databases) can be used by the servers on the network. Servers on the 433 network can also submit asynchronous service requests in queues to be handled by the asynchronous 435 servers in conjunction with the organization's 433 databases. When a client request advances in the queue, one of the 435 asynchronous servers can be contacted to process the request. The relationship between the asynchronous servers and the individual organization's databases can be a distributed one, where each server can work with any of the databases. This distributed interaction between the asynchronous servers and the organization's databases can provide the ability to automatically recover from failures in the asynchronous processing machines allowing the databases to connect to another available server when one fails.
Due to the independent distribution of synchronous and asynchronous work and the interaction between servers and databases, any part of the 430 server group is scalable. In this way, multiple instances of servers (and / or database) can be provided for increased workload by address, additional organizations, data capacity and so on.
Figure 5 is an action diagram illustrating the interactions between a customer and components of a multi-tenant service during operations. The interactions in the action diagram 500 illustrate an exemplary operation with specific steps. Interactions on a multi-tenant platform according to modalities may include different exchanges with fewer or more steps, as well as a different order of interactions.
According to the exemplary operation, customer 504 initiates a call requesting a site policy from the 506 discovery service. The 506 discovery service responds with the site policy, which can identify an optional 502 ticket service (for example , for authentication). If the optional third party ticket service 502 is used, customer 504 can submit a ticket request to ticket service 502 and receive the service ticket if the customer's credentials are confirmed for access to a requested organization (lessee).
The 504 customer then submits a request to join the site with the service ticket from the 502 ticket service to the 506 discovery service. The 506 discovery service responds with the site ticket. The 504 client can then submit a list of requested organizations, to which the 506 discovery service responds with the list of the requested organizations' locations and other configuration information (schema, etc.). Subsequently, customer 504 can access target organizations through the service of organization 508 using the location and configuration information provided by the discovery service 506. As previously indicated, the location of the organization's services may change due to escalation, load balancing and others. Discovery service 506 can update the customer with changed location information, such that customer access to the organization's service can continue uninterrupted.
The scalable systems of multiple tenants and operations described in figure 3 to figure 5 are exemplary for purposes of illustration. A system for extensible services from multiple tenants can be implemented with more or less components and operations using the principles described here.
Figure 6 is an exemplary network environment, where modalities can be implemented. Extensible service systems from multiple tenants can be implemented in a distributed manner across a number of physical and virtual clients and servers. They can also be implemented on non-clustered systems or clustered systems using a number of nodes communicating over one or more networks (for example, 610 network (s)).
Such a system can comprise any topology of servers, clients, Internet service providers and media. Also, the system can have a static or dynamic topology. The term "customer" can refer to a customer application or a customer device. Although a network system implementing extensible services from multiple tenants can involve many more components, the relevant ones are discussed together with this figure.
Requests for access can come from tenants using individual client devices 602-606 or the application server 608 in a multi-tenant networked system. Such a system can also be implemented, on one or more servers (for example, 612, 614 servers) and accessed by the customer's devices (or applications). One or more network servers (physical or virtual), such as a 612 network server, can receive requests and direct them to the appropriate resource. Resources can include groups of scalable servers with the synchronous and asynchronous server, organization databases and other components.
Organization databases can be personified in a single data store, such as 618 data store, or distributed over a number of data stores. Dedicated database servers (for example, 616 database server) can be used to coordinate data retrieval and storage in one or more of such data stores.
The network (networks) 610 can include a secure network, such as a corporate network, an unsecured network, such as an open wireless network or the Internet. The 610 network (networks) provides communication between the nodes described here. By way of example, and not limitation, the network (networks) may include media connected by wiring, such as a network connected by wiring or direct connection, and wireless media such as wireless acoustic, RF, infrared media and others.
Many other configurations of computing devices, applications, data sources, data distribution systems can be used to implement an extensible multi-tenant service platform. Furthermore, the network environments discussed in Figure 6 are for illustration purposes only. The modalities are not limited to exemplary applications, modules or processes.
Figure 7 and the associated discussion are planned to provide a brief overview of a suitable computing environment in which the modalities can be implemented. Referring to Figure 7, a block diagram of an exemplary computing operation environment is illustrated, such as computing device 700. In a basic configuration, computing device 700 can be a server providing management services associated with an extensible multi-tenant service and typically includes at least one processing unit 702 and system memory 704. Computing device 700 can also include a plurality of processing units that cooperate in the execution of the programs. Depending on the exact configuration and type of computing device, system memory 704 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two. System 704 memory typically includes an 705 operating system suitable for controlling the operation of a networked personal computer, such as MICROSOFT CORPORATION WINDOWS® operating systems in Redmond, Washington. System memory 704 may also include one or more software applications, such as program modules 706, network services 722, a discovery service 724 within network services 722 and an optional locator service 726.
Network services 722 can be a separate application or an integral module of a hosted multi-tenant service platform that provides data and processing services for client applications associated with computing device 700. Discovery service 724 can provide information location and configuration associated with individual organization services (tenant) for a customer requesting access to them. The optional locator service 726 can provide services associated with determining the purpose of the service and which databases to use for network servers, as well as asynchronous processing servers, as previously described. This basic configuration is illustrated in figure 7 by these components within the dashed line 708.
Computing device 700 may have additional features or functionality. For example, computing device 700 may also include additional data storage devices (removable and / or non-removable) such as, for example, magnetic disks, optical disks or tape. Such additional storage is illustrated in figure 7 by removable storage 709 and non-removable storage 710. Computer storage media can include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules or other data. System memory 704, removable storage 709 and non-removable storage 710 are all examples of storage media on the computer. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile discs (DVD) or other optical storage, magnetic tapes, magnetic tape, storage in magnetic disk or other magnetic storage devices or any other means that can be used to store the desired information and that can be accessed by the computing device 700. Any such storage media on the computer may be part of the device 700. The computing device 700 may also have input device (s) 712, such as keyboard, mouse, pen, voice input device, touch input device, etc. Output device (s) 714, such as a monitor, speakers, printer, etc. can also be included. Such devices are well known in the art and need not be discussed further here.
The computing device 700 may also contain communication connections 716 that allow the device to communicate with other computing devices 718, such as over a wireless network in a distributed computing environment, for example, an Intranet or the Internet. Other computing devices 718 may include a server (servers) that runs applications associated with a location service or other services. Communication link 716 is an example of the media. Communication media can typically be personified by computer-readable instructions, data structures, program modules or other data in a modulated data signal, such as a carrier wave or other transport mechanism and include any means of delivering information. The term "modulated data signal" means a signal that has one or more of its characteristics adjusted or altered in such a way as to encode the information in the signal. By way of example, and not limitation, communication means include wired means, such as a wired or direct-connected network, and wireless means, such as acoustic, RF, infrared, and other wireless means. The term computer-readable media as used here includes both storage media and communication media.
The exposed matter claimed also includes methods. These methods can be implemented in any number of ways, including the structures described in this document. Such a way is by machine operations, of devices of the type described in this document.
Another optional way is for one or more of the individual operations of the methods to be performed in conjunction with one or more human operators performing some. These human operators do not need to be together, but they can each only be with a machine that runs a portion of the program.
Figure 8 illustrates a logic flow diagram for process 800 of providing multiple tenant extensible service to a customer. The 800 process can be implemented as part of a software as a service business application platform.
Process 800 begins with operation 802, where a request to access one or more organizations is received from a customer along with the customer's credentials. As previously described, customers of a hosted service from multiple tenants are typically associated with organizations or tenants, each of whom has a service including a dedicated database within the system. Before receiving the request, the customer can optionally use a third-party authentication service. Processing moves from operation 802 to decision operation 804.
In decision operation 804, a determination is made whether the client is authenticated. The determination may also include a verification of whether the requested organization (organizations) is hosted by the multi-tenant service platform. If the customer is authenticated, the process proceeds to operation 806. Otherwise, the processing moves to a call-to-action process.
In operation 806, a service location for the requested organization is determined. Processing moves from operation 806 to operation 808, where the location of the organization's service is provided to the customer for access. Additional configuration information can also be provided along with location information. After operation 808, processing moves to decision operation 810.
In decision operation 810, a determination is made whether the location of the organization's service is changed due to escalation, load balancing and others. If a change in location is determined, processing moves to operation 812. Otherwise, processing moves to a call-to-action process.
In operation 812, the change in the organization's service location is provided for the customer, such that the customer's access to the service can continue uninterrupted. After operation 812, processing moves to a call to action for additional actions.
The operations included in the 800 process are for illustration purposes. Providing extensible service from multiple tenants to a customer can be implemented by similar processes with fewer or more steps, as well as in order of different operations using the principles described here.
The above descriptive report, examples and data provide a complete description of the manufacture and use of the composition of the modalities. Although the exposed matter has been described in language specific to structural aspects and / or methodological actions, it is to be understood that the exposed matter defined in the attached claims is not necessarily limited to the specific aspects or actions described above. Preferably, the specific aspects and actions described above are revealed as exemplary ways of implementing the claims and modalities.
8 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8
29 members in 10 offices
Members29
| Document | Office | Kind | |
|---|---|---|---|
| US2008256607A1 | United States of America | A1 | |
| WO2008127871A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2008127871A1 | World Intellectual Property Organization (WIPO) | A1 | |
| TW200847055A | Taiwan Province of China | A | |
| KR20100015398A | Republic of Korea | A | |
| KR20100015398A | Republic of Korea | A | |
| CN101657804A | China | A | |
| EP2156308A1 | European Patent Office (EPO) | A1 | |
| JP2010526358A | Japan | A | |
| RU2009137767A | Russian Federation | A | |
| RU2009137767A | Russian Federation | A | |
| US8019812B2 | United States of America | B2 | |
| US2011252089A1 | United States of America | A1 | |
| US8195743B2 | United States of America | B2 | |
| US2012210390A1 | United States of America | A1 | |
| RU2463652C2 | Russian Federation | C2 | |
| KR101279740B1 | Republic of Korea | B1 | |
| KR101279740B1 | Republic of Korea | B1 | |
| US8533261B2 | United States of America | B2 | |
| US2014012900A1 | United States of America | A1 | |
| EP2156308A4 | European Patent Office (EPO) | A4 | |
| JP2014132462A | Japan | A | |
| BRPI0809083A2This record | Brazil | A2 | |
| TWI473029B | Taiwan Province of China | B | |
| CN101657804B | China | B | |
| BRPI0809083A8 | Brazil | A8 | |
| EP2156308B1 | European Patent Office (EPO) | B1 | |
| ES2709436T3 | Spain | T3 | |
| BRPI0809083B1 | Brazil | B1 |
6 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)LapsedEM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2873 DE 27-01-2026 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.B24J | B24J | |
| Lapse acc. art. 78, item iv - on non-payment of the annual fees in timeLapsedREFERENTE A 18A ANUIDADE.B21F | B21F | |
| Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]GrantedPRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 07/05/2019, OBSERVADAS AS CONDICOES LEGAIS. (CO) 10 (DEZ) ANOS CONTADOS A PARTIR DE 07/05/2019, OBSERVADAS AS CONDICOES LEGAISB16A | B16A | |
| Decision: intention to grant [chapter 9.1 patent gazette]B09A | B09A | |
| Formal requirements before examination [chapter 6.20 patent gazette]B06T | B06T | |
| Requested transfer of rights approvedB25A | B25A |
Numbers
- Publication
- PI0809083
- Application
- 8090831
Titles2
- Portuguese
- ARQUITETURA DE SERVIÇO EXTENSÍVEL E PROGRAMÁVEL DE MÚLTIPLOS LOCATÁRIOS
- English
- EXTENSIBLE AND PROGRAMMABLE SERVICE ARCHITECTURE OF MULTIPLE RENTERS
Classification
- CPC, 11
- H04L63/08
- G06F15/16
- H04L67/1029
- H04L67/1031
- H04L67/1023
- H04L67/1001
- H04L67/563
- H04L67/51
- G06F15/173
- H04L9/32
- H04L67/00
- IPC, 2
- G06F15 16
- G06F15 173
