IP Library Granted Patent US 9,264,335
Granted Patent B2
US 9,264,335 · App. 14/497,031 · Granted Feb 16, 2016

Adaptive packaging of network resources

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 9,264,335
App. No.
14/497,031
Granted
Feb 16, 2016
Kind
B2
Abstract

In one embodiment, a method includes accessing a data store comprising a log of requests transmitted by a plurality of remote hosts, each request corresponding to one or more resources maintained by a web site; analyzing the requests and one or more attributes of the resources corresponding to the respective requests using a cost function relating to network performance, wherein a first component of the cost function is directed to a performance improvement achieved by grouping one or more of the resources for transmission to one or more remote hosts and a second component is directed to a performance inefficiency caused by grouping the one or more resources for transmission to the one or more remote hosts; and identifying one or more groupings of one or more resources that optimize the cost function for network performance.

Claims (56)

1. A method comprising:

accessing, by one or more computer servers, a first data store comprising a log of requests transmitted by a plurality of remote hosts, each request corresponding to one or more resources of a plurality of resources;

analyzing, by the computer servers, the requests and one or more attributes of the resources using a cost function, wherein a first component of the cost function is directed to a performance improvement achieved by grouping one or more of the resources for transmission to one or more remote hosts and a second component is directed to a performance inefficiency caused by the grouping the one or more of the resources;

identifying, by the computer servers, one or more groupings of the resources to be included in a package of resources; and

transmitting the package of resources in a single response to a request corresponding to at least one of the resources in the package.

2. The method of claim 1 , wherein combinations of resources that have been frequently requested together or frequently requested in general are analyzed to identify one or more groupings of resources to be included in a package of resources.

3. The method of claim 2 , wherein at least one of the combinations of resources that have been frequently requested together comprise resources associated with a social networking object.

4. The method of claim 1 , wherein a second data store comprises objects for interactive content items for display on a social-networking site, and wherein at least one of the identified groupings comprises resources associated with one of the objects.

5. The method of claim 1 , wherein a second data store comprises objects associated with a profile page or home page on a social-networking site, and wherein at least one of the identified groupings comprises resources associated with one of the objects.

6. The method of claim 1 , wherein a resource includes plain textual information, software, graphics, images, audio signals, or video.

7. The method of claim 1 , further comprising:

selecting all or a subset of the logged request data for all or a predetermined portion of all users of a social network.

8. The method of claim 7 , wherein the subset of data selected is associated with a specific window of time, or with a particular user or group of users during his, her, or their last N sessions, where N is greater or equal to 1.

9. The method of claim 7 , wherein a predetermined portion of users includes or consists of users of a particular geographic region, a particular demographic, a particular page, a particular feature, or any combination or sub-combination thereof.

10. The method of claim 1 , further comprising:

storing the one or more groupings in one or more computer-readable non-transitory tangible storage media; and

sending resources that are grouped together as one package to a client in response to a request.

11. The method of claim 10 , wherein the request is for a profile page or home page of a social-networking site, and wherein at least one of the groupings comprises a combination of resources included in the profile page or home page.

12. One or more computer-readable non-transitory storage media embodying software that is operable when executed by one or more processors to:

access, by one or more computer servers, a first data store comprising a log of requests transmitted by a plurality of remote hosts, each request corresponding to one or more resources of a plurality of resources;

analyze, by the computer servers, the requests and one or more attributes of the resources using a cost function, wherein a first component of the cost function is directed to a performance improvement achieved by grouping one or more of the resources for transmission to one or more remote hosts and a second component is directed to a performance inefficiency caused by the grouping the one or more of the resources;

identify, by the computer servers, one or more groupings of the resources to be included in a package of resources; and

transmit the package of resources in a single response to a request corresponding to at least one of the resources in the package.

13. The media of claim 12 , wherein combinations of resources that have been frequently requested together or frequently requested in general are analyzed to identify one or more groupings of resources to be included in a package of resources.

14. The media of claim 13 , wherein at least one of the combinations of resources that have been frequently requested together comprise resources associated with a social networking object.

15. The media of claim 12 , wherein a second data store comprises objects for interactive content items for display on a social-networking site, and wherein at least one of the identified groupings comprises resources associated with one of the objects.

16. The media of claim 12 , wherein a second data store comprises objects associated with a profile page or home page on a social-networking site, and wherein at least one of the identified groupings comprises resources associated with one of the objects.

17. The media of claim 12 , wherein a resource includes plain textual information, software, graphics, images, audio signals, or video.

18. The media of claim 12 , further comprising:

selecting all or a subset of the logged request data for all or a predetermined portion of all users of a social network.

19. The media of claim 18 , wherein the subset of data selected is associated with a specific window of time, or with a particular user or group of users during his, her, or their last N sessions, where N is greater or equal to 1 .

20. The media of claim 18 , wherein a predetermined portion of users includes or consists of users of a particular geographic region, a particular demographic, a particular page, a particular feature, or any combination or sub-combination thereof.

21. The media of claim 12 , further comprising:

storing the one or more groupings in one or more computer-readable non-transitory tangible storage media; and

sending resources that are grouped together as one package to a client in response to a request.

22. The media of claim 21 , wherein the request is for a profile page or home page of a social-networking site, and wherein at least one of the groupings comprises a combination of resources included in the profile page or home page.

23. A system comprising:

one or more processors; and

a memory coupled to the processors comprising instructions executable by the processors, the processors being operable when executing the instructions to:

access, by one or more computer servers, a first data store comprising a log of requests transmitted by a plurality of remote hosts, each request corresponding to one or more resources of a plurality of resources;

analyze, by the computer servers, the requests and one or more attributes of the resources using a cost function, wherein a first component of the cost function is directed to a performance improvement achieved by grouping one or more of the resources for transmission to one or more remote hosts and a second component is directed to a performance inefficiency caused by the grouping the one or more of the resources;

identify, by the computer servers, one or more groupings of the resources to be included in a package of resources; and

transmit the package of resources in a single response to a request corresponding to at least one of the resources in the package.

24. The system of claim 23 , the processors being further operable when executing the instructions to:

selecting all or a subset of the logged request data for all or a predetermined portion of all users of a social network.

25. The system of claim 24 , wherein the subset of data selected is associated with a specific window of time, or with a particular user or group of users during his, her, or their last N sessions, where N is greater or equal to 1.

26. The system of claim 24 , wherein a predetermined portion of users includes or consists of users of a particular geographic region, a particular demographic, a particular page, a particular feature, or any combination or sub-combination thereof.

27. The system of claim 23 , wherein combinations of resources that have been frequently requested together or frequently requested in general are analyzed to identify one or more groupings of resources to be included in a package of resources.

28. The system of claim 27 , wherein at least one of the combinations of resources that have been frequently requested together comprise resources associated with a social networking object.

29. The system of claim 23 , wherein a second data store comprises objects for interactive content items for display on a social-networking site, and wherein at least one of the identified groupings comprises resources associated with one of the objects.

30. The system of claim 23 , wherein a second data store comprises objects associated with a profile page or home page on a social-networking site, and wherein at least one of the identified groupings comprises resources associated with one of the objects.

31. The system of claim 23 , wherein a resource includes plain textual information, software, graphics, images, audio signals, or video.

32. The system of claim 23 , further comprising:

storing the one or more groupings in one or more computer-readable non-transitory tangible storage media; and

sending resources that are grouped together as one package to a client in response to a request.

33. The system of claim 32 , wherein the request is for a profile page or home page of a social-networking site, and wherein at least one of the groupings comprises a combination of resources included in the profile page or home page.

Assignments (1)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →