Dynamic Computing Resource Set Creation and Access Control

The system for dynamic computing resource set generation and access control addresses inefficiencies by automating resource access and management, reducing duplication and costs, and enhancing user experience through a processor-based interface with computing resources.

JP7822917B2Active Publication Date: 2026-03-03ASSURANT INC
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-11-30
Publication Date
2026-03-03

AI Technical Summary

Technical Problem

Current systems require separate access and registration processes for different products and services, leading to hardware and software duplication, inefficiencies, increased development time and costs, data desynchronization, and inconsistent user experiences.

Method used

A system for dynamic computing resource set generation and access control, utilizing a processor and memory to manage access privileges, generate resource sets, and interface with computing resources through an API, enabling automated resource access management and updates.

Benefits of technology

Reduces duplication, enhances efficiency, minimizes development costs, synchronizes data, and provides a consistent user experience by automating resource access and management across multiple computing resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007822917000001
    Figure 0007822917000001
  • Figure 0007822917000002
    Figure 0007822917000002
  • Figure 0007822917000003
    Figure 0007822917000003
Patent Text Reader

Abstract

To provider dynamic computing resource set generation and automated access control methods, systems, devices, computer readable media and programs.SOLUTION: An automated access control method includes the steps of: receiving, by an API platform, a resource access request associated with a selected computing resource set; storing, at a database associated with a dynamic resource assembly system, access privilege data associated with a plurality of constituent computing resources of the selected resource set and a first account; and transmitting the access privilege data to one or more of the plurality of constituent computing resources of the selected resource set, the access privilege data configured to cause association of the first account with the one or more of the plurality of constituent computing resources.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] FIELD Embodiments of the present disclosure relate generally to computer technology, and more particularly to systems, methods, apparatus, computer-readable media, and computer program products for dynamic computing resource set generation and access control. [Background technology]

[0002] Various products and services facilitated by hardware and / or software systems may require different back-end and front-end infrastructures to maintain and support them. Each of these products and services may require a separate access and registration process, each facilitated by the front- and back-end systems associated with each respective product and service. Such systems create unnecessary duplication of computer hardware and software, computational inefficiencies, increased development time and costs, data desynchronization and errors, and an inconsistent user experience. Summary of the Invention [Problem to be solved by the invention]

[0003] Applicant has identified several deficiencies and problems associated with current systems and methods in the art. [Means for solving the problem]

[0004] Through dedicated effort, ingenuity, and innovation, many of these identified problems have been solved by deploying solutions contained in embodiments of the present disclosure, many examples of which are described in detail herein.

[0005] In general, embodiments of the disclosure provided herein may relate to dynamic computing resource set generation and access control, and various associated systems, apparatus, methods, and computer program products. Other embodiments of dynamic computing resource set generation and access control will be, or become, apparent to those skilled in the art upon examination of the following figures and detailed description. All such additional embodiments are intended to be included within this description, be within the scope of this disclosure, and be protected by the following claims.

[0006] Various embodiments are directed to apparatus, methods, computer program products, computer-readable media, and systems related to dynamic computing resource set generation and access control. In various embodiments, a system configured for automated resource access management associated with a selected computing resource set of a plurality of computing resource sets may be provided. The system may include at least one processor and at least one memory associated with the at least one processor having computer code instructions therein that, when executed by the at least one processor, are configured to cause the system to: receive a resource access request associated with a selected computing resource set, the resource access request comprising a resource access request data structure comprising an indication of the selected computing resource set and first account data associated with the first account, the selected computing resource set comprising a plurality of constituent computing resources; store access privilege data associated with the plurality of constituent computing resources of the selected resource set and the first account in a database associated with the dynamic resource assembly system; and transmit the access privilege data to one or more of the plurality of constituent computing resources of the selected resource set, the access privilege data being configured to cause association of the first account with one or more of the plurality of constituent computing resources. The system can be configured to, prior to transmitting the access privilege data, retrieve data from the dynamic resource assembly system comprising a plurality of identifiers associated with a plurality of constituent computing resources of the selected computing resource set.In various embodiments, each of the plurality of constituent computing resources is independent. The system may be further configured to receive an indication of updates associated with one or more of the constituent computing resources, cause a registration interface to be rendered on a device associated with the first account, receive an updated resource access request associated with the updated selected computing resource set, and transmit updated access privilege data to the one or more constituent computing resources. The system may be configured to update one or more data structures associated with the plurality of computing resource sets in the dynamic resource assembly system in response to the indication of updates. In various embodiments, at least one of the constituent computing resources associated with the updated selected computing resource set is unchanged compared to the selected computing resource set. In some embodiments, prior to receiving the resource access request, the system may be configured to: receive a request for one or more computing resource sets; retrieve a data structure associated with the one or more computing resource sets; and cause rendering on the user device of a computing resource set registration interface, the computing resource set registration interface configured to display a representation of the one or more computing resource sets, and the resource access request being generated in response to a user selection in the computing resource set registration interface.In various embodiments, the representation of the one or more computing resource sets comprises at least one core computing resource and at least one optional computing resource, and the user selection comprises a selection of the at least one optional computing resource. In various embodiments, the computing resource set registration interface is further configured to present one or more customization options to the user, and the user selection comprises an attribute asset associated with the one or more customization options. In various embodiments, the one or more computing resource sets comprise a first computing resource set and a second computing resource set. In various embodiments, the first computing resource set and the second computing resource set comprise at least one common constituent computing resource. The resource access request data structure may further comprise channel data. In various embodiments, the system may be configured to receive an indication of updates associated with one or more of the constituent computing resources, generate a new computing resource set, and continue to support the selected computing resource set independently of the new computing resource set. In various embodiments, each of the plurality of constituent computing resources is associated with a token data structure, and a total token value for the selected set of computing resources comprises a combination of the token data structures for each of the plurality of constituent computing resources. In various embodiments, the system may include an application programming interface (API) configured to receive a plurality of resource access requests associated with a plurality of channels and a plurality of accounts.In various embodiments, the API is the only gateway for the system to perform the process of receiving resource access requests.

[0007] In various embodiments, a method for automated resource access management associated with a selected computing resource set of a plurality of computing resource sets may be provided. The method may include receiving a resource access request associated with the selected computing resource set, the resource access request comprising a resource access request data structure comprising an indication of the selected computing resource set and first account data associated with a first account, the selected computing resource set comprising a plurality of constituent computing resources; storing access privilege data associated with the plurality of constituent computing resources of the selected resource set and the first account in a database associated with a dynamic resource assembly system; and transmitting the access privilege data to one or more of the plurality of constituent computing resources of the selected resource set, the access privilege data being configured to cause association of the first account with one or more of the plurality of constituent computing resources. In various embodiments, the method may include retrieving data from the dynamic resource assembly system prior to transmitting the access privilege data, the data comprising a plurality of identifiers associated with the plurality of constituent computing resources of the selected computing resource set. In various embodiments, each of the multiple constituent computing resources is independent.In various embodiments, the method may include receiving an indication of updates associated with one or more of the constituent computing resources, causing a registration interface to be rendered on a device associated with the first account, receiving an updated resource access request associated with the updated selected set of computing resources, and transmitting updated access privilege data to the one or more constituent computing resources. The method may include updating one or more data structures associated with the plurality of computing resource sets in the dynamic resource assembly system in response to the indication of updates. In various embodiments, at least one of the constituent computing resources associated with the updated selected set of computing resources is unchanged compared to the selected set of computing resources. In various embodiments, the method may include, prior to receiving the resource access request, receiving a request for one or more computing resource sets, retrieving a data structure associated with the one or more computing resource sets, and causing rendering of a computing resource set registration interface on the user device, the computing resource set registration interface configured to display a representation of the one or more computing resource sets, and the resource access request being generated in response to a user selection in the computing resource set registration interface. In various embodiments, the representation of the one or more computing resource sets comprises at least one core computing resource and at least one optional computing resource, and the user selection comprises selection of the at least one optional computing resource.In various embodiments, the computing resource set registration interface is further configured to present one or more customization options to the user, and the user's selection comprises attribute assets associated with the one or more customization options. In various embodiments, the one or more computing resource sets comprise a first computing resource set and a second computing resource set. In various embodiments, the first computing resource set and the second computing resource set comprise at least one common constituent computing resource. In various embodiments, the resource access request data structure further comprises channel data. The method may further include receiving an indication of updates associated with one or more of the constituent computing resources, generating a new computing resource set, and continuing to support the selected computing resource set independently of the new computing resource set. In various embodiments, each of the plurality of constituent computing resources is associated with a token data structure, and a total token value for the selected computing resource set comprises a combination of the respective token data structures of the plurality of constituent computing resources. In various embodiments, the method can include configuring an application programming interface (API) configured to receive a plurality of resource access requests associated with a plurality of channels and a plurality of accounts. In various embodiments, the API is the only gateway to the system for receiving the resource access requests.

[0008] In various embodiments, a computer program product for automated resource access management associated with a selected set of computing resources of a plurality of computing resource sets may be provided. The computer program product may include a non-transitory computer-readable storage medium having computer program code stored thereon that, when executed by at least one device, causes the device to: receive a resource access request associated with the selected computing resource set, the resource access request comprising a resource access request data structure comprising an indication of the selected computing resource set and first account data associated with a first account, the selected computing resource set comprising a plurality of constituent computing resources; store access privilege data associated with the plurality of constituent computing resources of the selected resource set and the first account in a database associated with a dynamic resource assembly system; and transmit the access privilege data to one or more of the plurality of constituent computing resources of the selected resource set, the access privilege data configured to cause association of the first account with one or more of the plurality of constituent computing resources. In various embodiments, the computer program code, when executed by the device, further causes the device to perform, prior to transmitting the access privilege data, retrieving from the dynamic resource assembly system data comprising a plurality of identifiers associated with a plurality of constituent computing resources of the selected computing resource set. In various embodiments, each of the plurality of constituent computing resources is independent.In various embodiments, the computer program code, when executed by the device, further causes the device to receive an indication of updates associated with one or more of the constituent computing resources, cause a registration interface to be rendered on a device associated with the first account, receive an updated resource access request associated with the updated selected computing resource set, and send updated access privilege data to the one or more constituent computing resources. In various embodiments, the computer program code, when executed by the device, further causes the device to update one or more data structures associated with the plurality of computing resource sets in the dynamic resource assembly system in response to the indication of updates. In various embodiments, at least one of the constituent computing resources associated with the updated selected computing resource set is unchanged compared to the selected computing resource set. In various embodiments, the computer program product may be configured to cause the apparatus to, prior to receiving the resource access request, receive a request for one or more computing resource sets; retrieve a data structure associated with the one or more computing resource sets; and cause rendering on the user device of a computing resource set registration interface, the computing resource set registration interface configured to display a representation of the one or more computing resource sets, and the resource access request being generated in response to a user selection in the computing resource set registration interface.In various embodiments, the representation of the one or more computing resource sets comprises at least one core computing resource and at least one optional computing resource, and the user selection comprises a selection of the at least one optional computing resource. In various embodiments, the computing resource set registration interface is further configured to present one or more customization options to the user, and the user selection comprises attribute assets associated with the one or more customization options. In various embodiments, the one or more computing resource sets comprise a first computing resource set and a second computing resource set. In various embodiments, the first computing resource set and the second computing resource set comprise at least one common configuration computing resource. In various embodiments, the resource access request data structure further comprises channel data. In various embodiments, the computer program code, when executed by the device, further causes the device to receive an indication of updates associated with one or more of the constituent computing resources, generate a new set of computing resources, and continue to support the selected set of computing resources independent of the new set of computing resources. In various embodiments, each of the plurality of constituent computing resources is associated with a token data structure, and a total token value for the selected set of computing resources comprises a combination of the token data structures for each of the plurality of constituent computing resources.In various embodiments, the computer program code further causes the device to define an application programming interface (API) that, when executed by the device, is configured to receive a plurality of resource access requests associated with a plurality of channels and a plurality of accounts. In various embodiments, the API is the only gateway to the system for receiving the resource access requests.

[0009] Various embodiments may include a dynamic resource assembly system that may include at least one processor and at least one memory associated with the at least one processor having computer-coded instructions therein that, when executed by the at least one processor, are configured to cause the system to: receive a plurality of computing resource data sets associated with a plurality of computing resources, the plurality of computing resources being independent; generate renderable assets associated with two or more of the plurality of computing resources configured to be presented via a graphical user interface on a display; receive a representation of the computing resource set associated with two or more of the plurality of computing resources; generate a computing resource set by assembling a computing resource set data structure comprising two or more of the plurality of computing resource data sets associated with two or more corresponding computing resources, whereby each of the two or more corresponding computing resources defines a constituent computing resource associated with the computing resource set; and generate renderable assets associated with the computing resource set configured to be presented via a graphical user interface on a display. In various embodiments, each of two or more of the plurality of computing resource data sets is associated with a constituent token data structure, and the computing resource set is associated with a total token value comprising a combination of the constituent token data structures.In various embodiments, the system can be configured to receive channel data, where two or more of the plurality of computing resources comprise a subset of the plurality of computing resources corresponding to the channel. In various embodiments, the system can include an operator terminal having a display configured to display a graphical user interface. In various embodiments, the display of the set of computing resources comprises a first display of core computing resources of the two or more corresponding computing resources. In various embodiments, the display of the set of computing resources comprises a second display of optional computing resources of the two or more corresponding computing resources, the optional computing resources being configured to be user-selectable options for the set of computing resources. In various embodiments, the display of the set of computing resources further comprises one or more customization options associated with at least one of the two or more corresponding computing resources. In various embodiments, the system can be configured to receive an indication of updates associated with one or more of the constituent computing resources and update the set of computing resources to include the updates associated with one or more of the constituent computing resources and not modify the remaining set of constituent computing resources. In various embodiments, the system may be configured to receive an indication of an update associated with one or more of the configured computing resources and discontinue proposing the computing resource set.In various embodiments, the system can be configured to generate a new computing resource set comprising updates associated with one or more of the constituent computing resources. The system can be configured to receive a new computing resource data set associated with the new computing resource and append the new computing resource data set to the plurality of computing resource data sets. In various embodiments, the system can receive an indication of a second computing resource set associated with two or more second sets of the plurality of computing resources, and generate the second computing resource set by assembling a second computing resource set data structure comprising two or more of the plurality of computing resource data sets associated with two or more corresponding second sets of computing resources, whereby each of the two or more corresponding second sets of computing resources defines a constituent computing resource associated with the second computing resource set. In various embodiments, the computing resource set and the second computing resource set have at least one constituent computing resource in common. In various embodiments, the representation of the computing resource set, or a portion thereof, is generated using a trained machine learning model. In various embodiments, the trained machine learning model is trained using a previously generated computing resource set. In various embodiments, the computing resource set is configurable by an end user, and the computing resource set comprises two or more of a plurality of computing resources and one or more customizations.In various embodiments, the one or more customizations comprise customizations associated with individual computing resources of two or more of the plurality of computing resources, or customizations associated with the set of computing resources as a whole.

[0010] In various embodiments, a method for dynamic resource assembly may be provided. The method may include receiving a plurality of computing resource data sets associated with a plurality of computing resources, the plurality of computing resources being independent; generating renderable assets associated with two or more of the plurality of computing resources configured to be presented via a graphical user interface on a display; receiving a representation of a computing resource set associated with two or more of the plurality of computing resources; generating a computing resource set by assembling a computing resource set data structure comprising two or more of the plurality of computing resource data sets associated with two or more corresponding computing resources, whereby each of the two or more corresponding computing resources defines a constituent computing resource associated with the computing resource set; and generating renderable assets associated with the computing resource set configured to be presented via a graphical user interface on a display. In various embodiments, each of two or more of the plurality of computing resource data sets is associated with a constituent token data structure, and the computing resource set is associated with a total token value comprising a combination of the constituent token data structures. In various embodiments, the method can include receiving channel data, where two or more of the plurality of computing resources comprise a subset of the plurality of computing resources corresponding to the channel. In various embodiments, the method can include providing an operator terminal including a display configured to display a graphical user interface.In various embodiments, the display of the computing resource set comprises a first display of a core computing resource of the two or more corresponding computing resources. In various embodiments, the display of the computing resource set comprises a second display of optional computing resources of the two or more corresponding computing resources, the optional computing resources being configured to be user-selectable options for the computing resource set. In various embodiments, the display of the computing resource set further comprises one or more customization options associated with at least one of the two or more corresponding computing resources. In various embodiments, the method may include receiving an indication of updates associated with one or more of the constituent computing resources and updating the computing resource set to include the updates associated with one or more of the constituent computing resources and not modifying the remaining set of constituent computing resources. In various embodiments, the method may include receiving an indication of updates associated with one or more of the constituent computing resources and discontinuing proposing the computing resource set. In various embodiments, the method may include generating a new computing resource set comprising the updates associated with one or more of the constituent computing resources. The method can include receiving a new computing resource data set associated with the new computing resource and adding the new computing resource data set to the plurality of computing resource data sets.In various embodiments, the method may include receiving an indication of a second computing resource set associated with two or more second sets of the plurality of computing resources; and generating the second computing resource set by assembling a second computing resource set data structure comprising two or more of the plurality of computing resource data sets associated with the two or more corresponding second sets of computing resources, whereby each of the two or more corresponding second sets of computing resources defines a constituent computing resource associated with the second computing resource set. In various embodiments, the computing resource set and the second computing resource set have at least one constituent computing resource in common. In various embodiments, the indication of the computing resource set, or a portion thereof, is generated using a trained machine learning model. In various embodiments, the trained machine learning model is trained using a previously generated computing resource set. In various embodiments, the computing resource set is configurable by an end user, the computing resource set comprising two or more of the plurality of computing resources and one or more customizations. In various embodiments, the one or more customizations comprise customizations associated with individual computing resources of two or more of the plurality of computing resources, or customizations associated with the set of computing resources as a whole.

