# US 11,907,257 B2 · System and method for duplicating an application state

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,907,257 B2
- Document ID: US11907257B2
- Status: Granted
- Kind: B2
- Application number: 17/958,974
- Filed: 2022-10-03
- Published: 2023-01-26
- Granted: 2024-02-20
- Earliest claimed: 2015-10-01
- Assignees: Royal Bank of Canada
- Applicants: Royal Bank of Canada
- Inventors: Philip Iannaccone; Walter Michael Pitio; James Brown
- Web page: https://patentgrep.com/patent/US11907257B2

## CPC

- G06F 9/451: Execution arrangements for user interfaces
- G06F 8/38: for implementing user interfaces
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A computer system and computer-implemented method for duplicating an application state are provided, the method including: recording one or more point-in-time characteristics generated by prior user inputs at one or more user interface elements, the one or more point-in-time characteristics associated with a first application state of a first application instance; transferring the one or more point-in-time characteristics to the provisioned memory resources for generating the second application state; generating a second application instance based on the one or more point-in-time characteristics; configuring the second application state based on the one or more point-in-time characteristics to duplicate the first application state of the first application instance; and storing the prior user inputs in a journal, wherein the journal is configured to enable reproduction of a state of a plurality of modified states of the first application instance.

## Claims

### Claim 1

A computer-implemented method for duplicating an application state, the method comprising:
recording one or more point-in-time characteristics generated by prior user inputs at one or more user interface elements, the one or more point-in-time characteristics associated with a first application state of a first application instance, the recording comprising:
parsing underlying code of the first application instance to identify the one or more point-in-time characteristics generated by the prior user inputs that led to the first application state; and
provisioning memory resources to support a second application state;
transferring the one or more point-in-time characteristics to the provisioned memory resources for generating the second application state;
storing the prior user inputs in a journal, wherein the journal is configured to enable reproduction of a respective application state based on each of a plurality of modified states of the first application instance, each respective application state from the plurality of modified states based on at least a subset of the one or more point-in-time characteristics generated by the prior user inputs;
generating, using at least one of the stored prior user inputs in the journal, a second application instance having the second application state based on a first subset of the one or more point-in-time characteristics;
configuring the second application state based on the first subset of the one or more point-in-time characteristics to duplicate the first application state of the first application instance; and
wherein the generated second application instance has a subset of state information from the first application state of the first application instance based on the first subset of the one or more point-in-time characteristics.

### Claim 2 (depends on 1)

The method of claim 1, wherein the recording of the one or more point-in-time characteristics comprises generating a uniform resource locator (URL) adapted to store at least (i) application information and (ii) one or more status information data elements;
wherein the recording comprises initiating a copy of the first application instance, wherein the application information is interpreted during the initiating to determine which application to initiate; and
wherein the one or more status information data elements are interpreted during the transferring to convey state information for the second application instance.

### Claim 3 (depends on 1)

The method of claim 1, wherein the first application instance includes at least one application subcomponent.

### Claim 4 (depends on 3)

The method of claim 3, wherein the application subcomponent consists of a component selected from the group comprising of Flash, Hypertext Markup Language 5 (HTML5), Asynchronous JavaScript and XML (AJAX), PHP; Hypertext Preprocessor (PHP), and ActiveX components.

### Claim 5 (depends on 1)

The method of claim 1, wherein the first application state is provided in relation to at least one of a group comprising a Sankey graph, a bubble graph, and a transaction view.

### Claim 6 (depends on 1)

The method of claim 1, wherein the first application state is hosted within a secure session, the method further comprising:
duplicating one or more security credentials from the first application state to the second application state of the second application instance.

### Claim 7 (depends on 1)

The method of claim 1, wherein at least one of the one or more point-in-time characteristics is representative of one or more customizations to one or more graph display components.

### Claim 8 (depends on 1)

The method of claim 1, wherein each of one or more point-in-time characteristics is representative of a corresponding plurality of one or more customizations to one or more graph display components.

### Claim 9 (depends on 1)

The method of claim 1, wherein each of the one or more point-in-time characteristics is updated periodically to match modifications to the first application state over a period of time.

### Claim 10 (depends on 2)

The method of claim 2, wherein the first application instance is associated with the URL to spawn the second application instance.

