Content prioritization based on packet size

US9716635B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9716635-B2
Application numberUS-201213618710-A
CountryUS
Kind codeB2
Filing dateSep 14, 2012
Priority dateSep 14, 2012
Publication dateJul 25, 2017
Grant dateJul 25, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In one embodiment, a first computing device determines a number of data packets available to transmit from the first computing device to a second computing device. The determination is based on an available bandwidth and a payload capacity, and each of the data packets has a payload with the payload capacity. The first computing device determines a plurality of data items to transmit from the first computing device to the second computing device. The first computing device then ranks the data items and selects, based at least in part on the ranking of the data items and the payload capacities of the data packets, one or more particular ones of the data items to transmit from the first computing device to the second computing device in the data packets. The first computing device writes the particular ones of the data items to the payloads of the data packets.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: by a first computing device, determining one or more bandwidth constraints on a bandwidth of a communication channel between the first computing device and a second computing device; determining, by the first computing device, a number of data packets available to transmit from the first computing device to a second computing device, the determination based on the one or more bandwidth constraints and a payload capacity, each of the data packets having a payload with the payload capacity; by the first computing device, determining a plurality of data items to transmit from the first computing device to the second computing device; by the first computing device, determining, based on the one or more bandwidth constraints, whether to rank the data items; and when the items are determined to be ranked: by the first computing device, ranking each data item based at least on an affinity between a user and an originator of the data item in a social-networking system; by the first computing device, selecting, based at least in part on the ranking of the data items and the payload capacities of the data packets, one or more particular ones of the data items to transmit from the first computing device to the second computing device in the data packets; and by the first computing device, writing the particular ones of the data items to the payloads of the data packets. 2. The method of claim 1 , further comprising, for each of one or more of the data packets: by the first computing device, determining if the data packet has additional payload capacity for additional ones of the data items after writing the particular ones of the data items to the payloads of the data packets; by the first computing device, selecting, based at least in part on the ranking of the data items and the additional payload capacity of the data packet, one or more additional ones of the data items to transmit from the first computing device to the second computing device in the data packet; and by the first computing device, writing the additional ones of the data items to the payload of the data packet. 3. The method of claim 2 , wherein selecting, based at least in part on the ranking of the data items and the additional payload capacity of the data packet, one or more additional ones of the data items to transmit from the first computing device to the second computing device in the data packet comprises: determining a compressed size of the additional ones of the data items; and determining if the compressed size of the additional ones of the data items is less than the additional payload capacity of the data packet. 4. The method of claim 1 , wherein the first computing device is a server and the second computing device is a client. 5. The method of claim 4 , wherein the client is a mobile computing device. 6. The method of claim 5 , wherein determining a number of data packets available to transmit from the first computing device to a second computing device is based at least in part on activity of a user of the mobile computing device. 7. The method of claim 5 , wherein determining a number of data packets available to transmit from the first computing device to a second computing device is based at least in part on: a power state of the mobile computing device; or a radio network state of the mobile computing device. 8. The method of claim 5 , wherein ranking the data items is based at least in part on information associated with a social-networking system, and wherein a user of the mobile computing device is a user of the social-networking system. 9. The method of claim 1 , wherein the first computing device is a client and the second computing device is a server. 10. The method of claim 9 , wherein the client is a mobile computing device. 11. A first computing system comprising: a memory comprising instructions executable by one or more processors; and the one or more processors coupled to the memory and operable to execute the instructions, the one or more processors being operable when executing the instructions to: determine one or more bandwidth constraints on a bandwidth of a communication channel between the first computing device and a second computing device; determine a number of data packets available to transmit from the first computing device to a second computing device, the determination based on an available bandwidth, the one or more bandwidth constraints and a payload capacity, each of the data packets having a payload with the payload capacity; determine a plurality of data items to transmit from the first computing system to the second computing system; determine, based on the one more bandwidth constraints, whether to rank the data items; and when the items are determined to be ranked: rank each data item based at least on an affinity between a user and an originator of the data item in a social-networking system; select, based at least in part on the ranking of the data items and the payload capacities of the data packets, one or more particular ones of the data items to transmit from the first computing system to the second computing system in the data packets; and write the particular ones of the data items to the payloads of the data packets. 12. The system of claim 11 , the one or more processors further operable when executing the instructions to, for each of one or more of the data packets: determine if the data packet has additional payload capacity for additional ones of the data items after writing the particular ones of the data items to the payloads of the data packets; select, based at least in part on the ranking of the data items and the additional payload capacity of the data packet, one or more additional ones of the data items to transmit from the first computing system to the second computing system in the data packet; and write the additional ones of the data items to the payload of the data packet. 13. The system of claim 12 , wherein selecting, based at least in part on the ranking of the data items and the additional payload capacity of the data packet, one or more additional ones of the data items to transmit from the first computing system to the second computing system in the data packet comprises: determining a compressed size of the additional ones of the data items; and determining if the compressed size of the additional ones of the data items is less than the additional payload capacity of the data packet. 14. The system of claim 11 , wherein the first computing system is a server and the second computing system is a client. 15. The system of claim 14 , wherein the client is a mobile computing device. 16. The system of claim 15 , wherein determining a number of data packets available to transmit from the first computing system to a second computing system is based at least in part on activity of a user of the mobile computing device. 17. The system of claim 15 , wherein determining a number of data packets available to transmit from the first computing system to a second computing system is based at least in part on: a power state of the mobile computing device; or a radio network state of the mobile computing device. 18. The system of claim 15 , wherein ranking the data items is based at least in part on information associated with a social-networking system, and wherein a user of the mobile computing device is a user of the social-networking system. 19. The system of claim 11 , wherein the first computing system is a clien

Assignees

Inventors

Classifications

  • of the traffic information · CPC title

  • of the information or information source or recipient · CPC title

  • Flow control; Congestion control · CPC title

  • using assembly or disassembly of packets · CPC title

  • Wireless traffic scheduling · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9716635B2 cover?
In one embodiment, a first computing device determines a number of data packets available to transmit from the first computing device to a second computing device. The determination is based on an available bandwidth and a payload capacity, and each of the data packets has a payload with the payload capacity. The first computing device determines a plurality of data items to transmit from the f…
Who is the assignee on this patent?
Tal Eran, Schillings Benoit M, Toksvig Michael John Mckenzie, and 2 more
What technology area does this patent fall under?
Primary CPC classification H04L43/0882. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jul 25 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).