[0011] In various embodiments, a computer program product for dynamic resource assembly may be provided. The computer program product may include a non-transitory computer-readable storage medium having computer program code stored thereon that, when executed by at least one device, causes the device to: receive a plurality of computing resource data sets associated with a plurality of computing resources, the plurality of computing resources being independent; generate renderable assets associated with two or more of the plurality of computing resources configured to be presented via a graphical user interface on a display; receive a representation of the computing resource set associated with two or more of the plurality of computing resources; generate a computing resource set by assembling a computing resource set data structure comprising two or more of the plurality of computing resource data sets associated with two or more corresponding computing resources, whereby each of the two or more corresponding computing resources defines a constituent computing resource associated with the computing resource set; and generate renderable assets associated with the computing resource set configured to be presented via a graphical user interface on a display. In various embodiments, each of two or more of the plurality of computing resource data sets is associated with a constituent token data structure, and the computing resource set is associated with a total token value comprising a combination of the constituent token data structures.In various embodiments, the computer program product can be configured to receive channel data, where two or more of the plurality of computing resources comprise a subset of the plurality of computing resources corresponding to the channel. In various embodiments, the computer program code, when executed by at least one device, causes the device to interact with an operator terminal having a display configured to display a graphical user interface. In various embodiments, the display of the set of computing resources comprises a first display of core computing resources of the two or more corresponding computing resources. In various embodiments, the display of the set of computing resources comprises a second display of optional computing resources of the two or more corresponding computing resources, the optional computing resources being configured to be user-selectable options of the set of computing resources. In various embodiments, the display of the set of computing resources further comprises one or more customization options associated with at least one of the two or more corresponding computing resources. In various embodiments, the computer program code, when executed by the device, further causes the device to receive an indication of updates associated with one or more of the constituent computing resources, and update the computing resource set to include the updates associated with one or more of the constituent computing resources and not modify the remaining set of constituent computing resources. In various embodiments, the computer program code, when executed by the device, further causes the device to receive an indication of updates associated with one or more of the constituent computing resources, and discontinue suggesting the computing resource set.In various embodiments, the computer program code, when executed by the device, further causes the device to generate a new computing resource set comprising updates associated with one or more of the constituent computing resources. In various embodiments, the computer program code, when executed by the device, further causes the device to receive a new computing resource data set associated with the new computing resource and append the new computing resource data set to the plurality of computing resource data sets. In various embodiments, the computer program code, when executed by the device, further causes the device to receive an indication of a second computing resource set associated with two or more second sets of the plurality of computing resources and generate the second computing resource set by assembling a second computing resource set data structure comprising two or more of the plurality of computing resource data sets associated with the two or more corresponding second sets of computing resources, whereby each of the two or more corresponding second sets of computing resources defines a constituent computing resource associated with the second computing resource set. In various embodiments, the computing resource set and the second computing resource set have at least one constituent computing resource in common. In various embodiments, the representation of the computing resource set, or a portion thereof, is generated using a trained machine learning model. In various embodiments, the trained machine learning model was trained using a previously generated computing resource set.In various embodiments, the computing resource set is configurable by an end user, and the computing resource set comprises two or more of the plurality of computing resources and one or more customizations, in various embodiments, the one or more customizations comprise customizations associated with individual computing resources of the two or more of the plurality of computing resources or customizations associated with the computing resource set as a whole.

[0012] Various embodiments may include at least one non-transitory computer-readable medium having computer-coded instructions, which when executed by at least one processor, are configured to define at least one application programming interface (API). The at least one API may define a gateway configured to connect a plurality of devices to a plurality of computing resources. In various embodiments, the at least one API comprises an experience layer and a system layer, the experience layer configured to receive one or more external API calls and translate the one or more external API calls into one or more direct or indirect internal API calls to the system layer, the system layer configured to receive the one or more internal API calls and send computer-executable instructions to perform one or more functions on the plurality of computing resources, and the at least one API further configured to interface each of the plurality of computing resources with a dynamic resource assembly system configured to assemble functionality associated with the computing resources into at least one computing resource set. In various embodiments, the API is configured to receive a resource access request associated with a selected one of the at least one computing resource set, the API being configured to direct the resource access request to a dynamic resource assembly system. In various embodiments, the API is configured to receive an indication of an update from one of the plurality of computing resources and transmit the indication of the update to the dynamic resource assembly system.In various embodiments, the API is configured to receive access privilege data associated with a selected set of computing resources from the at least one set of computing resources, identify a plurality of constituent computing resources associated with the access privilege data, divide the access privilege data into a plurality of portions of access privilege data associated with each constituent computing resource from the plurality of constituent computing resources, and transmit the plurality of portions of access privilege data to each constituent computing resource from the plurality of constituent computing resources. In various embodiments, the API is further configured to receive an indication of a new computing resource and transmit an onboarding data structure to a dynamic resource assembly system. In various embodiments, the API is further configured to interface each of the plurality of computing resources and the dynamic resource assembly system with an operator terminal configured to modify one or more databases associated with one or more of the plurality of computing resources or the dynamic resource assembly system. In various embodiments, the computer code instructions, when executed by the at least one processor, are further configured to update the API. In various embodiments, updating the API comprises adding one or more external API calls. In various embodiments, updating the API comprises modifying one or more external API calls. In various embodiments, the API is further configured to receive messages intended for a plurality of user devices and transmit the messages to each of the plurality of user devices. In various embodiments, the API is the only gateway for the system to receive resource access requests associated with at least one set of computing resources.

[0013] Various embodiments may include an apparatus comprising one or more processors and at least one non-transitory memory comprising instructions that, in conjunction with the at least one processor, cause the apparatus to define at least one application programming interface (API). In various embodiments, the at least one API defines a gateway configured to connect a plurality of devices to a plurality of computing resources. The at least one API may include an experience layer and a system layer, where the experience layer is configured to receive one or more external API calls and translate the one or more external API calls into one or more internal API calls, either directly or indirectly, to the system layer, and the system layer is configured to receive the one or more internal API calls and send computer-executable instructions to perform one or more functions on the plurality of computing resources, and the at least one API is further configured to interface each of the plurality of computing resources with a dynamic resource assembly system configured to assemble functionality associated with the computing resources into at least one computing resource set. In various embodiments, the API is configured to receive a resource access request associated with a selected one of the at least one computing resource set, the API being configured to direct the resource access request to a dynamic resource assembly system. In various embodiments, the API is configured to receive an indication of an update from one of the plurality of computing resources and transmit the indication of the update to the dynamic resource assembly system.In various embodiments, the API is configured to receive access privilege data associated with a selected set of computing resources from the at least one set of computing resources, identify a plurality of constituent computing resources associated with the access privilege data, divide the access privilege data into a plurality of portions of access privilege data associated with each constituent computing resource from the plurality of constituent computing resources, and transmit the plurality of portions of access privilege data to each constituent computing resource from the plurality of constituent computing resources. In various embodiments, the API is further configured to receive an indication of a new computing resource and transmit an onboarding data structure to a dynamic resource assembly system. In various embodiments, the API is further configured to interface each of the plurality of computing resources and the dynamic resource assembly system with an operator terminal configured to modify one or more databases associated with one or more of the plurality of computing resources or the dynamic resource assembly system. In various embodiments, the computer code instructions, when executed by the at least one processor, are further configured to update the API. In various embodiments, updating the API comprises adding one or more external API calls. In various embodiments, updating the API comprises modifying one or more external API calls. In various embodiments, the API is further configured to receive messages intended for a plurality of user devices and transmit the messages to each of the plurality of user devices. In various embodiments, the API is the only gateway for the system to receive resource access requests associated with at least one set of computing resources.

[0014] In various embodiments, a method for generating at least one application programming interface (API) may be provided. The at least one API may define a gateway configured to connect a plurality of devices to a plurality of computing resources. The at least one API may include an experience layer and a system layer, where the experience layer is configured to receive one or more external API calls and translate the one or more external API calls into one or more direct or indirect internal API calls to the system layer. The system layer is configured to receive the one or more internal API calls and transmit computer-executable instructions for performing one or more functions on the plurality of computing resources. The at least one API is further configured to interface each of the plurality of computing resources with a dynamic resource assembly system configured to assemble functionality associated with the computing resources into at least one computing resource set. In various embodiments, the API is configured to receive a resource access request associated with a selected one of the at least one computing resource set, and the API is configured to direct the resource access request to the dynamic resource assembly system. In various embodiments, the API is configured to receive an indication of an update from one of the plurality of computing resources and transmit the indication of the update to a dynamic resource assembly system.In various embodiments, the API is configured to receive access privilege data associated with a selected set of computing resources from the at least one set of computing resources, identify a plurality of constituent computing resources associated with the access privilege data, divide the access privilege data into a plurality of portions of access privilege data associated with each constituent computing resource from the plurality of constituent computing resources, and transmit the plurality of portions of access privilege data to each constituent computing resource from the plurality of constituent computing resources. In various embodiments, the API is further configured to receive an indication of a new computing resource and transmit an onboarding data structure to a dynamic resource assembly system. In various embodiments, the API is further configured to interface each of the plurality of computing resources and the dynamic resource assembly system with an operator terminal configured to modify one or more databases associated with one or more of the plurality of computing resources or the dynamic resource assembly system. In various embodiments, the method can include updating the API. In various embodiments, updating the API comprises adding one or more external API calls. In various embodiments, updating the API comprises modifying the one or more external API calls. In various embodiments, the API is further configured to receive a message intended for a plurality of user devices and transmit the message to each of the plurality of user devices. In various embodiments, the API is the only gateway for the system to receive a resource access request associated with at least one set of computing resources.

[0015] Various embodiments may include a system comprising at least one processor and at least one memory associated with the processor having computer-coded instructions that, when executed by the at least one processor, include retrieving a plurality of computing resource set data structures associated with a plurality of computing resource sets associated with a dynamic resource assembly system, the plurality of computing resource set data structures comprising a plurality of identifiers associated with a respective plurality of constituent computing resources of the plurality of computing resource sets; and causing rendering of a computing resource set registration interface, the computing resource set registration interface including a selected computing resource set of the plurality of computing resource sets and / or a configuration for defining the selected computing resource set. receiving input selecting a selected plurality of constituent computing resources of the selected computing resource set; generating a resource access request based on the input received via the computing resource set registration interface, the resource access request comprising a resource access request data structure comprising an indication of the selected computing resource set and first account data associated with the first account; transmitting the resource access request to an application programming interface (API) to cause association of the first account with the selected computing resource set, the API generating access privilege data associated with each of the selected plurality of constituent computing resources of the selected computing resource set for the first account; and causing rendering of a renderable confirmation asset on the computing resource set registration interface,The renderable confirmation asset is configured to cause the system to perform the steps of: indicating generation of access privilege data; and, in various embodiments, the computing resource set registration interface is rendered according to the channel instruction set to visually represent the computing resource set registration interface as being associated with a particular channel. In various embodiments, the computing resource set registration interface is configured to present multiple computing resource sets and / or multiple subsets of the constituent computing resources to a user based on the channel.

[0016] Various embodiments include retrieving a plurality of computing resource set data structures associated with a plurality of computing resource sets associated with a dynamic resource assembly system, the plurality of computing resource set data structures comprising a plurality of identifiers associated with a respective plurality of constituent computing resources of the plurality of computing resource sets; causing rendering of a computing resource set registration interface, the computing resource set registration interface configured to receive input selecting a selected computing resource set of the plurality of computing resource sets and / or a selected plurality of constituent computing resources for defining the selected computing resource set; and triggering rendering of a computing resource set registration interface, the computing resource set registration interface configured to receive input selecting a selected computing resource set of the plurality of computing resource sets and / or a selected plurality of constituent computing resources for defining the selected computing resource set. generating a resource access request based on the provided input, the resource access request comprising a resource access request data structure comprising an indication of a selected computing resource set and first account data associated with the first account; sending the resource access request to an application programming interface (API) to cause association of the first account with the selected computing resource set, including generating access privilege data associated with each of a selected plurality of constituent computing resources of the selected computing resource set for the first account; and causing rendering of a renderable confirmation asset on the computing resource set registration interface, the renderable confirmation asset configured to perform the step of indicating generation of the access privilege data.In various embodiments, the computing resource set registration interface is rendered according to the channel instruction set to visually represent the computing resource set registration interface as being associated with a particular channel. In various embodiments, the computing resource set registration interface is configured to present multiple computing resource sets and / or multiple subsets of the constituent computing resources to a user based on the channel.

[0017] Various embodiments may include a computer program product comprising a non-transitory computer-readable storage medium having computer program code stored thereon, the computer program code, when executed by at least one device, comprising: retrieving a plurality of computing resource set data structures associated with a plurality of computing resource sets associated with a dynamic resource assembly system, the plurality of computing resource set data structures comprising a plurality of identifiers associated with a respective plurality of constituent computing resources of the plurality of computing resource sets; and causing rendering of a computing resource set registration interface, the computing resource set registration interface registering a selected computing resource set of the plurality of computing resource sets and / or the constituent computing resources for defining the selected computing resource set. receiving input selecting a selected plurality of constituent computing resources of the selected computing resource set; generating a resource access request based on the input received via the computing resource set registration interface, the resource access request comprising a resource access request data structure comprising an indication of the selected computing resource set and first account data associated with the first account; transmitting the resource access request to an application programming interface (API) to cause association of the first account with the selected computing resource set, the API generating access privilege data associated with each of the selected plurality of constituent computing resources of the selected computing resource set for the first account; and causing rendering of a renderable confirmation asset on the computing resource set registration interface, the renderable confirmation asset comprising:and causing the device to perform the steps of: indicating generation of access privilege data. In various embodiments, the computing resource set registration interface is rendered according to the channel instruction set to visually represent the computing resource set registration interface as being associated with a particular channel. In various embodiments, the computing resource set registration interface is configured to present multiple computing resource sets and / or multiple subsets of the constituent computing resources to a user based on the channel.

[0018] Various embodiments may include a coordinated electronic messaging system that may include at least one processor and at least one memory associated with the processor having computer-coded instructions that, when executed by the at least one processor, cause the system to: search access privilege data associated with a plurality of user accounts and a plurality of independent computing resources for at least one common attribute asset; identify a first group of user accounts among the plurality of user accounts that share the at least one common attribute asset; identify at least one communication mode associated with each user account in the first group of user accounts, where the first group of user accounts is associated with a plurality of devices; generate at least one electronic message to each user account based on the at least one common attribute asset; and send the at least one electronic message to each user account in the first group of user accounts via the at least one communication mode, whereby the plurality of electronic messages are sent to the first group of user accounts via the plurality of communication modes, where the plurality of communication modes comprises a plurality of devices. In various embodiments, the at least one common attribute asset comprises a common independent computing resource. In various embodiments, the at least one electronic message comprises an indication of an update to at least one of the plurality of independent computing resources sharing the at least one common attribute asset. In various embodiments, the system can be configured to receive updated resource access requests from at least a portion of a first group of user accounts, the updated resource access requests being associated with at least one of the plurality of independent computing resources.In various embodiments, the at least one electronic message comprises an indication of at least one of the plurality of independent computing resources sharing at least one common attribute asset. In various embodiments, the at least one common attribute asset comprises a common channel. In various embodiments, the first group of user accounts spans the plurality of channels. In various embodiments, the at least one electronic message comprises a credit indication identifying a token data structure allocated to each user account. In various embodiments, the at least one common attribute asset comprises a computing resource set comprising at least a portion of the plurality of independent computing resources. In various embodiments, each of the first group of user accounts is registered with at least one computing resource set comprising at least a portion of the plurality of independent computing resources. In various embodiments, at least two of the first group of user accounts are not registered with the same computing resource set. In various embodiments, at least two of the first group of user accounts share a common independent computing resource. In various embodiments, the plurality of devices comprises at least one of a mobile phone, a terminal, a personal computer, and a merchant device.