### Claim 11

A computer-implemented system configured for duplicating an application state, the system comprising:
a processor;
a memory coupled to the processor and storing processor readable instructions that, when executed, configure the processor to:
record one or more point-in-time characteristics generated by prior user inputs at one or more user interface elements, the one or more point-in-time characteristics associated with a first application state of a first application instance, the recording comprising:
parsing underlying code of the first application instance to identify the one or more point-in-time characteristics generated by the prior user inputs that led to the first application state; and
provisioning memory resources to support a second application state;
transfer the one or more point-in-time characteristics to the provisioned memory resources for generating the second application state;
store the prior user inputs in a journal wherein the journal is configured to enable reproduction of a respective application state based on each of a plurality of modified states of the first application instance, each respective application state from the plurality of modified states based on at least a subset of the one or more point-in-time characteristics generated by the prior user inputs;
generate, using at least one of the stored prior user inputs in the journal, a second application instance having the second application state based on a first subset of the one or more point-in-time characteristics;
configure the second application state based on the first subset of the one or more point-in-time characteristics to duplicate the first application state of the first application instance; and
wherein the generated second application instance has a subset of state information from the first application state of the first application instance based on the first subset of the one or more point-in-time characteristics.

### Claim 12 (depends on 11)

The system of claim 11, wherein the processor readable instructions, when executed, configure the processor to record the one or more point-in-time characteristics by generating a uniform resource locator (URL) adapted to store at least (i) application information and (ii) one or more status information data elements;
wherein the recording comprises initiating a copy of the first application instance, wherein the application information is interpreted during the initiating to determine which application to initiate; and
wherein the one or more status information data elements are interpreted during the transferring to convey state information for the second application instance.

### Claim 13 (depends on 11)

The system of claim 11, wherein the first application instance includes at least one application subcomponent.

### Claim 14 (depends on 13)

The system of claim 13, wherein the application subcomponent consists of a component selected from the group comprising of Flash, Hypertext Markup Language 5 (HTML5), Asynchronous JavaScript and XML (AJAX), PHP: Hypertext Preprocessor (PHP), and ActiveX components.

### Claim 15 (depends on 11)

The system of claim 11, wherein the first application state is provided in relation to at least one of a group comprising a Sankey graph, a bubble graph, and a transaction view.

### Claim 16 (depends on 11)

The system of claim 11, wherein the first application state is duplicated to a second device from the first application state that is hosted on a first device.

### Claim 17 (depends on 11)

The system of claim 11, wherein the first application state is hosted within a secure session, the processor readable instructions, when executed, configure the processor to:
duplicate the one or more security credentials from the first application state to the second application state of the second application instance.

### Claim 18 (depends on 11)

The system of claim 11, wherein each of the one or more point-in-time characteristics is representative of a corresponding plurality of one or more customizations to one or more graph display components.

### Claim 19 (depends on 11)

The system of claim 11, wherein each of the one or more point-in-time characteristics is updated periodically to match modifications to the first application state over a period of time.

### Claim 20

A computer-implemented non-transitory computer readable medium storing computer readable instructions, which when executed, cause a processor to perform:
recording one or more point-in-time characteristics generated by prior user inputs at one or more user interface elements, the one or more point-in-time characteristics associated with a first application state of a first application instance, the recording comprising:
parsing underlying code of the first application instance to identify the one or more point-in-time characteristics generated by the prior user inputs that led to the first application state; and
provisioning memory resources to support a second application state;
transferring the one or more point-in-time characteristics to the provisioned memory resources for generating the second application state;
storing the prior user inputs in a journal, wherein the journal is configured to enable reproduction of a respective application state based on each of a plurality of modified states of the first application instance, each respective application state from the plurality of modified states based on at least a subset of the one or more point-in-time characteristics generated by the prior user inputs;
generating, using at least one of the stored prior user inputs in the journal, a second application instance having the second application state based on a first subset of the one or more point-in-time characteristics;
configuring the second application state based on the first subset of the one or more point-in-time characteristics to duplicate the first application state of the first application instance; and
wherein the generated second application instance has a subset of state information from the first application state of the first application instance based on the first subset of the one or more point-in-time characteristics.
