Patent ID: 9489194
Filing Date: 2016-11-08
CPC Classification: G06F

Claim Text:
1. A system for executing a configured application, the system comprising: a first server comprising: a first memory; a first processor in communication with the first memory, wherein the first processor: receives credentials for a first user device; determines a redirect URI based on a first enterprise identifier contained in the credentials; sends the redirect URI to the first user device; a second server associated with the redirect URI, the second server comprising: a second memory; a second processor in communication with the second memory, wherein the second processor: provides a configuration framework for configuring a software application associated with a first enterprise identified by the first enterprise identifier, which software application is pre-existing; receives configuration changes associated with the configuration framework; provides the configuration changes to two or more user devices; receives data from at least one of the two or more user devices; stores the data in a database; distributes the data to the two or more user devices; receives a first message from the first user device, wherein the first message is directed to the redirect URI, and wherein the first message includes credentials that include at least the first enterprise identifier; authenticates the first user device based at least in part on the credentials sent with the first message; and in response to authenticating the first user device, sends a security key to the first user device; receives the first enterprise identifier in the credentials; from the first enterprise identifier, searches the database associated with the software application for data associated with the first enterprise identified by the first enterprise identifier; based on the first enterprise identifier, sends the database that was pre-built and associated with the first enterprise to the first user device; receives a second communication from the first user device at a second time, wherein the second communication includes a timestamp indicating the last time the database was updated; based on the timestamp, determines at least one change to the database since the last timestamp; creates a manifest describing the at least one change; and sends the manifest and the at least one change to the first user device.