[0019] Various embodiments may include a method for a coordinated electronic messaging system. The method may include searching access privilege data associated with a plurality of user accounts and a plurality of independent computing resources for at least one common attribute asset; identifying a first group of user accounts among the plurality of user accounts that share the at least one common attribute asset; identifying at least one communication mode associated with each user account in the first group of user accounts, where the first group of user accounts is associated with a plurality of devices; generating at least one electronic message to each user account based on the at least one common attribute asset; and sending the at least one electronic message to each user account in the first group of user accounts via the at least one communication mode, whereby the plurality of electronic messages are sent to the first group of user accounts via the plurality of communication modes, where the plurality of communication modes comprises a plurality of devices. In various embodiments, the at least one common attribute asset comprises a common independent computing resource. In various embodiments, the at least one electronic message comprises an indication of an update to at least one of the plurality of independent computing resources that share the at least one common attribute asset. In various embodiments, the method may include receiving an updated resource access request from at least a portion of a first group of user accounts, the updated resource access request being associated with at least one of the plurality of independent computing resources. In various embodiments, the at least one electronic message comprises an indication of discontinuance of at least one of the plurality of independent computing resources that share at least one common attribute asset. In various embodiments, the at least one common attribute asset comprises a common channel.In various embodiments, the first group of user accounts spans multiple channels. In various embodiments, the at least one electronic message comprises a credit indication identifying a token data structure allocated to each user account. In various embodiments, the at least one common attribute asset comprises a computing resource set comprising at least a portion of a plurality of independent computing resources. In various embodiments, each of the first group of user accounts is registered with at least one computing resource set comprising at least a portion of a plurality of independent computing resources. In various embodiments, at least two of the first group of user accounts are not registered with the same computing resource set. In various embodiments, at least two of the first group of user accounts share a common independent computing resource. In various embodiments, the plurality of devices comprises at least one of a mobile phone, a terminal, a personal computer, and a merchant device.

[0020] Various embodiments may include a computer program product for a coordinated electronic messaging system. In various embodiments, the computer program product may include a non-transitory computer-readable storage medium having computer program code stored thereon that, when executed by at least one device, causes the device to: retrieve access privilege data associated with a plurality of user accounts and a plurality of independent computing resources for at least one common attribute asset; identify a first group of user accounts among the plurality of user accounts that share the at least one common attribute asset; identify at least one communication mode associated with each user account in the first group of user accounts, where the first group of user accounts is associated with a plurality of devices; generate at least one electronic message to each user account based on the at least one common attribute asset; and send the at least one electronic message to each user account in the first group of user accounts via the at least one communication mode, whereby the plurality of electronic messages are sent to the first group of user accounts via the plurality of communication modes, where the plurality of communication modes comprises a plurality of devices. In various embodiments, the at least one common attribute asset comprises a common independent computing resource. In various embodiments, the at least one electronic message comprises an indication of an update to at least one of the plurality of independent computing resources that share the at least one common attribute asset.In various embodiments, the computer program code, when executed by the device, further causes the device to perform the steps of receiving updated resource access requests from at least a portion of a first group of user accounts, the updated resource access requests being associated with at least one of the plurality of independent computing resources. In various embodiments, the at least one electronic message comprises an indication of at least one of the plurality of independent computing resources sharing at least one common attribute asset. In various embodiments, the at least one common attribute asset comprises a common channel. In various embodiments, the first group of user accounts spans multiple channels. In various embodiments, the at least one electronic message comprises a credit indication identifying a token data structure allocated to each user account. In various embodiments, the at least one common attribute asset comprises a computing resource set comprising at least a portion of the plurality of independent computing resources. In various embodiments, each of the first group of user accounts is registered with at least one computing resource set comprising at least a portion of the plurality of independent computing resources. In various embodiments, at least two of the first group of user accounts are not registered with the same set of computing resources. In various embodiments, at least two of the first group of user accounts share a common independent computing resource. In various embodiments, the plurality of devices comprises at least one of a mobile phone, a terminal, a personal computer, and a merchant device.

[0021] Having thus described in general terms certain embodiments of the present disclosure, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale. [Brief explanation of the drawings]

[0022] [Figure 1] 1 is a block diagram of a provider system, computing resources, and various devices that may be specifically configured in accordance with various embodiments of the present disclosure. [Figure 2] FIG. 1 is a block diagram of a computing device that may be particularly configured in accordance with various embodiments of the present disclosure. [Figure 3] FIG. 1 illustrates an example data flow of an API according to various embodiments of the present disclosure. [Figure 4] 1 illustrates an example data structure of an API according to various embodiments of the present disclosure. [Figure 5] FIG. 1 is a lane diagram illustrating the functionality of various components according to various embodiments of the present disclosure. [Figure 6A] 10A-10C illustrate exemplary devices and graphical user interfaces associated with generating a set of computing resources, according to various embodiments of the present disclosure. [Figure 6B] 10A-10C illustrate exemplary devices and graphical user interfaces associated with generating a set of computing resources, according to various embodiments of the present disclosure. [Figure 6C] 10A-10C illustrate exemplary devices and graphical user interfaces associated with generating a set of computing resources, according to various embodiments of the present disclosure. [Figure 7] FIG. 1 is a lane diagram illustrating the functionality of various components according to various embodiments of the present disclosure. [Figure 8A] 1A-1C illustrate exemplary devices and graphical user interfaces associated with resource access management, in accordance with various embodiments of the present disclosure. [Figure 8B]1A-1C illustrate exemplary devices and graphical user interfaces associated with resource access management, in accordance with various embodiments of the present disclosure. [Figure 8C] 1A-1C illustrate exemplary devices and graphical user interfaces associated with resource access management, in accordance with various embodiments of the present disclosure. [Figure 9] 4 is a flowchart illustrating operations performed in accordance with various embodiments of the present disclosure. [Figure 10A] 10A-10C illustrate graphical user interfaces according to various embodiments of the present disclosure. [Figure 10B] 10A-10C illustrate graphical user interfaces according to various embodiments of the present disclosure. [Figure 10C] 10A-10C illustrate graphical user interfaces according to various embodiments of the present disclosure. [Figure 10D] 10A-10C illustrate graphical user interfaces according to various embodiments of the present disclosure. [Figure 10E] 10A-10C illustrate graphical user interfaces according to various embodiments of the present disclosure. [Figure 10F] 10A-10C illustrate graphical user interfaces according to various embodiments of the present disclosure. [Figure 10G] 10A-10C illustrate graphical user interfaces according to various embodiments of the present disclosure. [Figure 10H] 10A-10C illustrate graphical user interfaces according to various embodiments of the present disclosure. [Figure 11] 4 is a flowchart illustrating operations performed in accordance with various embodiments of the present disclosure. [Figure 12] 4 is a flowchart illustrating operations performed in accordance with various embodiments of the present disclosure. [Figure 13] 4 is a flowchart illustrating operations performed in accordance with various embodiments of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0023] Certain embodiments of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments of the present disclosure are shown. Indeed, various embodiments of the present disclosure may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout.

[0024] While exemplary embodiments of one or more aspects are set forth below, it should be understood at the outset that the disclosed structures, systems, and methods can be implemented using any number of technologies, whether currently known or yet to exist. The present disclosure should not be limited in any way to the exemplary embodiments, drawings, and technologies set forth below, but can be modified within the scope of the appended claims and their full range of equivalents. While dimensional values ​​for various elements are disclosed, the drawings may not be drawn to scale.

[0025] The words "example" or "exemplary," as used herein, are intended to mean "serving as an example, instance, or illustration." Any implementation described herein as an "example" or "exemplary embodiment" is not necessarily to be construed as preferred or advantageous over other implementations.

[0026] Embodiments of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments of the present disclosure are shown. Indeed, embodiments of the present disclosure may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to like elements throughout.

[0027] overview Various products and services facilitated by hardware and / or software systems may require different back-end and front-end infrastructures to maintain and support them. Each of these products and services may be independent of and usable separately from one another, and they may require separate access and registration processes, each facilitated by the front-end and back-end systems supporting each product and service. The products and services may also be supported by one or more separate development teams running separate hardware and / or software systems that may not be configured to communicate with one another. Due at least in part to their independence, the development cycles, functionality, value, billing processes, communications infrastructure, and other characteristics of these products and services may also necessarily be separate and may not be comparable or interoperable. Users must thereby register and authenticate separately with each product and service. Product and service combinations, if any, may require manual, custom hard-coding, which may be tedious and time-consuming to create and modify, while also reducing the usefulness of the combination to end users.

[0028] This disclosure generally relates to systems, methods, apparatus, and computer program products for dynamic creation and access management of computing resource sets. Various embodiments described herein include a system and API infrastructure configured to dynamically create computing resource sets, which may include multiple independent computing resources. End users can access, register, and authenticate accounts for computing resource sets via the systems described herein, thereby enabling users to receive access to many individual computing resources corresponding to various products and services through a single, centralized electronic transaction with the systems and APIs described herein.

[0029] These systems can include intuitive graphical user interfaces, databases, and APIs to enable one or more providers of computing resources to create and offer computing resource sets comprising one or more computing resources in a centralized, modular, and intuitive manner. The API platform described herein can act as a single gateway operable for all clients across multiple devices, channels, etc. to facilitate consistency and modularity for the system. The API platform can expose intuitive and logical calls to external devices to streamline interoperability with other devices, while internally facilitating the translation of external calls into API calls to each constituent computing resource.

[0030] Providers can modify, add, remove, and / or replace computing resources from the system and one or more various computing resource sets with little or no impact on other computing resources in the system. Moreover, various embodiments of the present disclosure can facilitate providers centralizing assembly, customization, and access to computing resource sets without affecting the underlying computing resources or requiring modifications by individual development teams responsible for the computing resources. In some cases, individual computing resources can be first modified to include setup and resource access API integration with a centralized system, after which the centralized system can dynamically retrieve information and functionality associated with the individual computing resources. Various computing resources can consistently interact with the centralized system's API platform and system, thereby reducing the front-end development burden on individual computing resources by decoupling set assembly, access management, and related functions from computing resource development and related functions. In some embodiments, a unified set of governance and security standards can be applied across all channels and clients for a more secure, robust, and lean experience. A centralized system can also enable rapid versioning of APIs to iterate more quickly when needed changes are identified and to manage the impact of changes, and also protect clients from breaking their existing integrations.In some embodiments, the change may occur entirely or primarily internally (e.g., substituting one like computing resource for another with little or no impact to end users, or upgrading the servers and computer systems underlying a given computing resource). In various embodiments, data, including customer data, may be protected using typical data privacy and security standards to comply with PII requirements.

[0031] In various embodiments, an end user may engage in a single resource access management process that presents one or more sets or "bundles" of independent constituent computing resources via a graphical user interface, with the user selecting and customizing each of the constituent computing resources through a single process for the entire set. In this manner, functions such as billing, promotions, and messaging may be centralized and do not necessarily require separate functions to be performed on each of the constituent computing resources. The API platform described herein may then facilitate the resource access management process and distribute access privilege data to each back-end computing resource without further input from the user or the back-end computing resource. Following this initial registration, the user and / or the system may dynamically add, remove, or replace at least some individual computing resources without affecting the distribution of or access to the remaining resources in the set. Computing resources with distinct authentication and validation requirements may be integrated with a user account associated with a centralized registration, allowing a user to access each of the constituent computing resources as if they were individually registered with each using credentials assigned to the centralized system, even in situations where one or more of the constituent computing resources are provided by a third party.Similarly, centralized systems and APIs can seamlessly integrate functionality with third parties (for example, pushing notifications to third-party partners, such as third-party installers of Ring doorbells, to which customers can be entitled) in a way that appears seamless and does not require additional burden or touch points for the end user.

[0032] In some embodiments, API endpoint management can be used for each distinct distribution channel (e.g., merchant storefront, provider webpage, third-party branded webpage, mobile app, etc.) to facilitate unique correlation between the distribution channel and the products offered in that channel. The backend system (e.g., computing resources) can have a distinct configuration for each channel, thereby enabling the backend system to easily distinguish between distinct products and the distinct distribution channels for each product. For example, if a particular product or feature is distributed through five different distribution channels, the backend system would have five unique identifiers configured to enable differentiation and some customer experience (CX) and / or functionality-related items that may be specific to one or more distribution channels. For example, distinct renderable data objects and / or distinct configuration computing resources, or subsets or customizations thereof, can be unique to a particular channel or subset of channels and accessed via code associated with the channel.

[0033] In some embodiments, user login credentials may be synchronized across multiple platforms associated with the resource access management system and / or constituent computing resources and any other associated systems, allowing a user to register and establish credentials, for example, via a web page, and be immediately authorized to use the same credentials to sign in to a companion mobile app, or vice versa. User login credentials may be associated with a single user account configured to be used for all resource access management and computing resource-related functions (e.g., billing, adding / removing computing resources). In some embodiments, such as with some third-party constituent computing resources, a user may be prompted to create a new centralized account and / or new credentials in response to initiating a resource access management process with the provider system and / or with one or more individual computing resources, which may be triggered by an example provider system sending a registration request to the third-party constituent computing resources.

[0034] The various embodiments described herein can achieve many improved efficiencies over individual distributed computing resources. Such improvements can include, but are not limited to, reduced processor load and server requirements by centralizing many previously distributed and duplicated functions, centralized messaging services, interchangeable modular computing resources that can be modified, added, or removed with little or no downtime for any other computing resources, an overall development environment that facilitates improved machine learning model training and improved delivery of services to users, reduced transaction times for both providers and end users, rapidly deployable computing resource sets and reduced development time across sets with minimal or no impact on the development cycles of the underlying computing resources, faster computing resource development time using centralized set generation in the primary system, improved customer experience, and higher service performance for users using unique and customizable combinations of individual computing resources. The various embodiments discussed herein may also present a unified and consistent token system for comparing computing resources, which may then be exchanged and coordinated to provide users with the best performance and customization for their particular needs.

[0035] definition As used herein, the terms “data,” “content,” “information,” and similar terms may be used interchangeably to refer to data that may be transmitted, received, and / or stored in accordance with embodiments of the present disclosure. Therefore, the use of any such terms should not be taken to limit the spirit and scope of embodiments of the present disclosure. Furthermore, when a computing device is described herein as receiving data from another computing device, it will be understood that the data may be received directly from the other computing device or indirectly through one or more intermediate computing devices, such as, for example, one or more servers, relays, routers, network access points, base stations, hosts, etc., which may be referred to herein as a “network.” Similarly, when a computing device is described herein as transmitting data to another computing device, it will be understood that the data may be transmitted directly to the other computing device or indirectly through one or more intermediate computing devices, such as, for example, one or more servers, relays, routers, network access points, base stations, hosts, etc.

[0036] As used herein, the term “circuitry” refers to (a) hardware-only circuit implementations (e.g., implementations in analog and / or digital circuitry), (b) a combination of a circuitry and a computer program product comprising software and / or firmware instructions stored on one or more computer-readable memories that cooperate to cause the device to perform one or more functions described herein, and (c) a circuitry such as, for example, a microprocessor or portion of a microprocessor that requires software or firmware for operation, even if the software or firmware is not physically present. In some embodiments, a “circuitry” can include processing circuitry, storage media, network interfaces, input / output devices, etc. As a further example, as used herein, the term “circuitry” also includes implementations that include one or more processors and / or portions thereof and associated software and / or firmware. As another example, as used herein, the term “circuitry” also includes, for example, a baseband integrated circuit or an application processor integrated circuit for a mobile phone, or similar integrated circuits in a server, cellular network device, other network device, and / or other computing device.

[0037] As used herein, "computer-readable storage medium" refers to a physical storage medium (e.g., a volatile or non-volatile memory device).

[0038] As used herein, the term "data structure" or "data set" refers to a collection of data that can be transmitted, received, and / or stored together.

[0039] As used herein, the term "computing resource" refers to one or more software and / or hardware-based programs, applications, products, platforms, or services provided to, made available to, or otherwise usable by a user and / or user computing device. A "computing resource" may be a software and / or hardware-based program, application, product, platform, or service that is separate and independent from one or more other computing resources, and a computing resource may be capable of operating independently and separately from any other computing resources. As non-limiting examples, "computing resources" may include computing device protection services, computing device electronic security services, electronic fraud prevention services, computing device insurance, computing device password protection services, computing device user alias services, computing device fault detection, computing device repair, etc., as described herein. In some embodiments, a computing resource may be associated with an identifier. As used herein, the term "identifier" may refer to a code, key, pointer, memory address, credential, and / or other data that uniquely identifies a particular computing resource. As used herein, "constituent computing resource" may refer to a computing resource that forms part of the set of computing resources described and defined herein.

[0040] As used herein, the term "computing resource set" refers to a collection of one or more constituent computing resources, such as a bundle of constituent computing resources. The term "computing resource set" may further include one or more computing resources and / or data associated with the computing resource set as a whole, including customizations. A "computing resource set" may refer to a collection of constituent computing resources and / or associated data that need not be permanently fixed or finalized, but may be in template form, temporary, incomplete, or available for modification and / or customization. A "computing resource set" may include one or more "core" constituent computing resources that are permanently included in a given computing resource set and / or one or more "optional" constituent computing resources that can be added or removed by a user. In some embodiments, a computing resource set may include "default option" computing resources, which are optional computing resources selected by default, and "non-default option" computing resources, which are optional computing resources not selected by default. In some embodiments, a "computing resource set" can be modified or updated with new customizations and / or configurations of computing resources. In some embodiments, the systems and APIs described herein can create new "computing resource sets" when modifying or updating existing computing resource sets.A "computing resource set" may be created by a provider entity, including a third-party provider, for end-user suggestion, end-user selection, and / or end-user customization, or may be created in response to an indication from an end user. In some embodiments, a "computing resource set" may be stored as a collection of identifiers and data associated with various constituent computing resources. In some embodiments, computing resources may be assigned a "category" or other metadata associated with their general purpose, function, intended beneficiary, and / or any other criteria. In some cases, one or more computing resource sets may include a common category or metadata, allowing users to register across computing resource sets focused on that common category or metadata.

