Account vending
By using an account creation and sales system, and leveraging branch processing modules and frameworks to manage the lifecycle of cloud infrastructure, the system automates the account creation process, solving the application deployment challenges across multi-account environments in existing technologies, and achieving fast and secure cloud account management and resource optimization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- TRANS UNION LLC
- Filing Date
- 2024-08-23
- Publication Date
- 2026-04-21
AI Technical Summary
In public cloud multi-account environments, existing technologies struggle to efficiently manage application deployments and dependencies across multi-account architectures, leading to inconsistent user permissions, misconfigurations, and security vulnerabilities.
Through the account creation and sales system, the deployment lifecycle of the basic cloud infrastructure is managed by the branch processing module and framework. The account creation process is automated, and pre-configured policies and rules are used. Combined with the application orchestration module and account management module, the creation, management and synchronization of accounts are ensured, and one-click cloud-based account creation is achieved.
It enables the rapid and low-complexity creation of cloud accounts, reduces manual intervention, improves security and consistency, reduces the risk of configuration errors, and optimizes the use of computing resources.
Smart Images

Figure CN121909455A_ABST
Abstract
Description
Background Technology
[0001] In public cloud multi-account environments, creating, managing, and synchronizing cloud accounts, access permissions, and client workflow configurations can be complex and time-consuming tasks. Existing solutions do not efficiently manage application deployments and their dependencies across multi-account architectures, often leading to inconsistent user permissions, misconfigurations, and security vulnerabilities. Identifying and resolving issues across multiple accounts or environments is challenging due to the lack of management of applications and their dependencies. Attached Figure Description
[0002] The accompanying drawings are incorporated herein and form part of the specification.
[0003] Figure 1 A block diagram illustrating an example system for account vending based on some aspects of this disclosure is provided.
[0004] Figure 2 A block diagram illustrating an example process for executing an application for account selling, based on some aspects of this disclosure.
[0005] Figure 3 A flowchart illustrating an example method for selling accounts based on some aspects of this disclosure.
[0006] Figure 4 It is an instance computer system that can be used to implement various embodiments.
[0007] In the diagram, the same reference numerals generally indicate the same or similar elements. Furthermore, the leftmost digit of the reference numerals typically indicates the first appearance of that reference numeral in the diagram. Detailed Implementation
[0008] This document provides embodiments of systems, devices, apparatuses, methods, and / or computer program products for selling accounts, and / or combinations and sub-combinations thereof.
[0009] An organization's, enterprise's, and / or operating entity's technology landscape and / or infrastructure can incorporate a wide variety of applications, services, data sources, servers, resources, etc. Applications within the landscape / infrastructure can include custom applications, legacy applications, database applications, cloud-based applications, enterprise resource planning applications, etc. Applications and / or associated data within the landscape are available at different locations (e.g., data centers, etc.) / configured on said different devices and / or accessible via networks (e.g., cloud, internet, wide area networks, etc.). Furthermore, organizations, enterprises, and / or operating entities can communicate and / or connect to multiple third-party systems, applications, services, and / or APIs to access data and incorporate additional functionality into their technology landscape / infrastructure.
[0010] According to some aspects of this disclosure, the technology landscape and / or infrastructure of an organization, enterprise, and / or operating entity may operate within and / or be supported by a cloud-based computing environment and / or platform, including but not limited to Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), IBM Cloud, Oracle Cloud Infrastructure (OCI), Alibaba Cloud DigitalOcean, Linode, etc. According to some aspects of this disclosure, the technology landscape and / or infrastructure of an organization, enterprise, and / or operating entity may include an account (e.g., cloud accounts, projects, subscriptions, etc.) generation and / or resale system. According to some aspects of this disclosure, the account generation and / or resale system can automate the process of generating and pre-configuring accounts for accessing various services and / or applications. According to some aspects of this disclosure, the account generation and / or resale system can simplify the account creation process, reduce manual labor, and improve security by enforcing account creation policies and rules. According to some aspects of this disclosure, the account generation and / or selling system can be implemented using various technologies (such as cloud-based services, APIs, microservice architectures, etc.).
[0011] For example, the computing device may determine a first set of applications that facilitate the functionality of the requested cloud account. A sequential execution order may be determined for each application in the second set of applications that has already been executed, based on a set of corresponding dependencies (e.g., infrastructure dependencies, service dependencies, library dependencies, code dependencies, security elements, and / or credential-based dependencies, etc.) and for the second set of applications to be executed after at least one application in the first set. A parallel execution order may be determined for the remaining applications in the first set that are excluded from the sequential execution order. The first and second sets of applications may be executed according to the sequential and parallel execution order, and a notification facilitating access to the cloud account may be sent to the user device based on an indication that the first and second sets of applications have been successfully executed.
[0012] According to some aspects of this disclosure, systems, devices, apparatuses, methods, and / or computer program product embodiments and / or combinations and sub-combinations thereof for account selling facilitate the generation, management, and synchronization of cloud accounts and related information (e.g., resources, access rights, configurations, etc.) while minimizing computing resources. According to some aspects of this disclosure, account creation and / or selling systems may utilize branch processing modules and / or frameworks to manage the deployment and lifecycle of underlying cloud infrastructure to target accounts. According to some aspects of this disclosure, target accounts enable users / applications / systems to access and manage resources (including but not limited to computing power, storage devices, databases, services, etc.). According to some aspects of this disclosure, account creation and / or selling systems may use entity-specific guardrails and network connectivity to orchestrate account creation. According to some aspects of this disclosure, the account creation and / or selling systems described herein facilitate “one-click” cloud-based account creation, where account requests are processed rapidly with minimal complexity. For example, account creation may be initiated in response to the submission of verified credentials, account functional details, etc. According to some aspects of this disclosure, credentials and / or account functionality details can be verified and / or submitted via an interactive user interface, such as one that supports drag-and-drop functionality. According to some aspects of this disclosure, the account creation and / or selling system described herein eliminates the need for temporary scripts, pipelines, and engineering operation manuals for creating and / or maintaining accounts, for example, within a cloud-based platform, and thus provides at least the advantages and improvements of the technical fields of cloud computing, account management, etc. These and other technical advantages are described herein.
[0013] Figure 1 This diagram illustrates a sample system 100 used for account sales. System 100 is merely an example suitable for a particular system environment and is not intended to suggest any limitations on the scope or functionality of the aspects described herein. Nor should System 100 be construed as having any dependencies or requirements relating to any individual module / component or combination of modules / components described herein.
[0014] According to some aspects of this disclosure, system 100 may include network 102. According to some aspects of this disclosure, network 102 may include packet-switched networks (e.g., Internet Protocol-based networks), non-packet-switched networks (e.g., quadrature amplitude modulation-based networks), etc. According to some aspects of this disclosure, network 102 may include network adapters, switches, routers, modems, etc., connected via wireless links (e.g., radio frequency, satellite) and / or physical links (e.g., fiber optic cables, coaxial cables, Ethernet cables, or combinations thereof). Network 102 may include public networks, private networks, wide area networks (e.g., the Internet), local area networks, etc. According to some aspects of this disclosure, network 102 may include content access networks, content distribution networks, etc. According to some aspects of this disclosure, network 102 can provide and / or support communication from telephones, cellular devices, modems, and / or other electronic devices to and throughout system 100. For example, system 100 may include and support communication between user device 104 and distributed computing platform 110 via network 102.
[0015] According to some aspects of this disclosure, although shown as a single device, user device 104 may be part of a client and / or user computing system and / or infrastructure. For example, user device 104 may represent multiple user devices communicating and / or interactively operating within a client and / or user computing system and / or infrastructure. According to some aspects of this disclosure, although in Figure 1 User device 104 is shown, but system 100 can communicate with and / or support any number of user devices and / or client / user computing systems.
[0016] According to some aspects of this disclosure, user device 104 may include, for example, a smart device, mobile device, laptop computer, tablet computer, display device, computing device, or any other device and / or system 100 capable of communicating with distributed computing platform 110. User device 104 may include a communication module 106 that facilitates and / or enables communication with network 102 (e.g., devices, components, and / or systems of network 102), distributed computing platform 110, and / or system 100, or any other device / component of system 100. For example, communication module 106 may include hardware and / or software for facilitating communication. According to some aspects of this disclosure, communication module 106 may include one or more of a modem, transceiver (e.g., a wireless transceiver), digital-to-analog converter, analog-to-digital converter, encoder, decoder, modulator, demodulator, tuner (e.g., QAM tuner, QPSK tuner), etc. According to some aspects of this disclosure, communication module 106 may include any hardware and / or software required to facilitate communication.
[0017] According to some aspects of this disclosure, user device 104 may include interface module 108. According to some aspects of this disclosure, interface module 108 enables a user to interact with user device 104, network 102, distributed computing platform 110, and / or any other device / component of system 100. Interface module 108 may include any interface for presenting information to the user and / or receiving information from the user.
[0018] According to some aspects of this disclosure, interface module 108 enables users to view content, applications, web pages, and / or user interfaces and / or interact with them. According to some aspects, interface module 108 may include a web browser (e.g., Internet Explorer®, Mozilla Firefox®, Google Chrome®, Safari®, etc.). According to some aspects, interface module 108 may request or query various files from local and / or remote sources (e.g., distributed computing platform 110 and / or any other device / component of system 100). For example, interface module 108 may be used to request components for creating, accessing, or manipulating cloud-based accounts.
[0019] According to some aspects, interface module 108 may include one or more input devices and / or components, such as a keyboard, pointing device (e.g., computer mouse, remote control), microphone, joystick, haptic input device (e.g., touchscreen, haptic glove, etc.). According to some aspects, interaction with the input devices and / or components enables users to interact with a user interface generated and / or displayed by interface module 108, etc. According to some aspects, interaction with the input devices and / or components enables users to request the creation of cloud-based accounts, access cloud-based accounts, manipulate cloud-based account components, etc.
[0020] According to some aspects of this disclosure, the distributed computing platform 110 may be and / or include systems, computing infrastructure / architectures, and / or software platforms configured to access multiple software applications, services, and / or data sources. According to some aspects of this disclosure, the distributed computing platform 110 may be and / or include, support, and / or facilitate Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS), cloud computing platforms (e.g., Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), IBM Cloud, Oracle Cloud Infrastructure (OCI), Alibaba Cloud DigitalOcean, Linode, etc.). According to some aspects of this disclosure, the distributed computing platform 110 may be configured to design, maintain, and deploy cloud-based accounts for different software applications, services, and / or data sources. For example, according to some aspects of this disclosure, the distributed computing platform 110 may include / incorporate Enterprise Service Bus (ESB) architecture, microservice architecture, Service-Oriented Architecture (SOA), etc. According to some aspects of this disclosure, the distributed computing platform 110 allows users to build and deploy integrations that communicate and / or connect with third-party systems, and provides additional functionality for further integration of data from multiple organizations and / or cloud-based data sources. According to some aspects of this disclosure, the distributed computing platform 110 can support and / or facilitate integrated streams, APIs, applications, etc., of data accessed, manipulated, stored, and utilized from different technological resources.
[0021] According to some aspects of this disclosure, the distributed computing platform 110 may include an interface module 112. According to some aspects of this disclosure, the interface module 112 enables a user to interact with the distributed computing platform 110, user device 104, network 102, and / or any other device / component of system 100. The interface module 112 may include any interface for presenting information to the user and / or receiving information from the user. The interface module 112 may be implemented as a web-based application, desktop application, or other suitable interface. According to some aspects of this disclosure, the interface module 112 enables the user to interact with tools and / or resources used to generate automated pipelines for testing and deploying code changes. For example, the interface module 112 enables the user to interact with tools and / or resources used to build and test applications on various computing platforms.
[0022] According to some aspects of this disclosure, interface module 112 allows users to interact with account management module 118, application orchestration module 120, and / or any other modules, devices, and / or components of the distributed computing platform 110 to create, modify, and delete cloud-based accounts, manage access permissions, and configure and / or manipulate branch configurations of cloud-based accounts. According to some aspects of this disclosure, branch configurations of cloud-based accounts may include, but are not limited to, any settings and / or configurations applied to resources (e.g., resource examples 114A to 114D, etc.) and / or accounts and / or services related to those accounts. According to some aspects of this disclosure, branch configurations may include, for example, in development, staging, and production environments, one or more workflows and / or different versions of orchestrated application groups. Each branch may have its specific configuration to reflect its purpose and requirements.
[0023] According to some aspects of this disclosure, individual cloud-based accounts or individual resources (e.g., resources 114A to 114D, etc.) can be associated with different branch configurations. Configurations can define scaling policies, security settings, etc. By creating, supporting, and maintaining different branch configurations within cloud-based accounts, the account management module 118 and application orchestration module 120 ensure proper separation of the client environment, reduce potential risks, and facilitate the account development and deployment process.
[0024] According to some aspects of this disclosure, the distributed computing platform 110 may include a resource module 114. The resource module 114 may include multiple servers and storage devices configured to provide multiple resource examples 114A to 114D. According to some aspects of this disclosure, although... Figure 1 Only four resource examples 114A to 114D are shown for reference, but the distributed computing platform 110 may contain any number of resource examples 114A to 114D. According to some aspects of this disclosure, any one of the resource examples 114A to 114D can communicate with any other resource example 114A to 114D through a virtual network or the like provided by the distributed computing platform 110.
[0025] According to some aspects of this disclosure, resource examples 114A to 114D may include multiple web-based and / or cloud-based services that enable users to utilize virtual computers (e.g., examples), run custom applications, and take advantage of scalable computing power.
[0026] According to some aspects of this disclosure, resource examples 114A to 114D may include multiple database examples and / or storage device examples provided by multiple computing and / or storage devices and / or media (e.g., data lakes, data silos, data storage buckets, virtual storage devices, remote storage devices, physical storage devices, relational databases, etc.). According to some aspects of this disclosure, resource examples 114A to 114D may include and / or support multiple applications operated and / or maintained by physical operators, third-party operators, etc. According to some aspects of this disclosure, resource examples 114A to 114D may include managed NoSQL database services, document-oriented databases, etc. According to some aspects of this disclosure, resource examples 114A to 114D may support and / or facilitate automatic data partitioning and replication across multiple availability zones, seamless scalability, fast and predictable performance, and flexible data models. According to some aspects of this disclosure, resource examples 114A to 114D may support different levels of consistency options to meet the needs of different applications (e.g., web applications, mobile applications, applications supporting games and / or IoT, etc.).
[0027] Based on some aspects of this disclosure, resource examples 114A to 114D may follow any API architecture style, design methodology, and / or protocol. For example, resource examples 114A to 114D may include Web API, RESTful API, SOAP API, GraphQL, Remote Procedure Call (RPC) API, Java Database Connectivity (JDBC) API, streaming API, and / or any other type of API.
[0028] According to some aspects of this disclosure, resource examples 114A to 114C may include and / or support serverless computing services. For example, utilization of resource examples 114A to 114D may allow code to run without pre-configuring or managing servers, enabling users to write and execute code without considering infrastructure, scaling, or server maintenance. According to some aspects of this disclosure, any of resource examples 114A to 114D enables applications to be built to respond to events generated by any other resource examples 114A to 114D. According to some aspects of this disclosure, any of resource examples 114A to 114D can be used to generate custom RESTful API endpoints that trigger your user-defined and / or customized functionality. According to some aspects of this disclosure, resource examples 114A to 114D may include and / or support real-time or batch processing of data, including but not limited to operational pattern analysis, data transformation, and / or data validation. According to some aspects of this disclosure, resource examples 114A to 114D can be used to run scheduled tasks, such as data backup or periodic data cleanup tasks.
[0029] According to some aspects of this disclosure, the distributed computing platform 110 may include a tracking module 116. The tracking module 116 may track, record, and / or store logs indicating the operation data and / or operation modes of user devices (e.g., user device 104, etc.). The operation data and / or operation modes of the user devices may include, but are not limited to, information indicating access requests to or within the distributed computing platform 110, resources (e.g., applications, tools, data, etc.) utilized and / or accessed by user devices communicating with the distributed computing platform 110, inter-resource communication, etc.
[0030] For example, according to some aspects of this disclosure, a first application executing on resource example 114A may request access to information stored on resource example 114D. To request access to the information stored on resource example 114D, resource example 114A may invoke a specific API. When resource example 114A invokes a specific API, tracking module 116 may detect the call and may track, record, and / or store associated information. For example, tracking module 116 may contain textual and / or numeric information describing each API call associated with an account. Information associated with a specific API call may include, but is not limited to, the identifier of the user of user device 104, the identifier of user device 104, the role (or application assigned a role) that invoked the API, the API invoked, the call time, the source IP address of the caller, the parameters included in the API call, and any returned responses containing, for example, an access denied error message.
[0031] According to some aspects of this disclosure, as previously described, the account management module 118 can provide application deployment and management services within the distributed computing platform 110. According to some aspects of this disclosure, the account management module 118 can create, modify, and delete cloud-based accounts and assign appropriate access permissions based on branch configurations. According to some aspects of this disclosure, the account management module 118 may include a configuration repository and / or communicate with the configuration repository to retrieve and store account and access permission data.
[0032] According to some aspects of this disclosure, for example, regarding access to and / or operation of the application orchestration module 120, the account management module 118 may facilitate and / or support security, authentication, etc., within the distributed computing platform 110. According to some aspects of this disclosure, the account management module 118 may facilitate and / or support security, authentication, etc., to ensure that only authorized users and applications can access the application orchestration module 120 and / or any other devices, resources, and / or components of the system 100. For example, the account management module 118 may use various authentication methods and / or frameworks, including but not limited to Open Authorization (OAuth), Security Assertion Markup Language (SAML), Lightweight Directory Access Protocol (LDAP), etc.
[0033] According to some aspects of this disclosure, the application orchestration module 120 can be responsible for maintaining consistency across all branches by synchronizing configurations, accounts, and access permissions. The application orchestration module 120 can communicate with the account management module 118 (e.g., a configuration repository) and each application branch to ensure that all branches have the latest information.
[0034] According to some aspects of this disclosure, the application orchestration module 120 can manage the execution of applications across multiple cloud-based accounts and environments. According to some aspects of this disclosure, the application orchestration module 120 can ensure consistent deployment of resources and configurations across different accounts, while handling application dependencies and / or execution order.
[0035] According to some aspects of this disclosure, the application orchestration module 120 may receive information from the account management module 118 indicating a plurality of applications to be executed for a requested account and their corresponding configurations associated with the account. According to some aspects of this disclosure, the application orchestration module 120 may include a predictive model that recommends applications to be executed for the requested account. According to some aspects of this disclosure, the application orchestration module 120 analyzes historical account configurations, application usage patterns, operational data, operational patterns, and / or other relevant characteristics to make recommendations for applications to be executed for the requested account.
[0036] For example, tracking module 116 may provide application orchestration module 120 with data indicating historical account configurations, application usage patterns, operational data, operating patterns, and / or other relevant characteristics (e.g., account type, industry information, scaling / resize information, etc.). This data can be cleaned and preprocessed to ensure it is in a suitable format for training the predictive model. For example, historical account configurations, application usage patterns, operational data, operating patterns, and / or other relevant characteristics may be represented as normalized numerical features, coded categorical features, etc.
[0037] According to some aspects of this disclosure, the application orchestration module 120 can generate relevant features to represent each account and its associated applications. According to some aspects of this disclosure, the features may include, but are not limited to, application popularity, frequency of co-occurring applications, application performance metrics, etc. Furthermore, according to some aspects of this disclosure, the features may include domain-specific and / or behavior-based features associated with the account, such as industry-specific application usage patterns.
[0038] According to some aspects of this disclosure, the predictive model of the application orchestration module 120 can be trained on preprocessed data and the resulting features. According to some aspects of this disclosure, the predictive model (e.g., via collaborative filtering, content-based filtering, matrix factorization, deep learning, etc.) can be trained as a classification model, regression model, recommendation model, etc., based on the target domain and / or desired output operation. According to some aspects of this disclosure, the performance of the predictive model can be evaluated using metrics, including but not limited to precision, recall, F1 score, mean precision (MAP), etc. According to some aspects of this disclosure, the predictive model of the application orchestration module 120 can be fine-tuned as needed to improve performance, for example, by adjusting hyperparameters.
[0039] According to some aspects of this disclosure, when a new account is requested, the application orchestration module 120 can use a predictive model to generate recommendations for applications to be added to the account based on the account's characteristics and application usage patterns. For example, the application orchestration module 120 can use the predictive model's recommendations to determine which applications to add to the requested account automatically or through manual selection by presenting a sorted list of recommended applications to the user (e.g., an account administrator). According to some aspects of this disclosure, the application orchestration module 120 can use the predictive model to provide more targeted and relevant application recommendations for the account. Therefore, the application orchestration module 120 can improve the efficiency of account setup and increase the likelihood of successful application adoption.
[0040] According to some aspects of this disclosure, regardless of whether the applications are instructed by the account management module 118 or recommended by the predictive model of the application orchestration module 120, each application may include and / or be associated with an identifier and a set of dependencies indicating the order in which they must be executed. According to some aspects of this disclosure, the application orchestration module 120 may perform dependency analysis to determine the order in which the applications must be executed.
[0041] According to some aspects of this disclosure, in response to a request to create an account (e.g., a one-click cloud-based account creation request, etc.), the application orchestration module 120 can analyze the dependencies between applications and generate a dependency graph. The dependency graph can be used to determine an execution order that takes into account the relationships between applications (e.g., sequential execution order, parallel execution order, etc.).
[0042] According to some aspects of this disclosure, based on dependency graphs, the application orchestration module 120 can schedule the execution of applications for an account. It determines a sequential execution order for applications with dependencies and schedules independent applications for parallel execution. Independent applications are applications without dependencies, or whose dependencies have already been executed.
[0043] According to some aspects of this disclosure, the application orchestration module 120 can execute applications in a determined sequential order based on corresponding dependencies, and execute independent applications in parallel. According to some aspects of this disclosure, the execution status and results of each application can be collected, stored, and / or reported (e.g., reported to the requesting client / user device, etc.).
[0044] According to some aspects of this disclosure, the application orchestration module 120 may receive updates to the application and its configuration. According to some aspects of this disclosure, the application orchestration module 120 updates the corresponding dependency graph based on the updates to the application and adjusts the execution schedule of the application accordingly.
[0045] According to some aspects of this disclosure, Figure 2 A block diagram illustrating an instance process 200 for executing an application used for account sales is provided. At 201, according to some aspects of this disclosure, in response to a request to create an account (e.g., a one-click cloud-based account creation request, etc.), the account management module 118 may direct multiple applications (e.g., App 1 to App 6) to the application orchestration module 120. The application orchestration module 120 may analyze the dependencies between the applications (e.g., App 1 to App 6) and generate a dependency graph 202. The dependency graph may group the applications according to their interdependencies.
[0046] For example, for applications App 1 to 6 registered with application orchestration module 120, App 4 may depend on App 2, App 5 may depend on App 1, and App 6 may depend on both App 5 and App 3. In this scenario, App 1, App 2, and App 3 have no dependencies. Since App 1, App 2, and App 3 have no dependencies, they can be assigned to group 204. Since App 4 and App 5 depend on applications in group 204, they can be assigned to group 206. Since App 6 depends on App 5 in group 206 and App 3 in group 202, it can be assigned to group 208.
[0047] Dependency graphs can be used to determine the execution order (e.g., sequential execution order, parallel execution order, etc.) for Apps 1 through 6, taking into account the relationships between applications. According to some aspects of this disclosure, application orchestration module 120 can execute groups 204, 206, and 208 sequentially. Group 208 applications can only be executed after all applications in group 204 have been successfully processed. Applications within any group (e.g., group 204, group 206, group 208, etc.) can be executed in parallel.
[0048] According to some aspects of this disclosure, the application orchestration module 120 provides centralized management and deployment of applications across different accounts and environments while handling dependencies and execution order.
[0049] Return to Figure 1 According to some aspects of this disclosure, the application orchestration module 120 can further determine the optimal execution mode of the application based on historical execution information associated with the account being generated and multiple other cloud-based accounts. According to some aspects of this disclosure, the optimal execution mode can minimize the use of computing resources for generating cloud accounts. For example, the application orchestration module 120 can identify the optimal execution mode and / or sequence for executing the application that minimizes computing resource usage by considering application dependencies as described and also various other parameters and factors (including but not limited to resource utilization, workload patterns, autoscaling, prioritization, cost optimization, containerization, performance metrics, time-based scheduling, appropriate resizing, etc.).
[0050] For example, according to some aspects of this disclosure, the application orchestration module 120 can monitor and analyze the resource utilization (CPU, memory, storage devices, network bandwidth) of each application to understand their requirements and allocate resources efficiently. According to some aspects of this disclosure, the application orchestration module 120 can analyze the workload patterns of applications (e.g., periodic, bursty, or steady-state) and schedule the execution of applications to maximize resource sharing and minimize idle resources.
[0051] According to some aspects of this disclosure, the application orchestration module 120 may utilize autoscaling to minimize the computing resource usage for generating cloud accounts. For example, according to some aspects of this disclosure, the application orchestration module 120 may implement an autoscaling strategy to automatically adjust the number of instances based on application requirements. Autoscaling strategies can help optimize resource usage and reduce costs.
[0052] According to some aspects of this disclosure, the application orchestration module 120 may utilize priority ranking to minimize the use of computing resources for generating cloud accounts. For example, according to some aspects of this disclosure, the application orchestration module 120 may assign priorities to applications based on their importance and impact on enterprises, entities, processes, etc. For example, the application orchestration module 120 may assign priorities to help execute high-priority applications first to ensure that critical applications receive sufficient resources.
[0053] According to some aspects of this disclosure, the application orchestration module 120 can utilize cost optimization to minimize the use of computing resources for generating cloud accounts. For example, according to some aspects of this disclosure, the application orchestration module 120 can analyze the cost of various computing resources (e.g., on-demand, reserved, or spot examples) and select the most cost-effective option without compromising performance.
[0054] According to some aspects of this disclosure, the application orchestration module 120 may utilize application performance metrics to minimize the use of computing resources for generating cloud accounts. For example, according to some aspects of this disclosure, the application orchestration module 120 may monitor application performance metrics (e.g., latency, throughput, error rate) and adjust resource allocation to meet desired service levels.
[0055] According to some aspects of this disclosure, the application orchestration module 120 may utilize containerization to minimize the use of computing resources for generating cloud accounts. For example, according to some aspects of this disclosure, the application orchestration module 120 may utilize containerization technologies (e.g., Docker, etc.) and orchestration tools (e.g., Kubernetes, etc.) to improve resource utilization, because containers can share resources more efficiently than traditional virtual machines.
[0056] According to some aspects of this disclosure, the application orchestration module 120 may utilize time-based scheduling to minimize the use of computing resources for generating cloud accounts. For example, according to some aspects of this disclosure, the application orchestration module 120 may schedule non-critical or batch applications during off-peak hours to minimize resource contention and utilize low-cost resources (if available) (e.g., AWS EC2 spot example).
[0057] According to some aspects of this disclosure, the application orchestration module 120 can minimize the computing resource usage for generating cloud accounts by utilizing reasonable sizing adjustments. For example, according to some aspects of this disclosure, the application orchestration module 120 can ensure that the instance type or resource configuration selected for the application is optimal for the application's requirements. According to some aspects of this disclosure, the application orchestration module 120 can periodically review and adjust the instance type or resource configuration based on changes in application requirements or resource usage patterns.
[0058] According to some aspects of this disclosure, once an account has been created and / or generated, the application management module 118 can assist in the lifecycle management of the application's core services. For example, according to some aspects of this disclosure, the application management module 118 can send notifications (e.g., Simple Notification Service (SNS) notifications, HTTP / HTTPS notifications, Short Message Service (SMS) notifications, Simple Queuing Service (SQS) notifications, etc.) along with account-related information to the infrastructure and / or users within the distributed computing platform 110. For example, the infrastructure and / or users within the distributed computing platform 110 can receive account-related information to initiate relevant workflows, etc.
[0059] According to some aspects of this disclosure, infrastructure devices and / or users within the distributed computing platform 110 may be assigned to manage and / or maintain the basic services and infrastructure within the distributed computing platform 110 ecosystem. For example, infrastructure devices and / or users within the distributed computing platform 110 may be responsible for: ensuring the stability, security, and scalability of services provided through the distributed computing platform 110; developing and maintaining core infrastructure components, such as computing services, storage services, and networking services; continuously improving the performance, efficiency, and reliability of services provided through the distributed computing platform 110; and collaborating with other infrastructure devices and / or users to develop and implement new features and improvements within the distributed computing platform 110.
[0060] Figure 3 This is a flowchart of a method 300 for selling accounts according to some aspects of this disclosure. Method 300 may be performed by processing logic that may include hardware (e.g., circuit systems, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions executed on a processing device), or a combination thereof. It should be understood that not all steps may be required to perform the disclosure provided herein. Furthermore, as those skilled in the art will understand, some steps may be performed simultaneously or in combination with… Figure 3 The text shows different execution sequences.
[0061] Please refer to Figures 1 to 2 Method 300 is described. However, method 300 is not limited to the described example embodiments.
[0062] At 310, the distributed computing platform 110 determines a first set of applications for each of the functions facilitating the cloud account, indicated by the received functional information. For example, the distributed computing platform 110 may determine the first set of applications for each of the functions facilitating the cloud account, indicated by the functional information, based on functional information received along with a request from a user device to generate a cloud account. For example, a user of the user device may interact with an interactive element of a user interface to send a request to generate a cloud account.
[0063] According to some aspects of this disclosure, the first group of applications may further include instructions from the distributed computing platform 110 to the user device for recommended applications. For example, the distributed computing platform 110 may send instructions for recommended applications to the user device based on an indication of the user device's operating mode. For example, the recommended application may be an application that supplements, supports, or enhances the application and / or actions indicated by the operating mode. According to some aspects of this disclosure, the distributed computing platform 110 may add the recommended application to the first group of applications. For example, the distributed computing platform 110 may add the recommended application to the first group of applications based on confirmation information received from the user device regarding the recommended application.
[0064] In 320, the distributed computing platform 110 determines the sequential execution order of the second set of applications after each application in the second set of applications has been executed, along with a set of corresponding dependencies and at least one application in the first set of applications. For example, the distributed computing platform 110 may determine the sequential execution order of the second set of applications after each application in the second set of applications, mapped to at least one application in the first set of applications, has been executed, based on a set of corresponding dependencies and at least one application in the first set of applications.
[0065] According to some aspects of this disclosure, determining the sequential execution order may further include the distributed computing platform 110 generating a dependency graph indicating the dependency relationships between each application in the second group of applications and at least one application in the first group of applications. According to some aspects of this disclosure, the distributed computing platform 110 may determine the sequential execution order based on the dependency graph.
[0066] According to some aspects of this disclosure, determining the sequential execution order may further include the distributed computing platform 110 assigning a corresponding priority level to each application in the second group of applications.
[0067] In 330, the distributed computing platform 110 determines the parallel execution order of the remaining applications excluded from the sequential execution order in the first group of applications.
[0068] In step 340, the distributed computing platform 110 executes a second set of applications after executing the set of corresponding dependencies and at least one application in the first set of applications. For example, the distributed computing platform 110 may execute the second set of applications based on a sequential execution order after executing the set of corresponding dependencies and at least one application in the first set of applications.
[0069] In step 350, the distributed computing platform 110 executes the remaining applications in the first group of applications. For example, the distributed computing platform 110 may execute the remaining applications in the first group of applications based on a parallel execution sequence.
[0070] In 360, the distributed computing platform 110 sends a notification facilitating access to a cloud account to the user device. For example, the distributed computing platform 110 may send the notification facilitating access to the cloud account to the user device based on instructions that each application in the first set of applications and each application in the second set of applications has been successfully executed. According to some aspects of this disclosure, the notification may include, but is not limited to, an access link for accessing the cloud account, credentials for accessing the cloud account (e.g., multi-factor authentication information, single sign-on (SSO) information, etc.), etc.
[0071] According to some aspects of this disclosure, method 300 may further include the distributed computing platform 110 modifying the sequential execution order. For example, the distributed computing platform 110 may modify the sequential execution order based on events, said events including, but not limited to, updates to applications in a first group of applications, updates to applications in a second group of applications, etc. According to some aspects of this disclosure, the distributed computing platform 110 modifies the parallel execution order. For example, the distributed computing platform 110 may modify the parallel execution order based on executing a second group of applications according to the modified sequential execution order. According to some aspects of this disclosure, the distributed computing platform 110 modifies a cloud account. For example, the distributed computing platform 110 may modify the cloud account based on executing a first group of applications according to the modified parallel execution order.
[0072] According to some aspects of this disclosure, method 300 may further include a distributed computing platform 110 determining an optimal execution mode for at least one of the first set of applications or the second set of applications. For example, the distributed computing platform 110 may determine the optimal execution mode based on cloud accounts and historical execution information associated with multiple cloud accounts related to the first set of applications, the second set of applications, etc. According to some aspects of this disclosure, the optimal execution mode minimizes the computing resource usage used to generate the cloud accounts.
[0073] Figure 4 It is an example computer system that can be used to implement various embodiments. For example, one or more well-known computer systems (e.g., Figure 4The computer system 400 shown herein can be used to implement various embodiments. For example, one or more computer systems 400 can be used to implement any of the embodiments discussed herein, as well as combinations and sub-combinations thereof. According to some aspects of this disclosure, any apparatus / component described herein can be implemented using computer system 400. According to some aspects, computer system 400 can be used to implement method 400 and / or any other methods and / or steps described herein.
[0074] Computer system 400 may include one or more processors (also referred to as central processing units or CPUs), such as processor 404. Processor 404 may be connected to communication infrastructure or bus 406.
[0075] The computer system 400 may also include a user input / output device 403, such as a monitor, keyboard, pointing device, etc., that can communicate with the communication infrastructure or bus 406 via the user input / output device 402.
[0076] One or more processors 404 may be graphics processing units (GPUs). In an embodiment, the GPU may be a processor, which is a dedicated electronic circuit designed to process mathematically intensive applications. The GPU may have a parallel architecture that is efficient for parallel processing of large blocks of data, such as common mathematically intensive data for computer graphics applications, images, videos, etc.
[0077] The computer system 400 may also include main (or primary) memory 408, such as random access memory (RAM). Main memory 408 may include one or more levels of cache. Main memory 408 may have control logic (i.e., computer software) and / or data stored therein.
[0078] The computer system 400 may also include one or more auxiliary storage devices or memories 410. The auxiliary storage 410 may include, for example, a hard disk drive 412 and / or a removable storage device or drive 414. The removable storage drive 414 may be a floppy disk drive, a magnetic tape drive, an optical disk drive, an optical storage device, a magnetic tape backup device, and / or any other storage device / drive.
[0079] Removable storage drive 414 can interact with removable storage unit 418. Removable storage unit 418 may include a computer-usable or readable storage device having computer software (control logic) and / or data stored thereon. Removable storage unit 418 may be a floppy disk, magnetic tape, optical disc, DVD, optical storage disk, and / or any other computer data storage device. Removable storage drive 414 can read from and / or write to removable storage unit 418.
[0080] Auxiliary storage 410 may include other components, means, parts, tools, and / or methods for allowing computer system 400 to access computer programs and / or other instructions and / or data. Such components, means, parts, tools, and / or methods may include, for example, removable storage unit 422 and interface 420. Examples of removable storage unit 422 and interface 420 may include program cartridges and cartridge interfaces (e.g., program cartridges and cartridge interfaces found in video game devices), removable memory chips (e.g., EPROM or PROM) and associated sockets, memory sticks and USB ports, memory cards and associated memory card slots, and / or any other removable storage units and associated interfaces.
[0081] Computer system 400 may further include a communication or network interface 424. Communication interface 424 enables computer system 400 to communicate and interact with any combination of external devices, external networks, external entities, etc. (individually and collectively represented by reference numeral 428). For example, communication interface 424 may allow computer system 400 to communicate with external or remote devices 428 via communication path 426, which may be wired and / or wireless (or a combination thereof), and may include any combination of LAN, WAN, Internet, etc. Control logic and / or data may be transmitted to and from computer system 400 via communication path 426.
[0082] Computer system 400 may also be any one and / or any combination of a personal digital assistant (PDA), a desktop workstation, a laptop or notebook computer, a netbook, a tablet computer, a smartphone, a smartwatch or other wearable device, an appliance, a part of the Internet of Things and / or an embedded system (to name only a few non-limiting examples).
[0083] Computer system 400 may be a client or server that accesses or hosts any application and / or data through any delivery paradigm (including but not limited to remote or distributed cloud computing solutions); on-premises or locally deployed software (“on-premises” cloud-based solutions); “as-a-service” models (e.g., Content as a Service (CaaS), Digital Content as a Service (DCaaS), Software as a Service (SaaS), Managed Software as a Service (MSaaS), Platform as a Service (PaaS), Desktop as a Service (DaaS), Framework as a Service (FaaS), Backend as a Service (BaaS), Mobile Backend as a Service (MBaaS), Infrastructure as a Service (IaaS), etc.); and / or hybrid models that include any combination of the foregoing instances or other services or delivery paradigms.
[0084] Any applicable data structures, file formats, and schemas in computer system 400 may be derived from standards including, but not limited to, JavaScript Object Notation (JSON), Extensible Markup Language (XML), YAML, Extensible Hypertext Markup Language (XHTML), Wireless Markup Language (WML), MessagePack, XML User Interface Language (XUL), or any other functionally similar representation, alone or in combination. Alternatively, proprietary data structures, formats, and / or schemas may be used exclusively or in combination with known or open standards.
[0085] In some embodiments, a tangible, non-transitory device or article of art, including a tangible, non-transitory computer-usable or readable medium having control logic (software) stored thereon, may also be referred to herein as a computer program product or program storage device. This includes, but is not limited to, computer system 400, main memory 408, secondary memory 410 and removable storage units 418 and 422, and tangible articles embodying any combination thereof. When executed by one or more data processing devices (e.g., computer system 400), this control logic enables such data processing devices to operate as described herein.
[0086] Based on the teachings contained in this disclosure, those skilled in the art should understand how to use [the following methods]: Figure 4 Embodiments of this disclosure may be made and used with data processing apparatus, computer systems, and / or computer architectures other than those shown herein. Specifically, embodiments may be operated using software, hardware, and / or operating system implementations other than those described herein.
[0087] It should be understood that the claims are intended to be interpreted using the detailed description section rather than any other section. Other sections may set forth one or more, but not all, exemplary embodiments as conceived by the inventors, and therefore are not intended to limit this disclosure or the appended claims in any way.
[0088] Furthermore and / or alternatively, while this disclosure describes exemplary embodiments of exemplary fields and applications, it should be understood that this disclosure is not limited thereto. Other embodiments and modifications thereof are possible and within the scope and spirit of this disclosure. For example, and without limiting the generality of this paragraph, the embodiments are not limited to the software, hardware, firmware, and / or entities illustrated in the figures and / or described herein. Moreover, the embodiments (whether or not explicitly described herein) have significant utility in fields and applications beyond those described herein.
[0089] One or more parts of the above-described embodiments may comprise software. Software is a general term meaning specified functions and their relationships. For ease of description, the boundaries of these functional building blocks have been arbitrarily defined herein. Alternative boundaries may be defined as long as the specified functions and relationships (or their equivalents) are performed appropriately. Furthermore, alternative embodiments may use a different order of execution of functional blocks, steps, operations, methods, etc., than those described herein.
[0090] References to “aspect,” “aspects,” “an embodiment,” “embodiment,” “example embodiment,” or similar phrases herein indicate that the described embodiment may include a particular feature, structure, or characteristic, but each embodiment may not necessarily include that particular feature, structure, or characteristic. Furthermore, such phrases do not necessarily refer to the same embodiment. Additionally, when a particular feature, structure, or characteristic is described in connection with an embodiment, incorporating that feature, structure, or characteristic into other embodiments (whether or not it is expressly mentioned or described herein) will be within the knowledge of those skilled in the art. Furthermore, some embodiments may use the expressions “coupled” and “connected,” and their derivatives, for description. These terms are not necessarily intended to be synonymous with each other. For example, some embodiments may use the terms “connected” and / or “coupled” to indicate that two or more elements are in direct physical or electrical contact with each other. However, the term “coupled” may also mean that two or more elements are not in direct contact with each other but still cooperate or interact with each other.
[0091] The scope and extent of this disclosure should not be limited to any of the exemplary embodiments described above, but should be defined solely by the following claims and their equivalents.
Claims
1. A computer-implemented method, comprising: A first set of applications is determined based on functional information received along with a request from a user device to generate a cloud account, which in turn promotes at least one function indicated by the functional information for the cloud account. The sequential execution order of the second group of applications to be executed after the execution of the corresponding set of dependencies and the execution of the at least one application in the first group of applications is determined based on a set of corresponding dependencies for each application in the second group of applications mapped to at least one application in the first group of applications. Determine the parallel execution order of the remaining applications excluded from the sequential execution order in the first group of applications; The second set of applications is executed based on the sequential execution order after the execution of the corresponding set of dependencies and at least one application in the first set of applications. The remaining applications in the first group of applications are executed based on the parallel execution order; and A notification facilitating access to the cloud account is sent to the user device based on instructions from each application in the first group of applications and each application in the second group of applications.
2. The computer implementation method according to claim 1, wherein determining the sequential execution order further comprises: Generate a dependency graph that indicates the dependency relationships between each application in the second group of applications and at least one application in the first group of applications; and The sequential execution order is determined based on the dependency graph.
3. The computer implementation method of claim 1, wherein determining the sequential execution order is further based on the corresponding priority level of each application assigned to the second group of applications.
4. The computer implementation method according to claim 1, further comprising: The sequential execution order is modified based on an update to at least one of the applications in the first group of applications or the applications in the second group of applications. The parallel execution order is modified based on executing the second group of applications according to the modified sequential execution order; and The cloud account is modified based on the execution of the first group of applications according to the modified parallel execution order.
5. The computer implementation method of claim 1, wherein the notification includes at least one of the following: an access link for accessing the cloud account or credentials for accessing the cloud account.
6. The computer-implemented method according to claim 1, further comprising: The optimal execution mode for at least one of the first group of applications or the second group of applications is determined based on the cloud account and historical execution information associated with multiple cloud accounts associated with at least one of the first group of applications or the second group of applications, wherein the optimal execution mode minimizes the computing resource usage used to generate the cloud account.
7. The computer implementation method according to claim 1, wherein determining the first group of applications further comprises: Instructions via recommended applications are sent to the user device based on the user device's operating mode. and The recommended application is added to the first group of applications based on confirmation information received from the user device.
8. A system comprising: Memory; and At least one processor coupled to the memory and configured to perform operations including: A first set of applications is determined based on functional information received along with a request from a user device to generate a cloud account, which in turn promotes at least one function indicated by the functional information for the cloud account. The sequential execution order of the second group of applications to be executed after the execution of the corresponding set of dependencies and the execution of the at least one application in the first group of applications is determined based on a set of corresponding dependencies for each application in the second group of applications mapped to at least one application in the first group of applications. Determine the parallel execution order of the remaining applications excluded from the sequential execution order in the first group of applications; The second set of applications is executed based on the sequential execution order after the execution of the corresponding set of dependencies and at least one application in the first set of applications. The remaining applications in the first group of applications are executed based on the parallel execution order; and A notification facilitating access to the cloud account is sent to the user device based on instructions from each application in the first group of applications and each application in the second group of applications.
9. The system of claim 8, wherein determining the sequential execution order further comprises: Generate a dependency graph that indicates the dependency relationships between each application in the second group of applications and at least one application in the first group of applications; and The sequential execution order is determined based on the dependency graph.
10. The system of claim 8, wherein determining the sequential execution order is further based on the corresponding priority level of each application assigned to the second group of applications.
11. The system of claim 8, wherein the operation further comprises: The sequential execution order is modified based on an update to at least one of the applications in the first group of applications or the applications in the second group of applications. The parallel execution order is modified based on executing the second group of applications according to the modified sequential execution order; and The cloud account is modified based on the execution of the first group of applications according to the modified parallel execution order.
12. The system of claim 8, wherein the notification includes at least one of the following: an access link for accessing the cloud account or credentials for accessing the cloud account.
13. The system according to claim 8, wherein the operation further comprises: The optimal execution mode for at least one of the first group of applications or the second group of applications is determined based on the cloud account and historical execution information associated with multiple cloud accounts associated with at least one of the first group of applications or the second group of applications, wherein the optimal execution mode minimizes the computing resource usage used to generate the cloud account.
14. The system of claim 8, wherein determining the first group of applications further comprises: Instructions via recommended applications are sent to the user device based on the user device's operating mode. and The recommended application is added to the first group of applications based on confirmation information received from the user device.
15. A non-transitory computer-readable medium having instructions stored thereon, the instructions causing the at least one computing device to perform operations when executed by the at least one computing device, the operations including: A first set of applications is determined based on functional information received along with a request from a user device to generate a cloud account, which in turn promotes at least one function indicated by the functional information for the cloud account. The sequential execution order of the second group of applications to be executed after the execution of the corresponding set of dependencies and the execution of the at least one application in the first group of applications is determined based on a set of corresponding dependencies for each application in the second group of applications mapped to at least one application in the first group of applications. Determine the parallel execution order of the remaining applications excluded from the sequential execution order in the first group of applications; The second set of applications is executed based on the sequential execution order after the execution of the corresponding set of dependencies and at least one application in the first set of applications. The remaining applications in the first group of applications are executed based on the parallel execution order; and A notification facilitating access to the cloud account is sent to the user device based on instructions from each application in the first group of applications and each application in the second group of applications.
16. The non-transitory computer-readable medium of claim 15, wherein determining the sequential execution order further comprises: Generate a dependency graph that indicates the dependency relationships between each application in the second group of applications and at least one application in the first group of applications; and The sequential execution order is determined based on the dependency graph.
17. The non-transitory computer-readable medium of claim 15, wherein determining the sequential execution order is further based on the corresponding priority level of each application assigned to the second group of applications.
18. The non-transitory computer-readable medium of claim 15, wherein the operation further comprises: The sequential execution order is modified based on an update to at least one of the applications in the first group of applications or the applications in the second group of applications. The parallel execution order is modified based on executing the second group of applications according to the modified sequential execution order; and The cloud account is modified based on the execution of the first group of applications according to the modified parallel execution order.
19. The non-transitory computer-readable medium of claim 15, wherein the notification comprises at least one of: an access link for accessing the cloud account or credentials for accessing the cloud account.
20. The non-transitory computer-readable medium of claim 15, wherein the operation further comprises: The optimal execution mode for at least one of the first group of applications or the second group of applications is determined based on the cloud account and historical execution information associated with multiple cloud accounts associated with at least one of the first group of applications or the second group of applications, wherein the optimal execution mode minimizes the computing resource usage used to generate the cloud account.