IP Library Granted Patent US 11,256,858
Granted Patent B2
US 11,256,858 · App. 14/108,128 · Granted Feb 22, 2022

Third party assets merging for embedment into web pages

Inventor: Sriakhil Gogineni (San Francisco, CA)
Assignee: Airbnb, Inc.
G06F40/174G06F40/197G06Q30/0613G06F16/958
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,256,858
App. No.
14/108,128
Granted
Feb 22, 2022
Kind
B2
Abstract

An asset merging system generates a merge file containing assets from multiple party systems. The asset merging system receives the assets and determines whether any of the assets has changed versus previously received versions of the assets. If any of the received assets has changed, the asset merging system generates a merge file containing at least the most recent version of the changed assets. The asset merging system then communicates the merge file to a content delivery network (CDN) for serving to users requesting for content that uses the assets in the merge file.

Claims (49)

1. A computer system comprising:

a computer processor; and

a non-transitory computer-readable storage medium storing executable computer program instructions, the computer program instructions comprising instructions that when executed cause the computer processor to perform steps, comprising:

storing, by a first party system, a plurality of third party web page assets received from one or more third parties located at one or more third party web addresses, the plurality of third party web page assets configured to provide functionality to a web page operated by the first party system distinct from the one or more third parties;

periodically sending, by the first party system, requests for the plurality of third party web page assets to the one or more third parties located at the one or more third party web addresses, the requests for the plurality of third party web page assets sent at predetermined intervals of time;

receiving, by the first party system, one or more of the requested plurality of third party web page assets; and

responsive to receiving one or more of the requested plurality of third party web page assets, determining, by the first party system, a hash value for each of the received third party web page assets;

determining, by the first party system, whether one or more of the received third party assets differs from a stored version of that third party web page asset by comparing the determined hash value of an asset to a hash value of a stored version of the asset; and

responsive to determining that one or more of the received third party assets differ from a stored version of that third party web page asset:

determining, relative to a last request of the periodically sent requests, whether a requested third party web page asset of the last request is not received after a first threshold amount of time, and

responsive to determining that the requested third party web page asset of the last request is not received after the first threshold amount of time:

merging the received third party web page assets of the last request and a stored version of the third party web page asset that was not received into a merge file, and

storing, at a web address other than the one of the third parties web addresses and other than a web address of the first party system, the merge file, the web address accessible to clients requesting the web page operated by the first party system.

2. The system of claim 1 , wherein the plurality of third party web page assets include at least one of a script and a cascading style sheet computer code.

3. The system of claim 1 wherein the steps further comprise:

sending requests for third party assets to the plurality of third party sources periodically in time;

responsive to a request for a third party asset timing out, resending the request one or more times; and

responsive to a request for a specific third party asset timing out a threshold number of times, using a stored version of the third party asset as the current version of the third party asset.

4. The system of claim 1 , wherein the received third party assets include a plurality of assets associated with a first geographic location and a plurality of assets associated with a second geographic location, and wherein merging the assets into a consolidated file of third party assets comprises:

merging the third party assets associated with the first geographic location into a first merge file; and

merging the third party assets associated with the second geographic location into a second merge file.

5. The system of claim 4 , wherein storing the merge file comprises:

storing first merge file at a web address associated with the first geographic location; and

storing the second merge file at a web address associated with the second geographic location.

6. The system of claim 1 , wherein the request for each third party web page asset of the plurality of third party web page assets are concurrently sent at predetermined intervals of time.

7. The system of claim 1 , wherein the steps further comprise:

determine the intervals of time for sending the periodic requests for the plurality of third party web page assets based on a likelihood an asset of the plurality of third party web page assets has been modified.

8. A non-transitory computer readable storage medium storing instructions, the instructions, when executed by a processor, cause the processor to:

store, by a first party system, a plurality of third party web page assets received from one or more third parties located at one or more third party web addresses, the plurality of third party web page assets configured to provide functionality to a web page operated by the first party system distinct from the one or more third parties;

periodically send, by a first party system, requests for the plurality of third party web page assets to the one or more third parties located at the one or more third party web addresses, the requests for the plurality of third party web page assets sent at predetermined intervals of time;

receive, by the first party system, one or more of the requested plurality of third party web page assets;

responsive to receiving one or more of the requested plurality of third party web page assets, determine, by the first party system, a hash value for each of the received third party web page assets;

determine, by the first party system, whether one or more of the received third party assets differs from a stored version of that third party web page asset by comparing the determined hash value of an asset to a hash value of a stored version of the asset; and

responsive to determining that one or more of the received third party assets differ from a stored version of that third party web page asset:

determine, relative to a last request of the periodically sent requests, whether a requested third party web page asset of the last request is not received after a first threshold amount of time, and

responsive to determining that the requested third party web page asset of the last request is not received after the first threshold amount of time:

merge the received third party web page assets of the last request and a stored version of the third party web page asset that was not received into a merge file, and

store, at a web address other than the third parties web addresses and other than a web address of the first party system, the second merge file, the web address accessible to clients requesting the web page operated by the first party.

9. The non-transitory computer readable storage medium of claim 8 , wherein the plurality of third party web page assets include a script.

10. The non-transitory computer readable storage medium of claim 8 , wherein the plurality of third party web page assets include cascading style sheet computer code.

11. The non-transitory computer readable storage medium of claim 8 , wherein the instructions further cause the processor to:

responsive to a request for a third party asset timing out, resend the request one or more times.

12. The non-transitory computer readable storage medium of claim 11 , wherein the instructions further cause the processor to:

responsive to a request for a specific third party asset timing out a threshold number of times, use a stored version of the third party asset as the current version of the third party asset.

13. The non-transitory computer readable storage medium of claim 8 , wherein the instructions further cause the processor to:

responsive to the request for a specific third party asset timing out a threshold number of times, increase the amount of time until a next request for the third party asset is sent.

14. The non-transitory computer readable storage medium of claim 8 , wherein the request for each third party web page asset of the plurality of third party web page assets are concurrently sent at predetermined intervals of time.

15. The non-transitory computer readable storage medium of claim 8 , wherein the instructions further cause the processor to:

determine the intervals of time for sending the periodic requests for the plurality of third party web page assets based on a likelihood an asset of the plurality of third party web page assets has been modified.

Assignments (7)
RELEASE (REEL 054586 / FRAME 0033) Recorded Nov 1, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: AIRBNB, INC.
Reel/Frame 061825/0910 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 21, 2021
From: TOP IV TALENTS, LLC
To: AIRBNB, INC.
Reel/Frame 055997/0907 →
RELEASE OF SECURITY INTEREST Recorded Mar 8, 2021
From: CORTLAND CAPITAL MARKET SERVICES LLC
To: AIRBNB, INC.
Reel/Frame 055527/0531 →
SECURITY AGREEMENT Recorded Nov 19, 2020
From: AIRBNB, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054586/0033 →
FIRST LIEN SECURITY AGREEMENT Recorded Apr 21, 2020
From: AIRBNB, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC
Reel/Frame 052456/0036 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Apr 17, 2020
From: AIRBNB, INC.
To: TOP IV TALENTS, LLC, AS COLLATERAL AGENT
Reel/Frame 052433/0416 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2013
From: GOGINENI, SRIAKHIL
To: AIRBNB, INC.
Reel/Frame 031799/0149 →
Continuity (2)
Provisional Application 61910757 · Dec 2, 2013
Related Publication 20150154163A1 · Jun 4, 2015