[0041] As used herein, the term "dynamic resource assembly system" refers to one or more computing devices embodied in hardware, software, firmware, and / or combinations thereof that are configured to dynamically assemble one or more sets of computing resources in accordance with various embodiments of the present disclosure.

[0042] As used herein, the term "computing resource set registration interface" refers to an interactive graphical user interface configured for the selective presentation and / or selection of various renderable data objects.

[0043] As used herein, the term "API platform" refers to one or more computing devices embodied with hardware, software, firmware, and / or combinations thereof configured to facilitate the provision of application programming interfaces associated with the various functions and systems described herein. As used herein, the term "API" may refer to an application programming interface, which may correspond to a software interface configured to connect two or more computing devices, systems, subsystems, components, programs, etc.

[0044] As used herein, the term "renderable data object" refers to a set of executable instructions that, when executed by a processor of a computing device, renders an asset for display. In some embodiments, a renderable data object is capable of being rendered on an interface.

[0045] As used herein, the term "subset" can refer to a proper subset. A proper subset of a set is a portion of the set that is not equal to the set. For example, if elements A, B, and C belong to a first set, then a subset that includes elements A and B is a proper subset of the first set. However, a subset that includes elements A, B, and C is not a proper subset of the first set.

[0046] As used herein, the term "access privilege data" refers to data configured to grant, authenticate, verify, or otherwise confirm the ability of a user, user account, or other entity or associated identifier to access one or more computing resources or portions thereof. "Access privilege data" may refer to data associated with the entitlement of a user, user account, or other entity or associated identifier to or with respect to one or more computing resources. Access privilege data may be generated according to an entitlement rule set that defines rules (e.g., points-based, etc.) for enrollment in the constituent computing resources.

[0047] As used herein, the terms "resource access management" and "resource access control" refer to processes associated with the creation, modification, deletion, storage, or otherwise related to the control of access privilege data and associated access that may be granted to one or more users or other entities. In some embodiments, "resource access management" may refer to access privilege data associated with a computing resource or portion thereof. "Resource access management" may refer to the registration of users to one or more computing resources, one or more sets of computing resources, and / or portions of any of the foregoing. As used herein, the term "resource access management system" refers to one or more computing devices embodied with hardware, software, firmware, and / or combinations thereof that are configured to programmatically facilitate resource access management. For example, in some embodiments, "resource access management system" may refer to an Online Clearinghouse (OCH) for managing registration to one or more computing resources and / or sets of computing resources. As used herein, the term "resource access request" refers to a computer-readable request configured to facilitate, for example, registration with one or more sets of computing resources, one or more computing resources, and / or portions thereof. "Resource access request" may also refer to a computer-readable request configured to update, modify, add, or cancel any of the aforementioned registrations.In some embodiments, a "resource access request" may be sent from a user device to the system via the API platform, causing access privilege data to be generated and / or allocated for a particular user account and one or more sets of computing resources, one or more computing resources, and / or portions thereof.

[0048] As used herein, the term "independent" in reference to two or more pieces of hardware, software, firmware, and / or combinations thereof refers to the possibility (but not the requirement) that such hardware, software, firmware, and / or combinations thereof can operate without requiring the operation of the other. The term "independent" encompasses elements that can optionally reference or cooperate with other elements, so long as those elements can be made to operate as standalone hardware, software, firmware, and / or combinations thereof under at least some circumstances without compromising their overall purpose. For example, computing resources can be independent of one another, such that they can be added, removed, and substituted into or from a set of computing resources without depending on the inclusion of other computing resources within the set (e.g., device protection software can be configured so that it does not depend on a password management application to function, and vice versa).

[0049] As used herein, the term "attribute asset" refers to data (including metadata) associated with a larger data or functional structure. For example, an "attribute asset" may refer to data associated with a customer, such as a channel or merchant associated with the customer. As another example, an "attribute asset" may refer to data associated with a computing resource, such as one or more customizations, parameters, data values, etc. associated with the computing resource.

[0050] As used herein, the term "communication mode" may refer to hardware, software, firmware, or a combination thereof that facilitates communication between two entities. For example, a push notification sent to a software application running on a cellular phone may be a "communication mode" by which various systems described herein reach an end user. A "communication mode" may include various contact information, protocols, channels, etc., for sending electronic communications to a recipient entity, such as an end user.

[0051] As used herein, the term "client" refers to computing hardware and / or software configured to communicate with or access one or more portions of the system described herein, such as over a network. In some embodiments, a "client" may refer to software or a combination of hardware and software running on a user device, where the client is configured to communicate with the system of the present disclosure, such as through one or more APIs, portals, etc. In some embodiments, a "client" may refer to any software and / or hardware capable of facilitating communication with the system, including, but not limited to, software temporarily running on a user device, such as a portal or web page rendered over the internet; a client need not be a dedicated application or installed software on a user device.

[0052] As used herein, the term "customization" refers to one or more attribute assets associated with a computing resource or a set of computing resources. Customizations can include one or more user-selectable portions of a computing resource or a set of computing resources. In some embodiments, customizations can include attribute assets associated with a computing resource or a set of computing resources that are incorporated into a system-level association with the computing resource or set of computing resources, separate from the computing resource itself. As a non-limiting example, customizations can include configurable options (including optional computing resources or portions thereof) such as the number of user devices to be protected, the number of aliases granted (e.g., for user identity protection), the number of technical support sessions (e.g., for diagnostic and technical support), and billing modes (e.g., monthly, bimonthly, annually, etc.), discounts, promotions, technical support coverage levels, installation services, deductibles, loyalty / referral credits, etc. In some embodiments, one or more customizations may be automatically triggered or suggested based on the configuration of a set of computing resources. For example, the system may suggest tiered pricing based on the number of computing resources, number of devices, or total token value, discount percentages based on specific combinations or total token values, etc.Customization can have any level of granularity and, in some embodiments, can be predetermined options associated with individual computing resources, computing resource sets, or portions thereof, whether prior to, as part of, or subsequent to the combination of computing resources into a computing resource set. In some embodiments, customization can be associated with a computing resource set (or portions thereof). In some embodiments, a given computing resource set can have the same core constituent computing resources, including required and / or optional computing resources (e.g., antivirus, VPN, newspaper subscriptions), and variability within the computing resources can be available for customization at a more granular level (e.g., the number of active VPN connections within a VPN computing resource). For example, one constituent computing resource can have a cloud backup, which would be a core computing resource, but the user can select memory size customization (e.g., 5, 20, or 50 GB). Some examples of customization across a computing resource set may include deductible amounts and / or billing limits. In some embodiments, customization may affect and / or be limited by the total token value of the computing resource set and / or the individual token data structures of the constituent computing resources.

[0053] As used herein, a "channel" refers to a route, means, or other distinguishing criterion by which a user accesses and associates with a system, an API, and / or one or more computing resources or sets of resources. By way of non-limiting example, a "channel" may include a particular merchant (e.g., cellular carrier, device retailer, cable television provider, etc.) or provider associated with a user or user device, a particular type of user device, a category of user (e.g., customer type), or any other similar association pertaining to a user and a system. In some embodiments, a "channel" may refer to the final front-end system through which an end user accesses the system (e.g., via a direct-to-consumer interface and storefront, via a skinned merchant interface and storefront, etc.). In some embodiments, a set of computing resources may be sent to a user device along with a "channel instruction set" associated with the channel from which the user interacts with the system. The channel instruction set may include computer-executable instructions for skinning or adjusting the interface to match the design language of the channel (e.g., merchant page). In some embodiments, a merchant page or other channel may perform a skinning function, while the API and system provide the computing resource sets and data to be inserted into the channel page. Channels may be used to differentiate between sets of computing resources presented to multiple customers. For example, one merchant (e.g., cellular carrier A) may require its users to receive a minimum level of protection that includes computing resources "X" and "Y," while a second merchant (e.g., cellular carrier B) may require its users to receive a minimum level of protection that includes computing resources "X" and "Z."In such an embodiment, a "channel" may correspond to "cellular carrier A" and "cellular carrier B," and the system may use the channel identity to inform the two respective users of the computing resource sets that will be proposed. For example, a user associated with carrier A may be presented with only a computing resource set that includes X and Y as core computing resources, and a user associated with carrier B may be presented with only a computing resource set that includes X and Z as core computing resources.

[0054] Exemplary System Architecture The methods, apparatus, systems, computer-readable media, and computer program products of the present disclosure may be embodied by any of a variety of devices in a variety of system architectures. For example, the methods, apparatus, systems, computer-readable media, and computer program products of exemplary embodiments may be embodied by one or more computing devices, such as one or more user devices (e.g., mobile phones, personal computers, servers, or other entities) and / or one or more computing resource servers, such as servers or other entities configured to communicate with one or more devices. Exemplary embodiments include one or more servers configured to facilitate an API platform, resource access management, and / or one or more additional functions associated with a set of computing resources. Additionally or alternatively, the methods, apparatus, systems, computer-readable media, and / or computer program products of exemplary embodiments may be embodied by one or more software modules configured to perform some or all of the operations disclosed herein, running on one or more hardware modules or systems, such as one or more servers connected to one or more other devices.

[0055] In this regard, Figure 1 is a schematic block diagram of an example provider system 100, one or more user devices 116, and one or more computing resources 106, 120 according to various embodiments of the present disclosure. As shown, the example provider system 100 may include one or more subsystems, devices, and components, including hardware, software, and / or firmware, for performing various functions according to embodiments of the present disclosure. In some embodiments, one or more of the illustrated subsystems, devices, and components may be individual systems and / or components or may be part of a larger system (e.g., provider system 100) without departing from the present disclosure. In various embodiments, API platform 102 can be configured to communicate with and / or facilitate communication between one or more of dynamic resource assembly system 104, token manager 110, quotation system 112, operator terminal 114, resource access management system 118, one or more databases 122, one or more provider devices 124, one or more computing resources 106, 120, and / or one or more user devices 116. In the illustrated embodiment of FIG. 1 , the provider system includes API platform 102 that can be configured to communicate with and / or facilitate communication between one or more of dynamic resource assembly system 104, token manager 110, quotation system 112, operator terminal 114, resource access management system 118, and one or more databases 122. In some embodiments, at least some computing resources (e.g., computing resource 106) can also be considered to be included in provider system 100.In the illustrated embodiment, computing resources 106 may be embodied in one or more computing devices, servers, systems, or portions thereof, which may, but need not, be separate physical devices. In some embodiments, two or more of the computing resources may be embodied in the same physical device or in one or more cloud-based devices (e.g., remote servers). In some embodiments, provider devices 124 may also be considered to be included in provider system 100 or external to provider system 100 (e.g., a contact center associated with the provider system). In some embodiments, the functionality of one or more of the illustrated systems, devices, subsystems, and components may be performed by a single computing device or by multiple computing devices.

[0056] The various systems, devices, subsystems, and components illustrated in FIG. 1 may be configured to communicate via one or more communication mechanisms, including wired or wireless connections, such as through a network, bus, or similar connection. For example, a network may include any wired or wireless communications network, including a wired or wireless local area network (LAN), personal area network (PAN), metropolitan area network (MAN), wide area network (WAN), etc., as well as any hardware, software, and / or firmware needed to implement the same (e.g., network routers, etc.). For example, a network may include cellular, 802.11, 802.16, 802.20, and / or WiMax networks. Furthermore, a network may include a public network, such as the Internet, a private network, such as an intranet, or a combination thereof, and may utilize various currently available or later-developed networking protocols, including, but not limited to, TCP / IP-based networking protocols. For example, system 100, including API platform 102, can be connected to user devices 116 and / or provider devices 124 via one or more networks. In various embodiments, system 100, including API platform 102, can be connected to at least some of one or more computing resources 106, 120 via one or more networks. In various embodiments, the systems, devices, subsystems, and components shown in FIG. 1 as being included in system 100 are not required to be an integrated system, but can be connected via one or more networks.

[0057] As shown, an API platform 102 may be provided, which may be configured to facilitate communication to, from, and / or between one or more of the other illustrated systems, devices, subsystems, and components. In various embodiments, the API platform 102 may comprise an API configured to serve as a gateway for one or more user devices 116 to the provider system 100 and the computing resources 106, 120 (if separate from the provider system). In some embodiments, the API may be the only gateway for all user-based functionality associated with the provider system 100, and the API may interact with multiple clients on multiple user devices associated with one or more different entities. The API platform 102 may be configured to facilitate operation of the system 100 for assembly, access management, and / or adaptive updating of one or more sets of computing resources, for use of one or more constituent computing resources 106, 120, and / or for any functionality related to any of the foregoing. API platform 102 may comprise one or more servers, server clusters, one or more network nodes, cloud computing infrastructure, one or more desktop computers, one or more laptop computers, one or more mobile computing devices, some combination thereof, etc. API platform 102 may be separate from or integrated into any of the other hardware and / or software of provider system 100.

[0058] The system 100 may include one or more computing resources 106, 120. As described above, each constituent computing resource may refer to one or more software- and / or hardware-based programs, applications, platforms, or services provided to a user and / or user device. For example, a computing resource 106, 120 may be provided to a user device 116, or access to such a resource may be made available to the user device 116. Such a computing resource may be referred to as a constituent computing resource if it forms part of a computing resource set. Some exemplary computing resources 106, 120 may include, but are not limited to, user device protection services, user device electronic security services, electronic fraud protection services, user device fault detection, user device repair, user insurance (e.g., rental insurance, car insurance, home insurance, travel insurance, etc.), eye care protection, automobile protection, or any other software- and / or hardware-based programs, applications, platforms, or services that may be provided to a user and / or user device. In some embodiments, some of the computing resources 106 may be offered, provided, and maintained by the same entity (e.g., provider) that operates API platform 102 or an entity affiliated therewith, while other computing resources 120 may be provided by one or more third-party entities not affiliated with API platform 102. For example, one of the third-party configured computing resources 120 may be anti-virus software provided by a third-party electronic security service.In some embodiments, each of the constituent computing resources 106, 120 can be independent of the other constituent computing resources. Third-party constituent computing resources 120 can be integrated into the system 100 by the API platform 102, such that the set of computing resources can include provider-supported computing resources, third-party computing resources, or both, without changes to the resource access management process for end users.

[0059] The system 100 can be configured to send registration requests (e.g., via allocating access privilege data) to third-party configured computing resources to facilitate access thereto. The third-party configured computing resources can run separate internal resource access management processes configured to facilitate access management for the particular subset of third-party configured computing resources to which the user is entitled. In some embodiments, a separate renderable data object can be sent from the third-party computing resource to the user along with further data and / or requests associated with the third-party computing resource (e.g., a separate registration welcome email, terms, and instructions). Various communications, whether from the provider system 100 or a separate system, can be sent immediately upon selection of the computing resource or portion thereof involved, upon selection and completion of resource access management for the set of computing resources, and / or at some later point following completion of registration.

[0060] In some embodiments, some or all of the token data structures associated with the third-party constituent computing resources may be assigned to the third-party computing resources via electronic transmission. In some embodiments, the total token value may be tracked and / or directed and managed by the provider system 100 and periodically updated, with updates to the associated token data structures being pushed to the constituent computing resource systems. Access privilege data and / or token data structures may be configured to be transmitted from the provider system and the constituent computing resources to coordinate the provisioning and / or termination of the constituent computing resources as needed.

[0061] System 100 may include a dynamic resource assembly system 104, which may comprise one or more computing device embodiments in hardware, software, firmware, and / or combinations thereof configured to dynamically assemble one or more computing resource sets, perform functions, and store data associated therewith. In the illustrated embodiment, dynamic resource assembly system 104 comprises one or more APIs 104A for receiving calls and performing functions associated with the dynamic resource assembly system. The illustrated dynamic resource assembly system 104 further comprises a portal 104B (e.g., a web portal) configured to allow direct access to the dynamic resource assembly system (e.g., by a provider employee using provider device 124 to manage the dynamic resource assembly system and / or one or more services associated with the computing resource sets). Dynamic resource assembly system 104 may further include one or more databases 104C for storing computing resources, data associated with the computing resource sets, any access privilege data associated therewith, and / or any other data related to the dynamic resource assembly system. Each computing resource set may comprise a collection of one or more constituent computing resources that are dynamically created and / or stored by the dynamic resource assembly system 104 .

[0062] In some embodiments, system 100 may further include a quotation system 112 and / or a token manager 110. In some embodiments, quotation system 112 may comprise hardware, software, and / or firmware configured to provide quotation information for each of one or more sets of computing resources. In some embodiments, quotation system 112 may be configured to generate and / or apply one or more customizations associated with a set of computing resources to dynamically determine pricing for the set of computing resources. In some embodiments, token manager 110 may comprise hardware, software, and / or firmware configured to provide token allocation and management for one or more sets of computing resources. As used herein, a “token” may comprise any data structure configured to weight and compare one or more of the constituent computing resources, or any subset or combination thereof, against one another. Tokens may share a common unit and may be directly comparable between computing resources, even when the computing resources are independent. A token may comprise an allocated value related to one or more of the constituent computing resources, or any subset or combination thereof. For example, a token may be defined by a currency or a proxy therefor.

