IP Library Granted Patent US 11,036,921
Granted Patent B2
US 11,036,921 · App. 16/270,722 · Granted Jun 15, 2021

System, apparatus, and method for page composition

Inventors: Sean McCullough (San Francisco, CA); Adam Geitgey (Mountain View, CA)
Assignee: GROUPON, INC.
G06F40/14G06F16/958G06Q30/0245G06Q30/0251G06Q30/0255G06Q30/0269G06Q30/0641
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,036,921
App. No.
16/270,722
Granted
Jun 15, 2021
Kind
B2
Abstract

A system and related devices and methods facilitating orchestration of page composition based on performance of one or more portions of the page are disclosed herein. An exemplary system may comprise a first device and a second device. An exemplary method may comprise providing to a client device, a first portion of a requested page while waiting for one or more service calls required to render a second portion to return, and after a time at which the one or more service calls required to render the second portion return, providing the client device with the second portion, the one or more service calls required to render the second portion having a higher latency than any service calls required to render the first portion.

Claims (49)

1. A method for programmatically orchestrating page composition based on individual performance of a return of service calls related to one or more portions of the page resulting in prioritized rendering of the page, the method comprising:

receiving, via a communication module, from a client device, a page request;

calling a layout service to provide hyper-text markup language (HTML) information configured for providing the requested page, the HTML information comprising at least three parts, wherein one of the at least three parts is indicative of a first portion of the requested page, one of the at least three parts is indicative of a second portion of the requested page, one of the at least three parts is indicative of a third portion of the requested page,

wherein each of the at least three parts configured to be provided to a browser of the client device at a different associated time;

providing, via the communication module to the client device, the first portion of the requested page while waiting for one or more service calls required to render the second portion to return;

subsequent to providing, via the communication module to the client device, the first portion of the requested page and prior to one or more service calls required to render the second portion being returned, receiving, via the communication module, the HTML information configured for providing the third portion of the requested page;

waiting for the one or more service calls required to render the second portion to return;

after a time at which the one or more service calls required to render the second portion return, providing, via the communication module, the client device with the second portion, the one or more service calls required to render the second portion having a higher latency than any service calls required to render the first portion; and

providing, via the communication module, the client device with the third portion of the requested page, the third portion being provided after the second portion due to a dependency designation.

2. The method according to claim 1 , wherein each of the at least three parts comprised of associated performance characteristics.

3. The method according to claim 2 , wherein the time at which the one or more service calls required to render the second portion is a function of the associated performance characteristics of the part indicative of the second portion.

4. The method according to claim 1 , wherein

a location of the third portion is dependent on the first portion.

5. The method according to claim 1 , wherein

one or more service calls required to render the third portion having a higher latency than the one or more service calls required to render the second portion.

6. A device for programmatically orchestrating page composition based on individual performance of service calls related to one or more portions of the page resulting in prioritized rendering of the page, the device comprising:

a processor including one or more processing devices configured to perform independently or in tandem to execute hard-coded functions or execute software instructions;

a user interface;

a communications module; and

a memory comprising one or more volatile or non-volatile electronic storage devices storing computer-readable instructions configured to programmatically orchestrate page composition based on individual performance of service calls related to the portions of a requested page enabling prioritized rendering of the requested page, the computer-readable instructions being configured, when executed, to cause the processor to:

receive, via a communication module, from a client device, a page request;

call a layout service to provide hyper-text markup language (HTML) information configured for providing the requested page, the HTML information comprising at least three parts, wherein one of the at least three parts is indicative of a first portion of the requested page, one of the at least three parts is indicative of a second portion of the requested page, one of the at least three parts is indicative of a third portion of the requested page,

wherein each of the at least three parts configured to be provided to a browser of the client device at a different associated time;

provide to the client device, the first portion of the requested page while waiting for one or more service calls required to render the second portion to return;

subsequent to providing, via the communication module to the client device, the first portion of the requested page and prior to one or more service calls required to render the second portion being returned, receive, via the communication module, the HTML, information configured for providing the third portion of the requested page;

wait for the one or more service calls required to render the second portion to return;

after a time at which the one or more service calls required to render the second portion return, provide the client device with the second portion, the one or more service calls required to render the second portion having a higher latency than any service calls required to render the first portion; and

provide, via the communication module, the client device with the third portion of the requested page, the third portion being provided after the second portion due to a dependency designation.

7. The device according to claim 6 , wherein each of the at least three parts comprised of associated performance characteristics.

8. The device according to claim 7 , wherein the time at which the one or more service calls required to render the second portion is a function of the associated performance characteristics of the part indicative of the second portion.

9. The device of claim 6 , wherein

a location of the third portion is dependent on the first portion.

10. The device of claim 6 , wherein

one or more service calls required to render the third portion having a higher latency than the one or more service calls required to render the second portion.

11. A computer program product configured for programmatically orchestrating page composition based on individual performance of a return of service calls related to one or more portions of the page resulting in prioritized rendering of the page, the computer program product comprising at least one non-transitory computer-readable storage medium having computer-executable program code instructions stored therein, the computer-executable program code instructions comprising program code instructions for:

receiving, via a communication module, from a client device, a page request;

calling a layout service to provide hyper-text markup language (HTML) information configured for providing the requested page, the HTML information comprising at least three parts, wherein one of the at least three parts is indicative of a first portion of the requested page, one of the at least three parts is indicative of a second portion of the requested page, one of the at least three parts is indicative of a third portion of the requested page,

wherein each of the at least three parts configured to be provided to a browser of the client device at a different associated time;

providing, via the communication module to the client device, the first portion of the requested page while waiting for one or more service calls required to render the second portion to return;

subsequent to providing, via the communication module to the client device, the first portion of the requested page and prior to one or more service calls required to render the second portion being returned, receiving, via the communication module, the HTML, information configured for providing the third portion of the requested page;

waiting for the one or more service calls required to render the second portion to return;

after a time at which the one or more service calls required to render the second portion return, providing, via the communication module, the client device with the second portion, the one or more service calls required to render the second portion having a higher latency than any service calls required to render the first portion; and

providing, via the communication module, the client device with the third portion of the requested page, the third portion being provided after the second portion due to a dependency designation.

12. The computer program product according to claim 11 , wherein each of the at least three parts comprised of associated performance characteristics.

13. The computer program product according to claim 12 , wherein the time at which the one or more service calls required to render the second portion is a function of the associated performance characteristics of the part indicative of the second portion.

14. The computer program product according to claim 11 , wherein

a location of the third portion is dependent on the first portion.

15. The computer program product according to claim 11 , wherein

one or more service calls required to render the third portion having a higher latency than the one or more service calls required to render the second portion.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2024
From: GROUPON, INC.
To: BYTEDANCE INC.
Reel/Frame 068833/0811 →
RELEASE OF SECURITY INTEREST Recorded Feb 26, 2024
From: JPMORGAN CHASE BANK, N.A.
To: GROUPON, INC.; LIVINGSOCIAL, LLC (F/K/A LIVINGSOCIAL, INC.)
Reel/Frame 066676/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY RIGHTS Recorded Feb 26, 2024
From: JPMORGAN CHASE BANK, N.A.
To: GROUPON, INC.; LIVINGSOCIAL, LLC (F/K/A LIVINGSOCIAL, INC.)
Reel/Frame 066676/0251 →
SECURITY INTEREST Recorded Jul 23, 2020
From: GROUPON, INC.; LIVINGSOCIAL, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 053294/0495 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2019
From: MCCULLOUGH, SEAN; GEITGEY, ADAM
To: GROUPON, INC.
Reel/Frame 048274/0260 →