Development and deployment of custom applications

US12307244B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12307244-B2
Application numberUS-202218080714-A
CountryUS
Kind codeB2
Filing dateDec 13, 2022
Priority dateDec 13, 2022
Publication dateMay 20, 2025
Grant dateMay 20, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods, systems, and apparatus, including computer programs encoded on computer-storage media, for development and deployment of custom applications. In some implementations, configuration data that specifies a configuration of application elements is stored. A repository of modules that are used to implement the respective application elements is stored. A request from a client device over a network is received. User interface data for a view of the custom application is generated. The user interface data for the custom application is provided to the client device over the network in response to the request.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method comprising: storing, by a server system, configuration data that specifies a configuration of application elements, from among a predetermined set of application elements, to provide in a custom application, wherein the configuration data comprises a set of values that specify a subset of the application elements for inclusion in the custom application; storing, by the server system, a repository of modules that are used to implement the application elements; receiving, by the server system, a request from a client device over a network; in response to receiving the request, generating, by the server system, user interface data for a view of the custom application, wherein the server system (i) identifies the configuration of the application elements for the custom application based on the configuration data for the custom application, and (ii) generates the user interface data using modules from the repository of modules that correspond to the application elements specified in the configuration data for the custom application, and wherein the user interface data is generated such that the user interface data (i) includes the modules from the repository of modules that correspond to the application elements included in the subset of the application elements, and (ii) omits the modules from the repository of modules that correspond to the application elements that are not included in the subset of the application elements; and providing, by the server system, the user interface data for the view of the custom application to the client device over the network in response to the request. 2. The computer-implemented method of claim 1 , wherein the set of values in the configuration data for the custom application specifies a range of values available for a user of the custom application to select for a corresponding application element. 3. The computer-implemented method of claim 1 , wherein the configuration data for the custom application indicates, for each of the application elements specified in the configuration data for the custom application, whether the application element is included in the custom application. 4. The computer-implemented method of claim 1 , wherein the user interface data for the view of the custom application specifies at least one of (i) a layout, (ii) formatting, or (iii) media used to present the view of the custom application. 5. The computer-implemented method of claim 1 , wherein the server system stores a different set of configuration data for each of multiple custom applications provided by the server system, and wherein the sets of configuration data for the multiple custom applications specify different sets of application elements. 6. The computer-implemented method of claim 1 , wherein the custom application is a first custom application, and wherein the computer-implemented method further comprises: receiving a request from a client device to access a second custom application; determining that a user of the client device does not have authorization to access the second custom application; and in response to determining that the user of the client device does not have authorization to access the second custom application, providing user interface data for controls to select one or more custom applications that the user of the client device has authorization to access. 7. The computer-implemented method of claim 1 , wherein the custom application is a first custom application, and wherein the computer-implemented method further comprises: receiving a request from a client device to access a second custom application; determining that a user of the client device does not have authorization to access the second custom application; and in response to determining that the user of the client device does not have authorization to access the second custom application: selecting, from among a set of custom applications, a third custom application that is selected based on similarity to the second custom application; and providing access to the third custom application in response to the request. 8. The computer-implemented method of claim 1 , wherein the custom application is a first custom application, and wherein the computer-implemented method further comprises: receiving a request from a client device to access a second custom application; determining whether the second custom application is not available; in response to determining that the second custom application is not available, determining that a newer version of the second custom application is available; and providing user interface data for the newer version of the second custom application to the client device. 9. The computer-implemented method of claim 1 , further comprising providing user interface data for a selection page to the client device over the network, wherein the user interface data for the selection page allows a user of the client device to select a custom application from among a list of custom applications. 10. The computer-implemented method of claim 1 , further comprising: after receiving the request: retrieving, from the repository of modules, the modules that implement the subset of the application elements that is specified by the configuration data for the custom application; and combining the retrieved modules to generate the user interface data for a view of the custom application. 11. The computer-implemented method of claim 10 , wherein combining the retrieved modules comprises combining the retrieved modules with an application template to generate the user interface data for the view of the custom application. 12. The computer-implemented method of claim 1 , wherein the custom application is based on a previously-existing interactive document, and wherein the previously-existing interactive document includes a connection to obtain data from one or more data sources or data sets; wherein the configuration data for the custom application indicates (i) the connection to obtain data from the one or more data sources or data sets, and (ii) application elements that provide a set of interactive functionalities provided by the previously-existing interactive document; and wherein generating the user interface data for the view of the custom application comprises providing application data for the custom application, wherein the application data for the custom application enables the custom application to obtain data from the one or more data sources or data sets, and wherein the application data for the custom application includes the modules from the repository of modules that provide the set of interactive functionalities of the previously-existing interactive document. 13. A system comprising: one or more computers of a server system; and one or more non-transitory computer-readable media storing instructions that are operable, when executed by the one or more computers of the server system, to cause the one or more computers of the server system to perform operations comprising: storing, by the server system, configuration data that specifies a configuration of application elements, from among a predetermined set of application elements, to provide in a custom application, wherein the configuration data comprises a set of values that specify a subset of the application elements for inclusion in the custom application; storing, by the server system, a repository of modules that are used to implement the application elements; receiving, by the server system, a request from a client device over a network; in response to receiving the request, generating, by t

Assignees

Inventors

Classifications

  • for implementing user interfaces · CPC title

  • G06F21/629Primary

    to features or functions of an application · CPC title

  • Updates (security arrangements therefor G06F21/57) · CPC title

  • G06F8/71Primary

    Version control (security arrangements therefor G06F21/57); Configuration management · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12307244B2 cover?
Methods, systems, and apparatus, including computer programs encoded on computer-storage media, for development and deployment of custom applications. In some implementations, configuration data that specifies a configuration of application elements is stored. A repository of modules that are used to implement the respective application elements is stored. A request from a client device over a …
Who is the assignee on this patent?
Microstrategy Inc
What technology area does this patent fall under?
Primary CPC classification G06F21/629. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 20 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).