[0063] In some embodiments, the system may include a resource access management system 118 comprising hardware, software, and / or firmware configured to manage resource access management requests associated with one or more sets of computing resources. For example, the resource access management system 118 may define an online clearinghouse (OCH) configured to interface between one or more systems or components of the provider system 100 and one or more external systems (e.g., user devices 116) via the API platform 102. For example, in some embodiments, the OCH may serve as a mapping layer between one or more clients and one or more backend internal / third-party systems (e.g., various computing resources). For example, the OCH portion of the resource access management system 118 may facilitate custom experience API calls for individual clients, which are then mapped to calls accepted by the backend system, thereby allowing custom APIs to be created and implemented for individual clients without modifying the API platform 102 as a whole.

[0064] As described above, the various components and systems illustrated in FIG. 1 can be configured to provide various functions, including assembling, managing access to, and / or adaptively updating one or more computing resource sets comprising one or more constituent computing resources. In some embodiments, one or more computing resource sets comprising one or more constituent computing resources can be associated with one or more accounts and / or one or more user devices 116. While one or more user devices 116 are shown in FIG. 1 as being separate from system 100, it will be understood in light of this disclosure that in some embodiments, at least some of one or more user devices 116 can be components of system 100 and can be integral to or separate from the system. For example, in some embodiments, user device 116A and user device 116B can be components of system 100, while user device 116C is a separate component (e.g., a customer user device) from system 100. Additionally, although three such user devices 116 are shown in Figure 1, it will be understood that this illustration is by way of example and not by way of limitation, as system 100 may include additional or fewer user devices 106 configured to interact with / within system 100.Each of the one or more user devices 116 may be embodied as any computing device including any hardware, software, and / or firmware, such as, by way of non-limiting example, a cellular phone, a smart phone, a communication device, a tablet computing device, a digital camera / camcorder, an audio / video player, a digital video recorder, a router, a laptop computing device, a desktop computing device, a wearable computing device, a server, an Internet of Things computing device, a "smart" appliance (e.g., a refrigerator, washer, or dryer with network connectivity), a mobile computing device, and / or any combination thereof. By way of example, in some embodiments, a first user device 116A may comprise a customer mobile phone, a second user device 116B may comprise a customer computing device configured to access a customer portal, and a third user device 116C may comprise a merchant computing device configured to access a merchant portal. In the illustrated embodiment, the merchant computing device 116C can optionally be configured to receive data from one or more computing resources 106 (e.g., merchant managed services such as repair services). Each user device 116 can individually communicate with the API platform 102 (e.g., over one or more networks).

[0065] In some embodiments, a provider device 124 may be provided. Like the user device 116, the provider device 124 may be a component of the system 100 or may be separate from the system. In some embodiments, the provider device 124 may enable front-end or back-end access to the API platform 102 and / or one or more components or systems of the system 100. For example, the provider device 124 may comprise a customer service device configured to facilitate the same functionality as the user device 116 when used by a customer service representative on behalf of a customer (e.g., via a telephone connection to the customer). In various embodiments, the provider device 124 may additionally or alternatively enable provider user access to a web portal 104B associated with the dynamic resource assembly system 104 to facilitate direct interaction with, viewing, and / or modification of one or more aspects of the dynamic resource assembly system (e.g., viewing, assembly, removal, modification, or other functions or data associated with a set of computing resources). In various embodiments, provider device 124 may additionally or alternatively enable provider user access to one or more functions and / or data associated with one or more computing resources (e.g., managing claims for protection products). In various embodiments, provider device 124 may interact with API platform 102 as the sole gateway for at least some functions of system 100, including front-end functions that may be executed via one or more user devices 116.

[0066] System 100 may include an operator terminal 114 from which an operator (e.g., a provider and / or developer or other operator associated with system 100) may control the operation of system 100 for dynamic assembly, access management, adaptive updates, and / or any other functions performed in the system or in connection with one or more sets of computing resources. In this regard, for example, an operator may use operator terminal 114 to control the operation of API platform 102, dynamic resource assembly system 104, and / or constituent computing resources 106. In some embodiments, operator terminal 114 may include an operator interface configured to receive an indication of operator input. As such, operator terminal 114 may include, for example, a keyboard, a mouse, a joystick, a touchscreen display, a microphone, a speaker, and / or other input / output mechanisms.

[0067] Having generally described some embodiments of system architecture, exemplary devices will now be described in accordance with some exemplary embodiments.

[0068] Exemplary Apparatus of the Present Disclosure FIG. 2 illustrates a block diagram of a computing device 200 according to some example embodiments. For example, in some embodiments, one or more of the API platform 102, the dynamic resource assembly system 104, the resource access management system 118, and / or the constituent computing resources 106, 120, when embodied in a particular embodiment, may be embodied by one or more computing devices 200. In some embodiments, one or more of the token manager 110, the quotation system 112, the operator terminal 114, the provider device 124, and / or the user device 116 may include at least the processing circuitry 202 illustrated with respect to the computing device 200. However, it should be noted that components, devices, or elements illustrated in and described below with respect to FIG. 2 may not be required, and thus one or more may be omitted in particular embodiments. Additionally, some embodiments may include additional or different components, devices, or elements beyond those illustrated in and described with respect to FIG. 2. In some embodiments, the functionality of system 100, or any subset thereof, may be performed by a single computing device 200 or multiple computing devices 200. In some embodiments, computing device 200 may comprise multiple physical devices.

[0069] Although components are described with respect to functional limitations, it should be understood that particular implementations necessarily involve the use of specific computing hardware. It should also be understood that some of the components described herein may include similar or common hardware. For example, two sets of circuits may both utilize the same processor, network interface, storage medium, etc. to perform their associated functions, thereby avoiding the need for duplicate hardware for each set of circuits. Thus, the use of the term "circuitry" as used herein with respect to components of the apparatus described herein should be understood to include specific hardware configured to perform the functions associated with the particular circuitry described herein.

[0070] In some embodiments, "circuitry" may include processing circuitry, storage media, network interfaces, input / output devices, etc. In some embodiments, other elements of computing device 200 may provide or supplement the functionality of another particular set of circuits. For example, in some embodiments, processor 206 provides processing functionality for any of the sets of circuits, memory 204 provides storage functionality for any of the sets of circuits, communications circuitry 210 provides network interface functionality for any of the sets of circuits, etc.

[0071] The computing device 200 may include, or be otherwise in communication with, a processing circuit 202 that is configurable to perform actions in accordance with one or more exemplary embodiments disclosed herein. In this regard, the processing circuit 202 may be configured to perform and / or control the execution of one or more functionalities of the computing device 200 in accordance with various exemplary embodiments, and thus may provide a means for performing the functionality of the computing device 200 in accordance with various exemplary embodiments. The processing circuit 202 may be configured to perform data processing, application and function execution, and / or other processing and management services in accordance with one or more exemplary embodiments. In some embodiments, the computing device 200, or portions or components thereof, such as the processing circuit 202, may be embodied as or comprise a chip or chip set. In other words, the computing device 200 or the processing circuit 202 may comprise one or more physical packages (e.g., chips) that include materials, components, and / or wires on a structural assembly (e.g., a baseboard). The structural assembly may provide physical strength, size constraints, and / or electrical interaction limitations for the component circuits contained thereon. Thus, computing device 200 or processing circuitry 202 may, in some cases, be configured to implement embodiments of the present disclosure on a single chip or as a single "system-on-a-chip." Thus, in some cases, a chip or chipset may constitute a means for performing one or more operations to provide the functionality described herein.

[0072] In some embodiments, processing circuitry 202 may include a processor 206 (and / or a coprocessor or any other processing circuitry that assists or is otherwise associated with the processor), and in some embodiments, such as the embodiment shown in FIG. 2, may further include memory 204. Processing circuitry 202 may be in communication with or otherwise control a user interface 208, a communication circuitry 210, and / or a computer application circuitry 212. Thus, processing circuitry 202 may be embodied as a circuit chip (e.g., an integrated circuit chip) configured (e.g., using hardware, software, or a combination of hardware and software) to perform the operations described herein.

[0073] Processor 206 may be embodied in several different ways. For example, processor 206 may be embodied as one or more of a variety of processing means, such as a microprocessor or other processing element, a coprocessor, a controller, or various other computing or processing devices, including integrated circuits such as, for example, an ASIC (application-specific integrated circuit), an FPGA (field-programmable gate array), etc. Although shown as a single processor, it will be understood that processor 206 may comprise multiple processors, which may be in operative communication with one another and collectively configured to perform one or more functionality of computing device 200 described herein. In some exemplary embodiments, processor 206 may be configured to execute instructions stored in memory 204 or otherwise accessible to processor 206. Thus, whether configured by hardware or a combination of hardware and software, processor 206 may represent an entity (e.g., physically embodied in circuitry (e.g., in the form of processing circuit 202)) capable of performing operations according to embodiments of the present disclosure while configured according to those embodiments. Thus, for example, if processor 206 is embodied as an ASIC, FPGA, etc., processor 206 may be hardware specially configured to perform the operations described herein. Or, as another example, if processor 206 is embodied as an executor of software instructions, those instructions may specially configure processor 206 to perform one or more operations described herein.Use of the terms “processor” and “processing circuitry” may be understood to include a single-core processor, a multi-core processor, multiple processors internal to computing device 200, and / or one or more remote or “cloud” processors external to computing device 200.

[0074] In some exemplary embodiments, memory 204 may include one or more non-transitory memory devices, such as, for example, volatile and / or non-volatile memory, which may be either fixed or removable. In this regard, memory 204 may comprise a non-transitory computer-readable storage medium. While memory 204 is depicted as a single memory, it will be understood that memory 204 may comprise multiple memories. Memory 204 may be configured to store information, data, applications, instructions, etc., for enabling computing device 200 to perform various functions in accordance with one or more exemplary embodiments. For example, memory 204 may be configured to buffer input data for processing by processor 206. Additionally or alternatively, memory 204 may be configured to store instructions for execution by processor 206. As yet another alternative, memory 204 may include one or more databases, which may store various files, content, or data sets. Among the contents of memory 204, applications may be stored for execution by processor 206 to perform functionality associated with each respective application. In some cases, memory 204 may be in communication with one or more of processor 206, user interface 208, communications circuitry 210, or computer application circuitry 212 via a bus to pass information between components of computing device 200.

[0075] The input / output circuitry 208 can provide output to a user or an intermediate device and, in some embodiments, can receive one or more indications of user input. In some embodiments, the input / output circuitry 208 is in communication with the processor 206 to provide such functionality. The input / output circuitry 208 can include one or more user interfaces for display on a user device, a back-end system, or the like, and / or can include a display that can have a user interface rendered as a web user interface, an application interface, or the like. The input / output circuitry 208 can be in communication with the processing circuitry 202 to receive indications of user input in a user interface and / or to provide audible, visual, mechanical, or other output to the user. As such, the input / output circuitry 208 can include, for example, a keyboard, a mouse, a joystick, a display, a touchscreen display, a microphone, a speaker, and / or other input / output mechanisms. As such, the input / output circuitry 208 can, in some exemplary embodiments, provide a means for a user to access and interact with the computing device 200. Processor 206 and / or input / output circuitry 208 comprising or otherwise interacting with processor 206 may be configured to control one or more functions of one or more user interface elements through computer program instructions (e.g., software and / or firmware) stored on memory accessible to processor 206 (e.g., stored on memory 204).

[0076] The communications circuitry 210 may include one or more interface mechanisms for enabling communication with other devices and / or networks. In some cases, the communications circuitry 210 may be any means, such as a device or circuitry embodied in either hardware or a combination of hardware and software, configured to receive and / or transmit data from / to a network and / or any other device or module in communication with the processing circuitry 202. By way of example, in the case where the API platform 102 is embodied as or a portion of the computing device 200, the communications circuitry 210 may be configured to enable the computing device 200 to communicate with the dynamic resource assembly system 104 and / or with other computing devices via a network, bus, etc. Thus, communications circuitry 210 may include, for example, an antenna (or multiple antennas) and supporting hardware and / or software to enable communication with a wireless communications network (e.g., a wireless local area network, a cellular network, a global positioning system network, etc.), and / or a communications modem or other hardware / software to support communications via cable, digital subscriber line (DSL), universal serial bus (USB), Ethernet, or other methods. In the case where API platform 102 is embodied as, or a portion of, computing device 200, communications circuitry 210, alone or in combination with other circuitry, such as computer application circuitry 212 and / or processing circuitry 202, may be configured to process, convert, receive, and / or transmit various signals to and from the system or system components and subsystems.

[0077] In some embodiments, the processor 206 (or processing circuitry 202) may be embodied as, include, or otherwise control the computer application circuitry 212. As such, the computer application circuitry 212 may be embodied in a variety of ways, such as circuitry, hardware, a computer program product comprising computer-readable program instructions stored on a computer-readable medium (e.g., memory 204) and executed by a processing device (e.g., processor 206), or some combination thereof. The computer application circuitry 212 may communicate with one or more of the memory 204, the user interface 208, or the communications circuitry 210 to access, receive, and / or transmit data that may be needed to perform one or more of the functionality of the computer application circuitry 212, including some or all of the functions associated with the systems or components embodied by the computing device 200 described herein. According to some example embodiments, computer application circuitry 212 may provide a means for implementing and controlling the functionality of computer applications associated with embodiments disclosed herein.

[0078] In various embodiments, computing device 200 may include machine learning circuitry 214, which may include hardware components, software components, and / or combinations thereof designed or configured to request, receive, process, generate, and transmit data, data structures, control signals, and electronic information for training and executing machine learning models to be trained that are configured to facilitate the functionality described herein, including assembling, managing access to, and / or adaptively updating one or more sets of computing resources comprising one or more constituent computing resources.

[0079] Having generally described some embodiments of the apparatus, the operation of the API platform will now be described according to some exemplary embodiments.

[0080] An exemplary API platform As discussed above, an API platform (e.g., API platform 102 shown in FIG. 1 ) may comprise hardware, software, or both configured to facilitate operation of APIs according to various embodiments of the present disclosure. While described herein as a single “API” for illustrative purposes, an API may comprise one or more APIs embodied on one or more computing devices. An API may comprise a software interface configured to facilitate communication between two or more computing devices or portions of computing devices (e.g., various components or systems described herein). An API may be configured to serve as a single gateway for all user devices associated with the front-end operation of the processes and systems described herein. As described herein, an API may present simplified and intuitive calls to user devices (e.g., user device 116, including any provider device 124) to facilitate external interaction with system 100. Moreover, in various embodiments, an API may further present one or more internal or external API calls to one or more internal components and subsystems configured to facilitate coordination and streamlining of system operations. Additionally, internal API calls can enable the API to integrate and exchange independent components and subsystems (e.g., individual computing resources) with each other without modifying each independent component and subsystem.For example, an API can be configured and reconfigured to call, receive, and otherwise function with one or more components and subsystems by programming the API to interact with existing APIs and other software and hardware features associated with the independent components and subsystems. Moreover, the API is configured to translate and transform intuitive, streamlined external calls into appropriate internal calls related to the appropriate components and subsystems without an external user (e.g., a customer, merchant, or provider entity using one or more user devices, including a provider device) having to be aware of the system's internal structure or operation, which can facilitate updating, adding, or removing one or more internal features while the external user experience remains intuitive and streamlined. The system can thereby be updated modularly, while, in some embodiments, only modifying the API and / or the requesting / receiving devices, while leaving the rest of the system unmodified. In some embodiments, the API can facilitate at least resource access management and the establishment of access privilege data entitles users to various computing resources, both between the user and the provider system 100 and between the provider system 100 and the computing resources 106, 120. In some embodiments, a communication gateway other than the API platform 102 can be used for one or more additional functions (e.g., reporting following completion of resource access management, processing user requests, etc.).

[0081] FIG. 3 illustrates an example data flow for an API facilitated by an API platform (e.g., API platform 102 shown in FIG. 1). In the illustrated embodiment, the API receives one or more calls 302 from one or more requesting devices, systems, subsystems, or other components and returns one or more responses 304 to the requesting devices, systems, subsystems, or other components. The calls can be generated by any of the entities shown or described herein, including, by way of example, any user device 116A (via one or more clients operating on such devices, including provider device 124), dynamic resource assembly system 104, token manager 110, quotation system 112, operator terminal 114, resource access management system 118, and / or one or more computing resources 106, 120 (each of which, in each example, an embodiment thereof is shown in FIG. 1). Each requesting device, system, or component can be programmed with one or more specific calls to send to the API based on an API specification associated with the API. These one or more calls can be sent in at least some cases where the requesting device requires data and / or functional coordination with any other connected device (e.g., in connection with the logical process flows described herein). In this manner, the API can serve as a gateway to the internal processes of a system and can be built on top to provide interoperability between one or more independent devices, systems, subsystems, or other components (including various microservices).

