IP Library Granted Patent US 11,314,840
Granted Patent B2
US 11,314,840 · App. 16/920,135 · Granted Apr 26, 2022

Thin-layer webpage cloning for off-line demonstration

Inventors: Jason Edward Smith (Lake Wells, FL); Ronald Clark Carey, Jr. (Alpharetta, GA); Jamie Smith (Winter Haven, FL)
Assignee: ADP, Inc.
G06F16/972G06F40/146G06F40/154G06F8/38
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,314,840
App. No.
16/920,135
Granted
Apr 26, 2022
Kind
B2
Abstract

A computer implemented method, computer system, and computer program product are provided for cloning a webpage. Webpage assets for a webpage are received. Using the webpage assets, the webpage is rendered for display within a graphical user interface of a webpage cloning system. Responsive to rendering the webpage, a thin-layer clone of the webpage as rendered for display in the graphical user interface is recorded. An off-line demonstration of the webpage is then generated from the thin-layer clone.

Claims (96)

1. A method for cloning a webpage, the method comprising:

receiving webpage assets for a webpage;

rendering the webpage within a graphical user interface of a webpage cloning system;

responsive to rendering the webpage, recording a thin-layer clone of the webpage as rendered in the graphical user interface, wherein the thin-layer clone comprises a document object model generated from the webpage assets;

locally storing the thin-layer clone; and

generating an off-line demonstration of the webpage from the thin layer clone, wherein generating the off-line demonstration comprises:

generating an initial view of the webpage;

receiving a user input interacting with an element of the webpage;

in response to the user input, recording a change to the document object model, wherein the change to the document object model produces a visual change to the webpage, and wherein recording the change to the document object model further comprises:

recording a sequence of changes to the document object model;

generating a timestamp for each change in the sequence of changes; and

generating an ordered collection for the sequence of changes, wherein the ordered collection enables the off-line demonstration to reproduce the visual change while respecting a time-duration of each change in the sequence as determined from the timestamps;

and

locally storing the change to the document object model separate from the thin-layer clone.

2. The method of claim 1 , wherein recording a change to the document object model further comprises:

storing a current state of the document object model into a page of a state machine;

storing a set of conditions to allow transition from the current state of the document object model to a new state of the document object model; and

storing the new state of the document object model into a new page of the state machine.

3. The method of claim 1 , wherein recording the change to the document object model further comprises:

recording an identity of an HTML element in the document object model;

recording an initial state of the HTML element prior to the change to the document object model; and

recording a changed state of the HTML element after to the change to the document object model.

4. The method of claim 3 , wherein recording a change to the document object model further comprises:

serializing the change into a JSON object; and

wherein locally storing the change further comprises:

locally storing the JSON object in association with an identifier that is unique to the JSON object.

5. The method of claim 4 , wherein generating an off-line demonstration of the webpage further comprises:

linking the HTML element of the document object model to the JSON object, wherein a user interaction with the HTML element in the off-line demonstration reproduces the visual change in the off-line demonstration.

6. The method of claim 5 , wherein generating an off-line demonstration of the webpage further comprises:

generating a wire-up, wherein the wire-up is a data object linking a visual element in the thin-layer clone, a user action, and an action to be performed in response to the user action; and

locally storing the wire-up.

7. A webpage cloning system comprising:

a computer system; and

a thin-layer cloning document verifier in the computer system, wherein the thin-layer cloning document verifier operates to:

receive webpage assets for a webpage;

render the webpage within a graphical user interface of a webpage cloning system;

responsive to rendering the webpage, record a thin-layer clone of the webpage as rendered in the graphical user interface, wherein the thin-layer clone comprises a document object model generated from the webpage assets;

locally store the thin-layer clone; and

generate an off-line demonstration of the webpage from the thin layer clone, wherein generating the off-line demonstration comprises operations to:

generate an initial view of the webpage;

receive a user input interacting with an element of the webpage;

in response to the user input, record a change to the document object model, wherein the change to the document object model produces a visual change to the webpage, and wherein recording the change to the document object model further comprises operations to:

record a sequence of changes to the document object model;

generate a timestamp for each change in the sequence of changes; and

generate an ordered collection for the sequence of changes, wherein the ordered collection enables the off-line demonstration to reproduce the visual change while respecting a time-duration of each change in the sequence as determined from the timestamps;

and

locally store the change to the document object model separate from the thin-layer clone.

8. The webpage cloning system of claim 7 , wherein recording a change to the document object model, the thin-layer cloning document verifier further operates to:

store a current state of the document object model into a page of a state machine;

