VIRTUALIZED DISTRIBUTION SYSTEM OFFERING VIRTUAL PRODUCTS OR SERVICES
20190303989 ยท 2019-10-03
Inventors
Cpc classification
H04L67/02
ELECTRICITY
H04L67/10
ELECTRICITY
International classification
Abstract
In a virtualized distribution system for offering virtual products or services to clients over a distributed network a service provider manages physical resources. One or more orchestration servers having access to the physical resources run cloud management software that maintain a service providers portal to permit the service provider to manage the physical resources and accounts for distribution partners, a partner portal to permit the distribution partners to create virtual products or services using the available physical resources and establish a virtual presence on said distributed network, and a client portal for offering to clients the virtual products or services created by the distribution partners through their virtual presence. In this way product distribution can be offered as a service, which emulates the manner in which real products and services are distributed through a traditional distribution chain.
Claims
1. A method comprising: providing a plurality of physical computing resources connected to a communications network managed by a service provider; providing upon a remote server connected to the communications network a cloud software application supporting a plurality of portals, each portal supporting a plurality of activities with each activity relating to an aspect of provisioning computing resources relating to the plurality of physical computing resources; providing a user of a plurality of users with access to a predetermined portal of the plurality of portals within a graphical user interface upon a first computer system connected to the communications network; receiving from the user of the plurality of users one or more inputs via a user interface of the first computer relating to a predetermined activity of the plurality of activities associated with the predetermined portal of the plurality of portals; transmitting the one or more inputs made by the user via the user interface of the first computer to the remote server; performing upon the remote server the predetermined activity of the plurality of activities; and automatically managing with the cloud software application upon the remote server the plurality of physical computing resources in dependence upon the inputs from the plurality of users within the plurality of portals relating to the plurality of activities.
2. The method according to claim 1, wherein each portal of the plurality of portals relates to managing at least one of the plurality of activities within a predetermined subset of the plurality portals and the predetermined subset of the plurality of portals; wherein a first predetermined subset of the plurality of users have access to the portal of the plurality of portals; and a second predetermined subset of the plurality of users have access to the predetermined subset of the plurality of portals.
3. The method according to claim 1, wherein each portal of the plurality of portals is associated with a predetermined tier of a plurality of tiers within a hierarchy; each portal within the predetermined tier of the plurality of tiers allows a predetermined subset of the users associated the portal to configure an aspect of the plurality of physical computing resources; and only one predetermined tier of the plurality of tiers directly configures the plurality of physical computing resources.
4. The method according to claim 1, wherein each portal of the plurality of portals is associated with a predetermined tier of a plurality of tiers within a hierarchy; the lowermost tier of plurality of tiers within the hierarchy directly manages the plurality of physical computing resources; and a predetermined subset of the plurality of users manage the portals in each other tier of the plurality of tiers within the hierarchy; each user within the predetermined subset of the plurality of users managing portals provision through their portals a plurality of services supported by the plurality of physical resources; and each service of the plurality of services provisioned by each user within the predetermined subset of the plurality of users is only accessible to users within the next tier up in the hierarchy.
5. The method according to claim 1, wherein each portal of the plurality of portals is associated with a predetermined tier of a plurality of tiers within a hierarchy; the lowermost tier of plurality of tiers within the hierarchy directly manages the plurality of physical computing resources; the uppermost tier of plurality of tiers within the hierarchy purchase computing resources.
6. The method according to claim 5, wherein a user of the plurality of users associated with a tier below the uppermost tier of the plurality of tiers can provision a total computing resource relating to the plurality of physical computing resources available to all users in higher tiers who are customers of the user of the plurality of users.
7. The method according to claim 1, wherein each portal of the plurality of portals is associated with a predetermined tier of a plurality of tiers within a hierarchy; and each portal of the plurality of portals within the predetermined tier of the plurality of tiers provides: a partner portal allowing the user to configure at least one of a virtual service and a virtual product to be offered to partners; a client portal allowing partners to purchase the at least one of a virtual service and a virtual product offered by the user; and a provider portal allowing the user to configure at least one of a virtual server and a virtual product offered by a user within the tier below the user.
8. The method according to claim 1, wherein provisioning computing resources relating to the plurality of physical computing resources comprises provisioning instantiations of a virtual computing machines within the plurality of physical resources.
9. The method according to claim 1, wherein each portal of the plurality of portals is associated with a predetermined tier of a plurality of tiers within a hierarchy; each tier of the plurality of tiers is associated with provisioning instantiations of a virtual computing machines within the plurality of physical resources; and the lowermost tier manages the instantiations of a virtual computing machines within the plurality of physical resources according to at least one of guaranteed service levels and guaranteed configurations for the instantiations of the virtual computing machines.
10. The method according to claim 1, wherein a portal allows a user to configure at least one of a virtual service and a virtual product offered by the user to other users of the plurality of users; each purchased at least one of a virtual service and a virtual product is implemented as a virtual computing machine; and the virtual computing machine has at least one of a guaranteed service level and a guaranteed configuration.
11. The method according to claim 1, wherein the one or more inputs via a user interface of the first computer received from the user of the plurality of users relate to creating a customized storefront for the user of the plurality of users accessible through either the predetermined portal of the plurality of portals or another predetermined portal of the plurality of portals.
12. The method according to claim 1, wherein the cloud software application upon the remote server prioritizes implementation of a plurality of virtual machines; wherein each virtual machine associated with a purchased instance of at least one of a virtual service and a virtual product by another user of the plurality of users offered by the user of the plurality of users.
13. The method according to claim 1, wherein the cloud software application upon the remote server prioritizes performance of tasks associated with a plurality of virtual machines; wherein each virtual machine associated with a purchased instance of at least one of a virtual service and a virtual product by another user of the plurality of users offered by the user of the plurality of users; and each task is associated with the another user of the plurality of users.
14. The method according to claim 1, wherein each portal of the plurality of portals is associated with a predetermined tier of a plurality of tiers within a hierarchy and a plurality of instance of virtual machines associated with purchases made by users of the plurality of users via the portal of the plurality of portals; and the cloud software application upon the remote server prioritizes performance of tasks associated with a plurality of instances of virtual machines associated with the purchases made by users of the plurality of users via the portal of the plurality of portals in dependence upon at least one of a virtual service and a virtual product purchased by a user of the plurality of users associated with the portal of the plurality of portals.
15. The method according to claim 1, further comprising an application programming interface (API) supported by the cloud software application upon the remote server; wherein the API allows a user of the plurality of users to implement a software application interfacing to the cloud software application.
16. The method according to claim 1, wherein the cloud software application tracks actual computing resources utilised upon the plurality of physical computing resources; the utilised computing resources associated with a virtual machine instantiated upon the plurality of computing resources by the cloud software application; and the virtual machine is associated with a purchased instance of at least one of a virtual service and a virtual product.
17. The method according to claim 1, wherein the cloud software application tracks actual computing resources utilised upon the plurality of physical computing resources associated with a virtual machine instantiated in dependence upon a purchased instance of at least one of a virtual service and a virtual product; and the cloud software application tracks actual computing resources and bills a predetermined subset of the plurality of users in dependence upon the actual computing resources and contact terms associated with the purchased instance of at least one of the virtual service and the virtual product.
18. The method according to claim 17, wherein each user of the predetermined subset of the plurality of users is associated with a predetermined tier of a plurality of tiers within a hierarchy; and the actual computing resources utilised are associated with of at least one of a tier virtual service and a tier virtual product purchased by each user of the predetermined subset of the plurality of users in each tier of the plurality of tiers within the hierarchy; wherein the actual computing resource is virtually sold multiple times, each sale associated with a tier of the plurality of tiers within the hierarchy.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0037] The invention will now be described in more detail, by way of example only, with reference to the accompanying drawings, in which:
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
DETAILED DESCRIPTION
[0046] Although the invention will be described in connection with certain preferred embodiments, it will be understood that the invention is not limited to those particular embodiments. On the contrary, the invention is intended to cover all alternatives, modifications, and equivalent arrangements as may be included within the spirit and scope of the invention as defined by the appended claims.
[0047] Service providers have virtual resources that they wish to sell to a client through a sales channel. Embodiments of the invention provide a means of distributing these resources to clients through a business stack that is not available in the prior art. The embodiment provides a method by which a service provider can offer to partners a means to create a cloud based product or service with much greater ease and much less knowledge of the underlying systems. The service can be offered multiple partners, organized in tiers.
[0048] Referring to
[0049] The service provider 170 has orchestration servers 101 to host the software and to manage this. The tiers between the service provider tier 181 and the client tier 192 are known as partner tiers 182. The example given here shows the service provider tier 181, and two partner tiers 182, the distributor tier 190, the service vendor tier 191, and the client tier 192. Each tier has a portal that lets the appropriate user configure the tiers above it using various web pages. In this example, the service provider portal 196 can create and manage 197 the distributor tier 190, the service vendor tier 191 and the client tier 192. The partner portal 194 for the distribution tier 190 can create and manage 198 the service vendor tier 191 and the client tier 192. The partner portal 194 for the service vendor tier 191 can create and manage the client tier 192.
[0050] Referring to
[0051] Within the cloud management software module 116, there is database 130 for holding many forms of information and the web application 115, which is responsible for providing web pages 118 to the web page viewer 114. The cloud management software module communicates with the switches and routers using API 111, the payment applications 104 using API 109 and the virtualization software 107 (for example VMWare) via API 110 and third party providers 120 using API 117.
[0052] The cloud management software module 116 is also responsible for providing various (programmable) notifications to service vendors 113 via for example email 119. Other forms of communication could also be used like SMS or twitter. Its uses notification manger 160 to do this. The web application 115 manages the web pages 118 in the web page viewer 114 in a standard way. Also connected to the LAN/WAN 100 are base servers 105, which run virtualization software 107.
[0053] The cloud management software module 116 communicates with the virtualization software via API 110. The virtualization software 107 also manages the SAN (Storage Area Network) 106 through API 110. The partner app or service 112 resides on the base server 105 using the virtualization software 107 to run. Service vendor 113 uses web page viewer 114 which communicate in a standard way with web application 115 to set up and deploy the partner app or service 112 to clients 140. Clients 140 use a web page viewer 114, which communicates in a standard way with web application 115 to buy apps or services 112 from the partner 113. Attached to the LAN/WAN 100 are one or more payment servers 103 containing payment applications 104.
[0054] The cloud management software module 116 communicates using an API 109 with the payment applications 104. A third party provider 120 may use API 117 to access all the functionality provided by the cloud management software 116 that a partner 113 has access to via the web page viewer 114. API manager 150 handles this. The service provider has ownership 131 of the orchestration servers 101, the base servers 105, the SAN 106 and parts of the LAN/WAN 100 and switches and routers 108.
[0055]
[0056] The notification manager 160 is responsible for notifying partners 113 (shown in
[0061] Included in the database 130 is: [0062] Billing data 207 used by billing management 201, [0063] Catalogue management data 205 which is used to manage the partner's 113 raw apps and services 112 (shown in
[0070]
[0071] The job manager 302 is responsible for managing the job queues 306 and the jobs 304 based on the job data 300. Jobs 304 defined by job data 300 are made up of 307 tasks 305 which are defined by task data 301. The job manager 302 builds the tasks 305 associated to the job 304. When the job manager 302 runs a job 304, it adds the tasks 305 that make up the job 304 to the task queues 308.
[0072] The task manager 303 is responsible for running all the tasks 305 in the task queues 306. Each type of task 305 has its own queue. Each task 305 knows how to communicate with external resources through APIs 110 and 111 in order to get the task 305 done. The job manager 302 and task manager 303 are multi-threaded. Because the tasks 305 are abstracted, if they need to change, or if new tasks 305 are added to the system, then the changes are isolated to the job manager 302 and task manager 303, the rest of the system is not affected.
[0073]
[0074]
[0075] The timed billing transaction manager 500 gathers a list of partners 113 and subsequent clients 140 (shown in
[0076] The client 140 can set up an automatic balance top up, for automatic payment for services, in which they pick a threshold for the balance, which when reached adds a programmable amount of money to their account. The automatic credit card payment manager 501 manages this and uses the notification manager 160 to add a notification 402 to send to the clients 140.
[0077] The balance notification manager 502 uses the notification manager to add a notification 402 about service time remaining to send to the clients 140.
[0078] The account suspension manager 503 monitors all the client 140 accounts, and if the $ amount goes below a certain threshold, then it suspends all services by adding a job 504 to the job/task management 202. It uses the notification manager 160 to add a notification 402 to send to the clients 140. It uses API 109 to process credit cards through the payment applications 104.
[0079]
[0080] Web pages 118 are populated from the database 130 and viewed by a web page viewer 114. Users of the web page viewer 114 cause data to be written into database 130. The service provider 170 creates or assigns resources for the partner 113 to use via the service provider portal software 600, which causes jobs 304 to be sent to the job manager 302. The service provider 170 can also manage jobs 304 and tasks 305 through the service provider portal software 600. The partner 113 creates or assigns resources for the client 140 to use via the partner portal software 601, which causes jobs 304 to be sent to the job manager 302. The client 140 uses the client software portal 602 to buy a partner app or service 112.
[0081]
[0082]
[0083]
[0084]
[0085] Once they log in
[0086]
[0087]
[0088] The partner 113 then wants to add a new product to the store.
[0089] In
[0090]
[0091]
[0092]
[0093]
[0094]
[0095]
[0096]
[0097]
[0098]
[0099]
[0100]
[0101]
[0102]
[0103]
[0104]
[0105]
[0106]
[0107]
[0108]
[0109]
[0110] It will thus be seen that the invention provides distribution chain whereby the distribution of products and services is performed through distributors operating in a cloud environment.
[0111] It should be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the invention. For example, a processor may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term processor should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), and non-volatile storage. Other hardware, conventional and/or custom, may also be included. The functional blocks illustrated herein may in practice be implemented in hardware or software.