[0082] As further shown in FIG. 3 , an API can comprise two or more layers embodied in software and / or hardware. These layers can include, for example, an experience layer 306 and a system layer 310. The experience layer 306 can be directed to users of the API, such as the various portals, clients, etc. associated with the devices discussed above. The experience layer can be configured to receive calls, which can simplify integration for users and user devices by receiving and processing intuitive calls that are logically organized based on the function they are configured to invoke, regardless of the respective backend device, component, or system that performs that function (e.g., a single “status check” function can be invoked in the experience layer, even though multiple internal calls and functions may be required to arrive at a “status” that is returned to the requester). The experience layer 306 can thereby be responsible for organizing the internal functionality of the system, such that the front end of the experience layer is responsible for simplifying integration of the internal functionality for the requesting device, and the backend supports value realization by invoking the system layer. The experience layer 306 can be configured to expose one or more external API calls to multiple clients and translate those one or more external API calls into one or more internal API calls directly or indirectly (e.g., via one or more processing layers 308) to the system layer 310. In various embodiments, the system layer 310 APIs can be directed to internal devices, systems, subsystems, and / or components that can perform one or more functions to facilitate the calls.As an example, FIG. 3 illustrates a dynamic resource assembly system 104, a resource access management system 118, a token manager 110, a quotation system 112, and one or more computing resources 106, 120, which are connected to a system layer 310 and configured to receive computer program instructions (e.g., API calls) from the system layer and return data and / or perform functions upon receiving such instructions. The system layer 310's primary role may be translation, and thus the system layer is directed to back-end devices, systems, subsystems, and components. The system layer 310 may include a front-end that may be responsible for abstracting discrepancies and inconsistencies in the back-end associated with the initial call received by the experience layer 306. The back-end of the system layer 310 then utilizes the respective source systems (e.g., the dynamic resource assembly system 104, the resource access management system 118, the token manager 110, the quotation system 112, and one or more computing resources 106, 120) to process the request. In some embodiments, the system layer can be configured to receive one or more internal API calls directly or indirectly from the experience layer 306 and transmit computer-executable instructions to perform one or more functions, as a non-limiting example, on the computing resources 106, 120 and / or the dynamic resource assembly system 104. In some embodiments, the API can include one or more additional processing layers 308 between the experience layer 306 and the system layer 310 that are configured to further streamline the translation and processing of incoming calls to the API.

[0083] The API can act as a gateway for calls between two or more of the devices, systems, or other components shown and described herein. Any of the various programmatic functions described herein can be performed via a set of calls and responses between each requesting device, the API, and each responding device.

[0084] An example of such functionality is an API connecting one or more of the plurality of computing resources 106, 120 with a dynamic resource assembly system 104 configured to assemble the computing resources into at least one computing resource set for presentation and / or further interaction with an external client (e.g., operating on an external device 116, 124). In another exemplary embodiment, a developer portal (e.g., operating via an operator terminal 114) can access the front- or back-end functionality of one or more of the plurality of computing resources 106, 120 and / or the dynamic resource assembly system 104 via the API. As described above, the functionality of one or more internal devices, systems, subsystems, or other components can trigger further calls to the API to perform downstream functions. In this manner, a recipient of an instruction from the system layer 310 can become a requestor by sending one or more calls 302 to the experience layer 306.

[0085] Referring to FIG. 4, a conceptual data structure is shown along with example API calls at multiple layers of an API according to various embodiments of the present disclosure. In the illustrated embodiment, multiple requesting devices 401 are shown according to various embodiments herein. The requesting devices 401 send calls 410-434 to one or more external APIs 402, with the calls 410-434 providing intuitive functionality organized at a high level based on the end functionality desired by the requesting devices. For example, a call for quote 410 in the external API 402 can facilitate one or more calls 436-450 in the internal API 403 with a higher level of specificity than the requesting device needs to provide. This simplifies integration for the requesting devices and improves programming and user experience.

[0086] Continuing with reference to FIG. 4, the external API 402 receives calls 410-434, which are then processed by an API platform (e.g., API platform 102 shown in FIG. 1) to generate one or more internal API calls 436-450, which may have one or more component steps 452-466, each of which may be a separate computer-executable process for executing instructions of the requesting device. At the bottom of FIG. 4, various receiving devices 406 are shown that are responsible for processing the requests once they have been converted into sufficiently detailed computer-executable instructions that are interpreted and acted upon by the respective receiving device. As discussed above, a receiving device may be any device, system, or component configured to communicate, either directly or indirectly, with the API platform 102 to perform one or more functions related to the present disclosure.

[0087] In the illustrated embodiment, the external API 402 may be callable by one or more external systems, such as, for example, a particular channel through which resource access management is performed with respect to one or more sets of computing resources. For example, one or more mobile applications, websites, or partner devices (e.g., devices 116A-116C, 124, 104, 114, etc.) may be configured to call the external API to facilitate their associated functionality. In the illustrated embodiment, the internal API may be callable by the dynamic resource assembly system 104, for example, to execute one or more back-end internal and / or third-party processes to fulfill a user request.

[0088] API versioning can be done by updating the content of the API calls and / or the locations to which the API points. In some embodiments, such as embodiments that do not require core changes in the consuming software (e.g., in the computing resources), no changes to the endpoint URL are required. In some embodiments, such as larger changes that require core changes in the consuming software (e.g., in the computing resources), the underlying software can be changed first, and then the API can be updated via changing the content of the API calls and / or the locations to which the API points to match the updated software, which may include a change in the endpoint URL.

[0089] Having generally described some embodiments of the API platform, operations for creating a set of computing resources will now be described according to some exemplary embodiments.

[0090] Generating a Computing Resource Set 5-6C , an example flow diagram 500 and interface for generating a computing resource set comprising a plurality of constituent computing resources is shown. In some embodiments, the computing resource set generation process may include an operator using an operator terminal 114 (or by another entity, client, and / or device) sending instructions to the dynamic resource assembly system 104 to request 501 a plurality of computing resource data sets associated with the plurality of computing resources. In some embodiments, the request 501 for a plurality of computing resource data sets may be configured to include data associated with one or more computing resources 106. In some embodiments, the request 501 may comprise a request for “all available computing resources” or a smaller subset thereof, without the need to explicitly identify one or more computing resources in the request. As shown, a request may be sent from an operator terminal 114 or other device to the API platform 102, which then requests 501 multiple computing resource data sets from the computing resources 106 via the various API call processes discussed above, with the operator terminal 114 being the requesting device and the computing resources 106 being the receiving device. In some embodiments, one or more databases may store the computing resource data sets at 501. The computing resource data sets may be maintained in conjunction with the computing resources, such that any modifications to the computing resources may also modify their associated computing resource data sets.

[0091] The operator terminal 114 may include a graphical user interface configured to display renderable assets 602 (shown in FIG. 6A ) that can be selected by an operator to trigger transmission of a request 501 for multiple computing resource data sets. In some embodiments, the graphical user interface of the operator terminal 114 may include a second renderable asset 604 through which the operator can enter data associated with desired computing resources, if desired, specified criteria (e.g., computing resources associated with a particular channel or compatible with a particular user device, or a subset thereof). In some embodiments, the request 501 for multiple computing resource data sets may be sent to the API platform 102, as shown in FIG. 5 . In some other embodiments, the request 501 for multiple computing resource data sets may instead be sent directly to the computing resources 106.

[0092] In some embodiments, the API platform 102 may request 502 multiple computing resource data sets from the computing resources 106 and / or one or more databases or computing systems associated therewith. The computing resources 106 may provide 503 multiple computing resource data sets to the API platform 102, which may provide 504 multiple computing resource data sets to the dynamic resource assembly system 104. In some embodiments, an operator (whether via an operator terminal or via another client / device) may instruct the dynamic resource assembly system 104 to retrieve the computing resource data sets, which may then cause the dynamic resource assembly system to retrieve the computing resource data sets. In some embodiments, the dynamic resource assembly system may already have multiple computing resource data sets, and the generation process may begin via interaction with the dynamic resource assembly system 104.

[0093] In some embodiments, the dynamic resource assembly system 104 may be configured to generate 505 one or more renderable data objects comprising the renderable assets for presentation to an interface of the operator terminal 114 or other participating client / device. In some embodiments, the dynamic resource assembly system 104 may be configured to receive a selection indication from the operator terminal 114 or other participating client / device. With reference to FIG. 6B , the renderable assets may be configured to be presented via a graphical user interface on a display of the operator terminal 114 or another participating client / device. In some embodiments, the selection indication may comprise an indication for generating a computing resource set. For example, the indication may include an indication of a computing resource set associated with two or more of the plurality of computing resources. In this regard, the selection indication may indicate that the dynamic resource assembly system 104 should generate a computing resource set comprising a subset of the plurality of computing resources. The selection indication may further indicate one or more attribute assets associated with one or more of the plurality of computing resources. In some embodiments, each selected subset of the plurality of computing resources may be associated with an identifier. In some embodiments, an operator can make a selection display via a renderable asset (eg, as illustrated by rendered asset 606 shown on FIG. 6B).In some embodiments, an operator may be able to designate each of a subset of computing resources as either a core computing resource via rendered assets 608 or an optional computing resource via rendered assets 610. “Core” may refer to computing resources that cannot be removed as part of the generated computing resource set, while “optional” may be removed and / or replaced with one or more other computing resources during the resource access process by a customer (e.g., a customer associated with an account). In some embodiments, each of the subset of computing resources may be associated with a token value or a set of possible token values ​​depending on customization made by the customer during attribute asset selection in the resource access process. In some embodiments, the token value of each computing resource may be pre-configured. In this regard, the token value may be displayed to the operator via rendered assets 612 rendered on a display. In some embodiments, an operator may be able to customize the token value of each of the subset of constituent computing resources during generation of the computing resource set. For example, in such an embodiment, an operator may be able to set the token value of a constituent computing resource via renderable asset 612. This process may be repeated one or more additional times, as needed, to add additional computing resources to the computing resource set.

[0094] In some embodiments, after receiving the selection indication and generating the computing resource set at 506, the dynamic resource assembly system 104 can be configured to generate a renderable asset (e.g., a confirmation screen) associated with the computing resource set. In some embodiments, the dynamic resource assembly system 104 can provide the renderable asset associated with the computing resource set to the operator terminal 114 or other involved client / device at 507 for display to an operator. In this regard, as shown in FIG. 6C , the renderable asset, when rendered, can include a list of the computing resources 612 in the computing resource set and any related data associated therewith, a list of the token values ​​614 of each computing resource, and / or a total token value 616 of the computing resources.

[0095] Having generally described some embodiments of computing resource set creation, resource access management operations will now be described according to some exemplary embodiments.

[0096] Resource Access Management 7-8C, an example flow diagram 700 and interface for resource access management for at least one computing resource set by one or more users are shown. In some embodiments, the creation of computing resource sets and the management of resource access by end users associated with an account can be separate processes, for example, involving an operator associated with a provider creating one or more computing resource sets and end users associated with an account registering for one of the computing resource sets by submitting a resource access request. The resource access management process (e.g., end users registering for a computing resource set) can include, for example, selecting a computing resource set from multiple computing resource sets, selecting one or more optional constituent computing resources of a bundle, and performing one or more customizations to the bundle (e.g., allocating various attribute assets to individual constituent computing resources and / or the overall computing resource set). In some embodiments, the resource access management process may include allowing an end user to create an entire set of computing resources from its constituent parts (e.g., combining the process of FIG. 5 with the process of FIG. 7 - where a user device 116 is used in place of an operator terminal 114).The process of resource access management may include associating an account associated with an end user with a set of computing resources (optionally including one or more customizations to the set of computing resources) and storing access privilege data associated with the set of computing resources and / or one or more constituent computing resources to facilitate end user access to the plurality of constituent computing resources (e.g., entitlement of the end user to one or more constituent computing resources).

[0097] In some embodiments, computing resources 106, 120 assembled into a computing resource set can be associated with multiple different devices or entities under a single account. In some embodiments, an end user can register one or more entities (e.g., people, pets, etc.), devices (e.g., mobile phones, computers, vehicles, etc.), real estate, or any other related type to their account, and computing resources can be allocated or associated with one or more of those entities, devices, real estate, or other types as part of the resource access management process. In some embodiments, an end user can manually allocate one or more of the constituent computing resources to specific entities, devices, real estate, or other types that will benefit from those computing resources. In some embodiments, constituent computing resources may be automatically linked to particular entities, devices, real estate, or other types, such as when those computing resources are related to one or more of the entities, devices, real estate, or other types (e.g., in some embodiments, an exemplary car protection product may only be allocated to vehicles, such that every vehicle under an account may be automatically or manually linked to that car protection product).

[0098] Referring to FIG. 7 , in some embodiments, resource access management may begin at 701 through a request from one or more user devices (e.g., user device 116A) to API platform 102 to view one or more computing resource sets, which is then sent to the dynamic resource assembly system. In some embodiments, a user may request one or more computing resource sets via renderable assets 802 rendered (e.g., shown rendered in FIG. 8A ) on a user interface of one or more user devices 116. The interface may further include a channel identifier 808 or other similar indication of a portal, device, or other relationship between system 100 and user device 116A that may enable registration. In some embodiments, channel identifier 808 may comprise a label, logo, or other graphical element. In some embodiments, the interface rendered on the user device may be fully skinned to match the corresponding channel (e.g., merchant skin) to indicate affiliation with that channel and / or to appear as if the merchant itself were offering the computing resource set. In some embodiments, the available computing resource set may be signaled via a corresponding channel, whereby only a subset of the entire computing resource set may be available for transmission to a user.

[0099] The API platform 102 may send 702 a request to the dynamic resource assembly system 104, enabling the API platform 102 to retrieve 703 a data structure associated with one or more computing resource sets from the dynamic resource assembly system 104. In some embodiments, the dynamic resource assembly system 104 may send the complete computing resource set for a user to review, and in some embodiments, data including renderable assets, identifiers, information, decision points to be made, etc. may be sent without sending the complete data structure to the user device. In some embodiments, each of the computing resource sets associated with the dynamic resource assembly system 104 may include multiple constituent computing resources associated with multiple constituent computing resources 106. In some embodiments, data associated with one or more computing resource sets (e.g., renderable assets, information, etc.) may be sent from the dynamic resource assembly system. In some embodiments, the resource access management system 118 may facilitate at least a portion of the resource access management process.

[0100] In some embodiments, in response to receiving an indication of one or more computing resource sets from the dynamic resource assembly system 104, the API platform 102 may cause the rendering of a computing resource set registration interface at 704 on one or more user devices 114 that requested those computing resource sets. In some embodiments, the computing resource set registration interface may include one or more rendered assets associated with the one or more computing resource sets, each of which is a list of one or more constituent computing resources. For example, with reference to FIG. 8B, the illustrated computing resource set registration interface includes a first computing resource set 806A and a second computing resource set 806B. The first computing resource set 806A may include a first constituent computing resource 810A and a second constituent computing resource 810B. A first constituent computing resource 810A may be associated with token value data structure A and may be designated as a "core" constituent computing resource (e.g., if a user selects computing resource set 806A, then constituent computing resource 810A is a required part of computing resource set 806A). A second constituent computing resource 810B may be associated with token value data structure B and may be designated as an "optional" constituent computing resource (e.g., if a user selects computing resource set 806A, then the user has the option to include constituent computing resource 810B as part of computing resource set 806A).Renderable assets associated with the second computing resource set 806B may be similarly displayed on the computing resource set registration interface 804, where the second computing resource set 806B may include core computing resources (e.g., computing resource 812A) and optional computing resources (e.g., computing resource 812B). In some embodiments, each computing resource set may be associated with a total token value. In this regard, a user may be able to configure optional constituent computing resources and / or one or more customizations of a computing resource set, whereby the combined token value of each constituent computing resource may equal the total token value. In some embodiments, as discussed herein, the total token value may be related to the token values ​​of each constituent computing resource along with one or more customizations (e.g., discounts) therefor. In some embodiments, a computing resource set may have a default cost that includes the cost of the core constituent computing resources. In such cases, the token values ​​of the constituent computing resources may be set to zero since they are already included in the default cost. The total token value may be dynamically updated during the resource access management process via communication with a quotation system (e.g., quotation system 112 shown in FIG. 1 ) via API platform 102. In some embodiments, after a user associated with one or more user devices 116 selects one of the sets of computing resources, the user may be able to customize the selected one of the sets of computing resources.In some embodiments, a maximum total token value may be determined prior to selecting computing resources and assigned for a particular resource access management process. During operation, a user may select computing resources and / or customizations that, in total, are less than or equal to the maximum total token value. In some embodiments, a user may choose to add to the maximum total token value in exchange for an additional cost. In some embodiments, the total token value may be less than the sum of the token values ​​of the constituent computing resources (e.g., a bundled discount). In some embodiments, a user may begin by selecting computing resources and / or customizations and be notified of the total token value after selection.