store a set of conditions to allow transition from the current state of the document object model to a new state of the document object model; and

store the new state of the document object model into a new page of the state machine.

9. The webpage cloning system of claim 7 , wherein in recording the change to the document object model, the thin-layer cloning document verifier further operates to:

record an identity of an HTML element in the document object model;

record an initial state of the HTML element prior to the change to the document object model; and

record a changed state of the HTML element after to the change to the document object model.

10. The webpage cloning system of claim 9 , wherein in recording a change to the document object model, the thin-layer cloning document verifier further operates to:

serialize the change into a JSON object; and

wherein in locally storing the change, the thin-layer cloning document verifier further operates to:

locally store the JSON object in association with an identifier that is unique to the JSON object.

11. The webpage cloning system of claim 10 , wherein in generating an off-line demonstration of the webpage, the thin-layer cloning document verifier further operates to:

link the HTML element of the document object model to the JSON object, wherein a user interaction with the HTML element in the off-line demonstration reproduces the visual change in the off-line demonstration.

12. The webpage cloning system of claim 11 , wherein generating an off-line demonstration of the webpage, the thin-layer cloning document verifier further operates to:

generate a wire-up, wherein the wire-up is a data object linking a visual element in the thin-layer clone, a user action, and an action to be performed in response to the user action; and

locally store the wire-up.

13. A computer program product for cloning a webpage, the computer program product comprising:

a computer readable storage media;

program code, stored on the computer readable storage media, for receiving webpage assets for a webpage;

program code, stored on the computer readable storage media, for rendering the webpage within a graphical user interface of a webpage cloning system;

program code, stored on the computer readable storage media, for recording a thin-layer clone of the webpage as rendered in the graphical user interface in response to rendering the webpage, wherein the thin-layer clone comprises a document object model generated from the webpage assets;

program code, stored on the computer readable storage media, for locally storing the thin-layer clone; and

program code, stored on the computer readable storage media, for generating an off-line demonstration of the webpage from the thin layer clone, wherein generating the off-line demonstration comprises:

program code, stored on the computer readable storage media, for generating an initial view of the webpage;

program code, stored on the computer readable storage media, for receiving a user input interacting with an element of the webpage;

program code, stored on the computer readable storage media, for recording a change to the document object model in response to the user input, wherein the change to the document object model produces a visual change to the webpage, and wherein recording the change to the document object model further comprises:

program code, stored on the computer readable storage media, for recording a sequence of changes to the document object model;

program code, stored on the computer readable storage media, for generating a timestamp for each change in the sequence of changes; and

program code, stored on the computer readable storage media, for generating an ordered collection for the sequence of changes, wherein the ordered collection enables the off-line demonstration to reproduce the visual change while respecting a time-duration of each change in the sequence as determined from the timestamps;

and

program code, stored on the computer readable storage media, for locally storing the change to the document object model separate from the thin-layer clone.

14. The computer program product of claim 13 , wherein the program code for recording a change to the document object model further comprises:

program code for storing a current state of the document object model into a page of a state machine;

program code for storing a set of conditions to allow transition from the current state of the document object model to a new state of the document object model; and

program code for storing the new state of the document object model into a new page of the state machine.

15. The computer program product of claim 13 , wherein the program code for recording the change to the document object model further comprises:

program code for recording an identity of an HTML element in the document object model;

program code for recording an initial state of the HTML element prior to the change to the document object model; and

program code for recording a changed state of the HTML element after to the change to the document object model.

16. The computer program product of claim 15 , wherein the program code for recording a change to the document object model further comprises:

program code for serializing the change into a JSON object; and

wherein the program code for locally storing the change further comprises:

program code for locally storing the JSON object in association with an identifier that is unique to the JSON object.

17. The computer program product of claim 16 , wherein the program code for generating an off-line demonstration of the webpage further comprises:

program code for linking the HTML element of the document object model to the JSON object, wherein a user interaction with the HTML element in the off-line demonstration reproduces the visual change in the off-line demonstration.

18. The computer program product of claim 17 , wherein the program code for generating an off-line demonstration of the webpage further comprises:

program code for generating a wire-up, wherein the wire-up is a data object linking a visual element in the thin-layer clone, a user action, and an action to be performed in response to the user action; and

program code for locally storing the wire-up.

Assignments (2)
CHANGE OF NAME Recorded Feb 4, 2022
From: ADP, LLC
To: ADP, INC.
Reel/Frame 058959/0729 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2020
From: SMITH, JASON EDWARD; CAREY, RONALD CLARK, JR; SMITH, JAMIE
To: ADP, LLC
Reel/Frame 053112/0661 →