[0101] In some embodiments, based on a user selection associated with a computing resource set registration interface, the user device 116 may transmit 705 a resource access request associated with the selected computing resource set to the API platform, which may then transmit the resource access request to the dynamic resource assembly system 706. The resource access request may include a resource access request data structure that includes data such as the selected computing resource set, account data (e.g., allowing the system to identify an existing customer or a new user), device type (e.g., what type of computing device one or more user devices 114 are), and / or an indication of a customer channel. In this regard, the dynamic resource assembly system 104 may be configured to record the registration of a user account by associating the account with the selected computing resource set and storing access privilege data associated with each of the plurality of constituent computing resources of the selected resource set and the account.

[0102] Based on the resource access request data structure, API platform 102 may retrieve 707 from dynamic resource assembly system 104 a plurality of identifiers associated with the plurality of constituent computing resources. In some embodiments, each identifier may be configured to identify one or more of the plurality of constituent computing resources associated with the selected computing resource set, or may identify a participating computing system associated with one or more of the plurality of constituent computing resources (e.g., one or more backend servers associated with each computing resource). In some embodiments, upon receiving the plurality of identifiers, API platform 102 may be configured to transmit 708 at least a portion of the access privilege data to each of the plurality of constituent computing resources, or the participating computing systems defining those constituent computing resources. The access privilege data may be configured to activate access to each portion of the selected computing resource set, causing each of the plurality of constituent computing resources, or the participating computing systems defining those constituent computing resources, to collectively enable access to the entire computing resource set through the sum of the access enabled for the independent constituent computing resources. As such, each constituent computing resource associated with a computing resource set can be enabled for use by a user. In addition, API platform 102 can be configured to cause rendering 709 of a renderable confirmation asset (e.g., rendered confirmation asset 816 shown in FIG. 8C ) on a user interface of one or more user devices 116.

[0103] In some embodiments, each backend system (e.g., computing resources 106, 120) may have its own API supporting various functions associated with the respective resource. These APIs may be invoked by internal calls (e.g., internal call 403 shown in FIG. 4) to facilitate functions including resource access management. In some embodiments, the API platform and / or various other external and internal APIs may require user identification information (e.g., name and / or email). In some embodiments, APIs may require user device identification information (e.g., make, model, and / or serial number). In some embodiments, various backend systems (e.g., constituent computing resources) may communicate with each other directly or through provider system 100. In some embodiments, provider system 100 may collect periodic or continuous data associated with particular users and / or particular computing resources for storage and / or analysis.

[0104] In some embodiments, provider system 100 and constituent computing resources 106, 120 may each store relevant access privilege data associated with a set of computing resources and each constituent computing resource. In some embodiments, provider system 100 may act as a system of record for sending and receiving validation requests and access privilege data updates to backend systems (e.g., various computing resources).

[0105] As discussed above, in some embodiments, one or more other users or other entities may facilitate the creation and / or resource access request process for computing resource sets. As a non-limiting example, a customer service representative using provider device 124, a merchant using merchant user device 116C, etc. may coordinate with an end user to facilitate registration with one or more selected computing resource sets. Any device or similar computing device with network access and credentials to system 100 may be used to create and / or manage resource access to computing resource sets.

[0106] 9, an exemplary process for generating a resource access request configured to facilitate resource access management is shown from the perspective of a user device. Those of ordinary skill in the art will understand in light of this disclosure that systems in communication with user devices similar to those shown with respect to FIG. 7 can also have reciprocal functionality to those shown.

[0107] At step 902, a user device may transmit a request associated with one or more computing resource sets. The request may be received by the system and interpreted as a request to initiate a resource access management process to register with one or more computing resource sets. At step 904, a computing resource set registration interface (e.g., registration interface 804 shown in FIG. 8B) may be presented on the user device. The computing resource set registration interface may display rendered assets associated with one or more of the computing resource sets to enable user selection. In some embodiments, one or more customization or option computing resource sets may be visually previewed to the user to indicate potential modifications available for the computing resource set. This interface may facilitate selection and resource access management for one or more computing resource sets. As shown in FIG. 9, a user may initially select a computing resource set at 906 or may select multiple individual constituent computing resources at 920. If a selection is displayed in 906 in connection with the computing resource set, the user device may present the user with further options in 908-916 for customizing the computing resource set to the user's preferences, or may send a resource access request to the system in 918 if the computing resource set is not customizable.

[0108] In cases where the computing resource set is customizable, the user device may present a menu of one or more optional computing resources via the interface at 908. In some cases, the selected computing resource set may include certain “core” computing resources that must remain in the computing resource set, while other “optional” computing resources may be added, removed, or replaced. The user device may then receive a selection of one or more optional computing resources to be included in the computing resource set at 910. During at least a portion of the customization process, the interface may display to the user a token allocation representing a token data structure at 912. The token allocation may visualize the relative resource requirements of the computing resources to facilitate meeting any token limits or constants and to allow the total token value to be monitored when constructing the final computing resource set.

[0109] In some embodiments, one or more of the individual constituent computing resources of the computing resource set, whether optional or core, may be provided with customization options such as service levels, one or more premium software features of the computing resource, etc. In such embodiments, the user may be prompted to select the individual customizations at 914 and may indicate that selection. In some cases, the token allocation may be updated based on that selection.

[0110] In some embodiments, one or more customizations across the computing resource set may be presented to the user, such as one or more promotions (e.g., introductory discount period, complementary constituent computing resources), discounts, perks, deductibles, billing limits, etc. In such embodiments, the user may be prompted to select a set-wide customization at 916 and may indicate their selection. In some cases, token allocation may be updated based on their selection. Once completed and customized, a final resource access request associated with the fully customized computing resource set may be transmitted to the system at 918 to facilitate registration. In some embodiments, this transmission may include incremental transmission of each portion of the final computing resource set as the user makes each selection, or may include a single transmission with all relevant resource access request data.

[0111] In some embodiments, a trained machine learning model may be used to recommend one or more computing resource sets, one or more constituent computing resources that make up a computing resource set, one or more individual customizations, and / or one or more set-wide customizations. In some embodiments, a trained machine learning model may be used to assemble one or more computing resource sets, for example, based on comparisons between computing resources that are commonly used together or comparisons with particular channels, categories, accounts, or other demographics. The machine learning model may be trained using supervised or unsupervised learning based on one or more previous computing resource sets and / or user account data. In some embodiments, the system may be configured to aggregate data associated with multiple user accounts and / or multiple computing resource sets to determine recommendations for a user. For example, one recommendation may be the “most popular” computing resource set, which may be absolute or determined based on demographic data associated with the user. In some embodiments, one or more other computer-implemented models may be utilized for various functions, including generating recommendations for a user.

[0112] For example, individual aggregated user historical data, including computing resource usage information, can be compiled and used to train and / or implement machine learning models. In some embodiments, based on usage experiences, the provider system can calculate computing resources or their characteristics that correspond to the user's other usage patterns, and the machine learning model can determine likely computing resources to recommend to a particular user. For example, someone who selects VPN-related computing resources may also be interested in antivirus software. In some embodiments, demographic data associated with a particular user can be applied to the machine learning model. The demographic data can be generalized by region and / or distribution channel to identify recommendations for subsets of users. Recommendations generated by the machine learning model may be related to specific characteristics or combinations of characteristics of a computing resource and / or set of computing resources. One or more graphical user interfaces can present renderable data objects associated with the recommendations to the user.

[0113] In some embodiments, the provider system may maintain one or more user profiles associated with one or more users. The user profiles may include data, including, but not limited to, the user history data and demographic data described above. In some embodiments, the user history data may comprise usage information, including a set of computing resources associated with a user and computing resource information. Additionally or alternatively, the user history data may include user activity and interaction levels (e.g., frequency of interaction with a mobile app) associated with one or more computing resources and / or clients to determine interest and satisfaction. In some embodiments, the user history data may include device information for the user. In some embodiments, the user profile may be entered at least in part by a user, such as during a resource access management process. In some embodiments, the user profile may be generated and stored at least in part based on user interactions with one or more client devices and / or computing resources. The provider system 100 may be configured to aggregate and compare data associated with multiple user profiles. Based on previous selections of similarly situated users (e.g., users with similar demographic and / or user history data), the provider system may provide recommendations of one or more computing resources, sets of computing resources, and / or portions or customizations thereof based on the user history data of similarly situated users. In some embodiments, a machine learning model according to the present disclosure may be used to generate the recommendations. In some embodiments, an initial training set may be generated by sampling user history and demographic data of users without recommendations.In some embodiments, the recommendations may include new or modified computing resource sets, computing resources, and / or customizations or portions thereof that have been calculated to better match the user historical data and / or demographic data. In some embodiments, for example, after using a computing resource for a first device, the provider system may generate a renderable data object for presenting a proposal for adding the computing resource to one or more other devices. In some embodiments, the provider may detect the addition of one or more devices to a user profile and recommend one or more computing resources associated with the new devices. For example, the provider system may generate a renderable data object configured to present a replacement proposal for removing one or more computing resources, computing resource sets, and / or portions or customizations thereof from an existing user profile and for adding one or more other computing resources, computing resource sets, and / or portions or customizations thereof for a new device. In some embodiments, the provider system 100 may retain the existing total token data value or threshold total token data value associated with the user profile and / or computing resource set prior to the addition of the new device. In some embodiments, the provider system 100 may increase the total token data value or threshold total token data value in exchange for an increased cost.In some embodiments, the provider system 100 can detect that a user has inappropriate or ineffective computing resources based on a comparison of the token value to usage and generate one or more renderable data objects that suggest modifications to the computing resource, set of computing resources, and / or portions or customizations thereof.

[0114] Referring to FIG. 10A , an exemplary user interface for facilitating computing resource set configuration (e.g., by a provider entity) according to various embodiments discussed herein is shown. In the illustrated embodiment, multiple computing resource sets are indicated at 1002, 1004. The interface may further include one or more customization menus 1006, 1008, 1016, 1018 configured to allow a user to preview and / or select one or more options and / or customizations associated with the computing resource sets. For example, some embodiments of computing resource sets 1004 may be pre-configured, thereby requiring no further customization, while other computing resource sets 1002 may be customizable. For customizable computing resource sets 1002, preview menus may be shown at 1006, 1008 prior to selection of a “Customize” button showing default options 1010, locked (e.g., unavailable) options 1012, and selectable options 1014. Once a customizable computing resource set 1002 is selected, the token allocation may be shown at the top of the menu to allow for enrollment (e.g., within a "maximum" of 100 credit points in the example shown). The leftmost column 1016 shown shows a list 1020 of available computing resources (e.g., coverage) that are not currently part of the computing resource set, along with the total available token allocation, and the rightmost column 1018 shown shows a list 1022 of currently selected computing resources (both cores 1024 and options 1026) that form part of the selected computing resource set.In some embodiments, a user can add computing resources from the left column to the right column, or remove at least optional coverage from the right column to the left column, before finalizing the computing resource set, with or without selecting any further customization. In embodiments with a maximum token value (e.g., a token cap), the interface can prohibit adding computing resources that would cause the computing resource set to exceed the maximum token value. In the embodiment shown, each computing resource is listed with its individual token value in parentheses.

[0115] Referring to FIG. 10B , an exemplary user interface 1028 for facilitating resource access management (e.g., registration by end users) is shown. The illustrated interface includes three computing resource sets 1030 along with their associated token values, which may be registered individually or collectively. Each rendered asset associated with each computing resource set 1030 may include a drop-down menu 1032 that provides further details about the respective computing resource set. For example, the rendered asset associated with the bottom-most computing resource set includes a list of core computing resources 1034 and a list of default option computing resources 1036, which may be replaced or removed by the user.

[0116] FIG. 10C illustrates an exemplary mobile device interface 1038 for resource access management (e.g., end-user registration). The illustrated interface includes multiple computing resources 1040 with radio buttons selected to indicate inclusion in the computing resource set and one computing resource 1042 with its radio button deselected to indicate exclusion from the computing resource set. Interface 1038 also displays a representation 1044 of a token data structure associated with each computing resource and a representation 1046 of the total token value remaining for registration (e.g., in the illustrated embodiment, 0 credits remaining). Additionally, interface 1038 includes an “Activate Benefits” button 1046 configured to trigger the submission of a final resource access request to the system.

[0117] 10D-10F illustrate interfaces 1048, 1052, and 1054 associated with resource access request management (e.g., end-user registration). The illustrated interfaces 1048, 1052, and 1054 are "skinned" by the API platform and system to appear as if they are managed by a merchant as part of a merchant channel. Referring to FIG. 10D, a list of computing resource sets 1050 is shown, each organized by category with computing resources focused on a similar purpose or function (e.g., separate computing resource sets for "gadget insurance," "mobile insurance," "travel insurance," "cybersecurity risk," "animal care," and "vehicle protection"). Each of the computing resources within an identified computing resource set may be related to this similar purpose or function. As a non-limiting example, a "cybersecurity risk" computing resource set may include computing resources corresponding to a VPN service, aliasing software, and a virus removal tool bundled together for user registration. In this manner, an end user can subscribe to multiple computing resource sets depending on the category of protection desired. Figure 10E shows a detailed view interface 1052 of one of the selected computing resource sets, illustrating the "Gadget Insurance" computing resource set with constituent computing resources corresponding to "Accidental Damage," "Mechanical and Electrical Breakdown," and "Functional Parts and Labor." Figure 10F shows the detailed view interface 1054 with a list of computing resources 1064 associated with the account.The detail view interface 1054 includes options for managing 1066 a user account (e.g., deleting or modifying a particular computing resource or set of computing resources). The detail view interface 1054 also includes an option for "submitting a claim" 1068 (e.g., accessing or using a particular computing resource). A button 1068 can connect to a new web page or new portal associated with each constituent computing resource to utilize the computing resource. In this manner, the interface and centralized system can provide organization and management of all of the computing resources while facilitating API interfacing with individual computing resources as needed. The API platform software can include API calls associated with the APIs of the various computing resources to facilitate this interoperability.

[0118] 10G-10H show interfaces 1056, 1062 for a centralized direct-to-consumer management system. The shown interface 1056 in FIG. 10G includes submenus for device management 1058 and technical services 1060. As shown, multiple devices can be supported by a single "family" account.

[0119] Referring to FIG. 11 , an exemplary process for data collection and interface updating is shown, according to various embodiments of the present disclosure. At step 1102, the system receives a request associated with one or more computing resource sets, as in various other embodiments herein. The user device can then render a computing resource set registration interface for resource access management at 1104. In connection with various embodiments disclosed herein, the system may require data to process the resource access request, such as data associated with a user account. In doing so, the system may have different data levels required for different computing resource sets and / or constituent computing resources. In some embodiments, due to the availability of multiple computing resource sets and multiple customizations (including optional computing resources) within a particular computing resource set, the system may not know exactly what data is needed prior to the final resource access request.

[0120] 11 , in some embodiments, the system may determine 1108 a maximum possible data set based on remaining decision points, including options and customizations. In such embodiments, the system may analyze the data needed for all options and customizations still available to the user and request all of the potentially needed data upfront, even if one or more options or customizations are not later selected and the data collected ultimately exceeds what is needed. In such embodiments, the maximum data set may be requested 1110 from the user via input in an interface displayed on the user device.

[0121] In some embodiments, the system may determine 1112 a current data set required based on the currently existing computing resources and customization of the computing resource set, and the system may request only the current data set from the user at 1114. If a subsequent selection indication is received from the user at 1116 that changes the data required for resource access management, the system may request 1118 additional data represented by the difference between the current data set and the data required for the new selection indication at that time.

[0122] In yet some other embodiments, no data, or only a minimal amount of data, may be required from the user before finalizing the computing resource set, and a further step may be used to request data from the user after the computing resource set has been assembled and finalized.

[0123] Following the resource access management process, if a user is registered with a computing resource set, the user may interact with the constituent computing resources according to rules established at the computing resource level. For example, third-party computing resource 120 may send onboarding instructions, and the user may utilize the third-party computing resource through direct interaction with the third-party computing resource. In such an embodiment, provider system 100 may remain the central source of truth regarding access privilege data, allowing the third-party computing resource to continue providing resources to the user while provider system 100 indicates the user's corresponding access privilege data. As another example, a computing resource may communicate with a user via provider system 100 regarding the utilization of some or all of its resources.

[0124] In cases where there are multiple computing resources in a computing resource set, the provider system can provide a unified entry point for filtering that can interface with individual back-end internal and third-party systems via the API platform 102. The provider system 100 can guide users to the workflow path associated with their needs (e.g., car billing / mobile billing / rental billing) to provide a unified experience for all or most users.

[0125] Having generally described some embodiments of resource access management, operations for adaptively updating one or more sets of computing resources will now be described according to some exemplary embodiments.

[0126] Adaptive update of computing resource sets In some embodiments, a computing resource set can be adaptively updated. Adaptive updates can occur through several different means, such as by a provider entity (e.g., a developer) at the system level, by a developer at the individual computing resource level, by an end user adjusting their registration, and / or through some other mechanism. For example, one or more constituent computing resources forming part of the computing resource set can no longer be integrated into or proposed by system 100, one or more customization and attribute assets allocated to any portion of the computing resource set can change after initial registration, the token values ​​of the constituent computing resources forming part of the computing resource set can change, and / or some other modification can be made to all or a portion of the selected computing resource set to which one or more accounts are registered. In some cases, the dynamic resource assembly system 104 can create a new and discontinue offering the original computing resource set to the new registrant, can preserve the existing selected computing resource set for the already registered account, or can trigger an update process for the already registered account. In either case, the existing selected computing resource set can be discontinued for the new registrant, and the existing registration can include a timestamp and / or explicit list of the constituent computing resources and any associated customizations, so that the existing registration can be frozen at the time of registration regardless of any changes to the currently offered computing resource set to the new registrant.However, this does not apply if the subsequent change prohibits existing registrations from continuing (e.g., if a constituent computing resource is no longer available, even to existing users, such as due to destruction or other loss of the underlying computing resource). In some embodiments, system 100 can be configured so that updates can be made to a computing resource set and propagated throughout system 100. In some embodiments, adaptively updating (including replacing) a computing resource set can ensure dynamic updates with seamless transitions for unaffected constituent computing resources without affecting unchanged portions of the computing resource set. Similarly, in some embodiments, a user can trigger the update process themselves, without being prompted by the system, by navigating to an update menu on the user device. In either case, a user can quickly and intuitively modify one or more of the constituent computing resources and / or computing resource sets with minimal or no impact or changes to the computing resources the user wishes to retain.

[0127] Referring now to FIG. 12 , adaptive updating of a computing resource set is illustrated. In some embodiments, an update can be initiated by an operator of the operator terminal 114 or another device connected to the system. For example, an operator at the operator terminal 114 can initiate 1201 an update to modify or discontinue a particular computing resource set or portion thereof in the system at the dynamic resource assembly system 104 level (e.g., changing a “core” product to an “optional” product). In some embodiments, each computing resource set is uniquely identified via an individual identifier, and modifying an existing computing resource set can generate a new computing resource set with modified parameters rather than modifying the previous computing resource set. In each case, this can be considered “updating” the computing resource set. The updated or new computing resource set can be stored in a database associated with the dynamic resource assembly system and / or transmitted to an API platform at 1202. In some embodiments, updates can occur in real time as one or more computing systems associated with individual constituent computing resources are modified. In some embodiments, end users may be able to update or modify their computing resource sets or portions thereof, including customizations, through various tools associated with provider system 100, including dynamic resource assembly system 104. In some embodiments, a third-party user (e.g., an engineer, developer, or other agent) may be able to modify or remove a computing resource set at any time (e.g., by modifying one or more templates prior to registration or by modifying the registration afterward).In some embodiments, following registration, options may be enabled or disabled for various computing resource sets, allowing the end user to view and update their computing resource sets based on the newly enabled options using tools associated with provider system 100. Corresponding renderable data objects may be generated and presented to the user to present one or more options and tools, and to allow the user to select one or more available updates and options.

[0128] As another example, one or more of the constituent computing resources 106 can be updated in 1203, such that they are modified or no longer available for proposal as part of the computing resource set. Updates to one or more of the constituent computing resources 106 can be performed by the developers of the respective computing resources 1204 and can be made independently of the rest of the system 100. For example, each computing resource can have a separate server, update frequency, code repository, etc., and can be updated independently of each other, the dynamic resource composition system, and the rest of the system. In step 1205, the computing resources can send updates to the dynamic resource composition system, or the dynamic resource composition system (directly or through another part of the system, such as an API platform) can retrieve new parameters associated with the computing resources. For example, in some cases, an operator accessing the dynamic resource composition system can cause the dynamic resource composition system to retrieve updates to one or more of the computing resources, or can add or remove computing resources from the system. In some cases, the dynamic resource assembly system may retrieve the current incarnation of a computing resource periodically or each time a user wishes to create or register in a computing resource set, and in some other cases, individual computing resources may send updates to the dynamic resource access system following any modifications to those computing resources.In step 1206, the dynamic resource assembly system can be updated based on the updated computing resources, such that any subsequent resource access management processes involving new accounts or new registrations will use the updated computing resources and / or updated set of computing resources.

[0129] Following any type of update in steps 1202 and 1206, the system may determine at 1207 whether any existing selected computing resource sets associated with the account as part of the existing registration require updating. As described above, an update may not be required in each case, and the system may continue to support modified or discontinued legacy computing resource sets that were frozen at the time of registration. If the system is no longer able to support the legacy registration, a new resource access request process may be initiated. If so, a new resource access request process may be initiated at 1208, which may be substantially similar to the process described above, such as with reference to FIG. 7, and a computing resource set registration interface may be presented to the user at 1209, and a selection of an updated selected computing resource set may be received at 1210. In some cases, the new resource access request process may be limited to only computing resources and / or other characteristics that differ from the original registration. In some cases, an entirely new resource access request process may be initiated, allowing the user to select any currently available computing resource set. In some cases, modified computing resources or other characteristics of the computing resource set may be automatically updated and / or removed from the legacy registration without further action being required by the user. In some embodiments, the user and / or provider may be given a choice of which process to use.

[0130] In some embodiments, entirely new computing resources may be added to the system via an onboarding data structure, which may be a dynamic resource assembly system. In some embodiments, the dynamic resource assembly system may classify, or enable a provider entity to classify, the new computing resource based on its relationship to other existing computing resources.

[0131] Having generally described some embodiments of adaptively updating one or more sets of computing resources, system messaging capabilities will now be described according to some exemplary embodiments.

[0132] System messaging capabilities The integration and coordination of various independent computing resources described herein and the creation of computing resource sets via the described systems can further facilitate greater computational efficiency. In some embodiments, the systems can be configured to target subsets of user devices across multiple channels, networks, device types, computing resource sets, and other criteria, and the messaging capabilities can be configured to improve the user experience while facilitating a reduced processing and transmission load on the system.

[0133] Referring to FIG. 13 , an embodiment of a process for facilitating a coordinated electronic messaging system is shown and described. The messaging process may begin by identifying a message to be sent to one or more user devices, such as in connection with any of the processes mentioned herein (e.g., in connection with the update process described above). The messaging process may then include identifying at least one common attribute asset to which the message is to be directed. The common attribute asset may be determined by the nature of the message. For example, if a particular constituent computing resource is updated or removed, the common attribute asset may be the constituent computing resource or a subset of the constituent computing resources corresponding to the update. As another example, if one or more changes are made in the system to a channel or other subset of user accounts, the common attribute asset may be user account data and / or computing resource set data corresponding to the identified channel or user account. In this manner, the common attribute asset represents the lowest common denominator among the user devices to which the message must be delivered. As with the various embodiments discussed herein, a user device can be any device capable of interacting with the system, including, but not limited to, a mobile phone, a terminal, a personal computer, or a merchant device.

[0134] At steps 1302 and 1304, the system may search access privilege data associated with the plurality of user accounts and / or the plurality of independent computing resources for at least one common attribute asset identified according to the process referenced above. At step 1306, the system may identify a group of user accounts among the plurality of user accounts that share at least one common attribute asset. At step 1308, the process may include identifying at least one communication mode associated with each user account in the first group of user accounts, where the communication mode may be a communication mode through which the system communicates with the various user accounts (e.g., via the API platform 102). At step 1310, the illustrated process includes generating at least one electronic message to each user account based on the at least one common attribute asset. At step 1312, the process includes sending at least one electronic message to each user account in the first group of user accounts via the at least one communication mode.

[0135] Therefore, a coordinated electronic messaging system can facilitate communication with user accounts corresponding to a common attribute asset even when those user accounts are otherwise part of separate channels or registered with separate sets of computing resources. For example, if two accounts associated with two different channels are subscribed to common, independent computing resources or two different sets of computing resources that share another common attribute asset, a message can be targeted to those two accounts without affecting or sending messages to any other users associated with the two different channels or two different sets of computing resources that do not share the common attribute asset. In such embodiments, the two user accounts may not even be registered with the same set of computing resources to receive messages, as long as they share a common attribute asset. Other examples of criteria that may be selected for electronic messaging include device make, device model, user demographic information, country code, channel ID, region, currency, etc.

[0136] In some embodiments, a messaging system can be used as part of the update process described herein, whereby a message comprises an indication of an update to at least one of a plurality of independent computing resources that share at least one common attribute asset, and a user can respond to the message, such as by submitting an updated resource access request, the updated resource access request being associated with at least one of the plurality of independent computing resources. In some cases, the message can be a notification of a modification to a user account or set of computing resources, such as the discontinuation of at least one of the plurality of independent computing resources, which can also include a modification to the total token value (e.g., a credit for the value of the discontinued computing resource). Moreover, in some embodiments, APIs and messaging systems can be used to send messages to a single user or a group of users who need the same data, such as account onboarding, terms of use, etc.

[0137] Having generally described some embodiments of the messaging capabilities of the system, some non-limiting examples of constituent computing resources will now be described in accordance with some illustrative embodiments.

[0138] Exemplary Computing Resources Various embodiments of the present disclosure relate to computing resources and, when assembled, sets of computing resources available to users. The present disclosure contemplates various flexible, modular systems capable of facilitating access to and delivering many computing resources, including computer software, services, products, and the like. Computing resources may comprise ongoing services (e.g., SaaS software) and / or software owned or perpetually licensed by users. In some embodiments, computing resources may comprise mobile phone apps, desktop computer software, cloud-hosted software, or any other software delivery mechanism. Furthermore, due to the modularity and flexibility of the dynamic resource assembly system, the system can combine any permutation of computing resources, rapidly allocate token values ​​to them, and provide the benefits of each computing resource to users. In some embodiments, as discussed herein, third-party computing resources (e.g., computing resources 120 shown in FIG. 1, which may be provided by entities other than the system provider) may be seamlessly integrated into the system by integrating the third-party computing resources with an API platform without requiring changes to the user registration or authentication process.

[0139] Various non-limiting examples of computing resources that may be used alone or in combination with other computing resources as a computing resource set may include: computing device protection products and services (e.g., coverage for theft / loss, accidental damage, mechanical breakdown); computing device electronic security services; electronic fraud prevention services; password protection services; user alias services; digital identity protection services; computing device fault detection; computing device repair; insurance (e.g., rental insurance, auto insurance, home insurance, travel insurance, etc.); computing device screen damage replacement; credit protection and monitoring services; computing device diagnostic products and services; technical support and remote assistance services (e.g., via telephone and / or electronic interfaces); Pocket Geek™ App Services; Mobile Antivirus; Desktop Antivirus; Cloud Storage and Backup; VPN Services and Software; Automotive Products and Services; Key Fob Replacement Policies; Dent and Dent Repair; Lease Wear and Tear; Tire and Wheel Damage; Appearance Protection; Windshield Chips and Cracks; Additional Living Expense Protection; Travel Insurance; Pet Insurance; Eyewear Protection; Installation and Setup Services; Computer Tune-Up Services; Data Transfer Services; Virus Removal Services; Access to Brick and Mortar Repair Services; Data Backups (e.g., 50 Gigabytes, 1 Terabyte, etc.); Installation Services (e.g., In-Home Installation for Home Tech); Phone, App, and / or Chat Technical Support; In-Person Technical Support; Discounted Repairs; and / or any other software and / or hardware-based programs, applications, platforms, or services that may be provided to users and / or user devices.

[0140] Conclusion Many modifications and other embodiments of the disclosures set forth herein will come to mind to one skilled in the art to which these disclosures pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the disclosure is not to be limited to the particular embodiments disclosed, and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a descriptive sense and not for purposes of limitation.

Claims

1. 1. A gateway comprising at least one non-transitory computer-readable medium having computer-coded instructions, the computer-coded instructions, when executed by at least one processor, configured to perform steps of defining at least one application programming interface (API), the at least one API being configured to perform steps of connecting a plurality of devices to a plurality of computing resources, the at least one API comprising: The experience layer and a system layer; the experience layer is configured to receive one or more external API calls and translate the one or more external API calls into one or more internal API calls directly or indirectly to the system layer; the system layer is configured to receive the one or more internal API calls and transmit computer-executable instructions for executing one or more functions on the plurality of computing resources; At least one non-transitory computer-readable medium, wherein the at least one API is further configured to perform the step of connecting each of the plurality of computing resources with a dynamic resource assembly system configured to assemble functionality associated with the computing resources into at least one computing resource set.

2. the API is configured to receive a resource access request associated with a selected one of the at least one computing resource set; 10. The at least one non-transitory computer-readable medium of claim 1, wherein the API is configured to direct the resource access request to the dynamic resource assembly system.

3. receiving, by the API, an indication of an update from one of the plurality of computing resources; and transmitting the indication of the update to the dynamic resource assembly system.

4. The API, receiving access privilege data associated with a selected set of computing resources of the at least one set of computing resources; identifying a plurality of constituent computing resources associated with said access privilege data; dividing the access privilege data into a plurality of portions of access privilege data associated with respective constituent computing resources of the plurality of constituent computing resources; and transmitting the plurality of portions of access privilege data to the respective constituent computing resources of the plurality of constituent computing resources.

5. 10. The at least one non-transitory computer-readable medium of claim 1, wherein the API is further configured to receive an indication of a new computing resource.

6. 10. The at least one non-transitory computer-readable medium of claim 1, wherein the API is further configured to connect each of the plurality of computing resources and the dynamic resource assembly system with an operator terminal configured to modify one or more databases associated with one or more of the plurality of computing resources or the dynamic resource assembly system.

7. 10. The at least one non-transitory computer-readable medium of claim 1, wherein the computer-coded instructions, when executed by the at least one processor, are further configured to perform the step of updating the API.

8. 8. The at least one non-transitory computer-readable medium of claim 7, wherein updating the API comprises adding one or more external API calls.

9. 8. The at least one non-transitory computer-readable medium of claim 7, wherein updating the API comprises modifying one or more external API calls.

10. 10. The at least one non-transitory computer-readable medium of claim 1, wherein the API is further configured to receive a message intended for a plurality of user devices and send the message to each of the plurality of user devices.

11. 10. The at least one non-transitory computer-readable medium of claim 1, wherein the API is the only gateway to the system for receiving resource access requests associated with the at least one set of computing resources.

12. 1. A gateway comprising an apparatus including one or more processors and at least one non-transitory memory containing instructions, the instructions configured, in conjunction with the at least one processor, to cause the apparatus to define at least one application programming interface (API), the at least one API configured to connect a plurality of devices to a plurality of computing resources, the at least one API comprising: The experience layer and a system layer; the experience layer is configured to receive one or more external API calls and translate the one or more external API calls into one or more internal API calls directly or indirectly to the system layer; the system layer is configured to receive the one or more internal API calls and transmit computer-executable instructions for executing one or more functions on the plurality of computing resources; the at least one API is further configured to connect each of the plurality of computing resources with a dynamic resource assembly system configured to assemble functionality associated with the computing resources into at least one computing resource set.

13. the API is configured to receive a resource access request associated with a selected one of the at least one computing resource set; 13. The apparatus of claim 12, wherein the API is configured to direct the resource access request to the dynamic resource assembly system.

14. receiving, by the API, an indication of an update from one of the plurality of computing resources; and transmitting the indication of the update to the dynamic resource assembly system.

15. The API, receiving access privilege data associated with a selected set of computing resources of the at least one set of computing resources; identifying a plurality of constituent computing resources associated with said access privilege data; dividing the access privilege data into a plurality of portions of access privilege data associated with respective constituent computing resources of the plurality of constituent computing resources; and transmitting the plurality of portions of access privilege data to the respective constituent computing resources of the plurality of constituent computing resources.

16. The apparatus of claim 12 , wherein the API is further configured to receive an indication of a new computing resource.

17. 13. The apparatus of claim 12, wherein the API is further configured to connect each of the plurality of computing resources and the dynamic resource assembly system with an operator terminal configured to modify one or more databases associated with one or more of the plurality of computing resources or the dynamic resource assembly system.

18. 13. The apparatus of claim 12, wherein the computer-coded instructions, when executed by the at least one processor, are further configured to perform the step of updating the API.

19. 20. The apparatus of claim 18, wherein updating the API comprises adding one or more external API calls.

20. The apparatus of claim 18 , wherein updating the API comprises modifying one or more external API calls.

21. 13. The apparatus of claim 12, wherein the API is further configured to receive a message intended for multiple user devices and send the message to each of the multiple user devices.

22. 13. The apparatus of claim 12, wherein the API is the only gateway to the system for receiving resource access requests associated with the at least one set of computing resources.

23. 1. A method comprising generating at least one application programming interface (API), the at least one API being a gateway configured to connect a plurality of devices to a plurality of computing resources, the at least one API comprising: The experience layer and a system layer; the experience layer is configured to receive one or more external API calls and translate the one or more external API calls into one or more internal API calls directly or indirectly to the system layer; the system layer is configured to receive the one or more internal API calls and transmit computer-executable instructions for executing one or more functions on the plurality of computing resources; the at least one API is further configured to perform the step of connecting each of the plurality of computing resources with a dynamic resource assembly system configured to assemble functionality associated with the computing resources into at least one computing resource set.

Citation Information

Patent Citations

  • Conversion device and conversion program

    JP2020009073A

  • Method and apparatus for security in cloud computing service

    US20150012977A1