IP Library Granted Patent US 10,924,449
Granted Patent B2
US 10,924,449 · App. 15/643,371 · Granted Feb 16, 2021

Internet protocol (IP) address assignment

Inventor: Tuomas Juhana Ranta (San Francisco, CA)
Assignee: Facebook, Inc.
H04L61/20G06Q30/0241G06Q50/01H04L61/2007H04L67/10H04L61/2061H04L61/609H04L61/6068H04L67/16H04W4/80H04W88/12
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 10,924,449
App. No.
15/643,371
Granted
Feb 16, 2021
Kind
B2
Abstract

In one embodiment, a method includes partitioning a block of Internet protocol (IP) addresses into one or more sets of IP addresses. The IP addresses of each set of IP addresses are continuously sequential and corresponds to a geographically-distributed Internet point of presence (PoP). Each of the IP addresses in the block corresponds to one of a number of global services. Each PoP supports one or more of the global services. The method also includes assigning a respective one of the sets of IP addresses to each PoP. A prefix of each set of IP addresses is fixed for each set of IP addresses. The method also includes partitioning each set of IP addresses into a number of subsets of IP addresses. One or more of the subsets of IP addresses each corresponds to a respective global service.

Claims (46)

1. A method comprising:

by a computing device, partitioning a block of Internet protocol (IP) addresses into one or more sets of continuously sequential IP addresses, wherein each set of IP addresses corresponds to a particular one of a plurality of geographically-distributed Internet points of presence (PoPs), wherein each of the IP addresses in the block corresponds to one of a plurality of global services, and wherein each of the plurality of PoPs delivers one or more of the global services from one of a plurality of geographic locations of the PoP;

by the computing device, assigning a respective one of the sets of continuously sequential IP addresses to each PoP, wherein a prefix of each set of continuously sequential IP addresses comprises a first portion that is fixed for all of the plurality of PoPs and a second portion that is unique for a particular PoP;

by the computing device, partitioning each set of IP addresses of each of the plurality of PoPs into a plurality of subsets of continuously sequential IP addresses, wherein one or more of the subsets of continuously sequential IP addresses each corresponds to a respective global service;

by the computing device, mapping a particular global service associated with two or more PoPs located at different geographic locations to a suffix range of continuously sequential IP addresses of the one or more of the subsets, wherein the suffix range of the continuously sequential IP addresses mapped to the particular global service is fixed across the two or more PoPs located at different geographic locations; and

by the computing device, assigning a price level to the suffix range of the continuously sequential IP addresses based on the mapped particular global service.

2. The method of claim 1 , wherein:

the prefix corresponds to a first 3 octets of each of the continuously sequential IP addresses;

the suffix range corresponds to a range of last octets of the continuously sequential IP addresses; and

each octet represents 8 bits of the continuously sequential IP address.

3. The method of claim 1 , further comprising, for at least one of the PoPs, classifying Internet traffic received at the PoP based at least in part on the suffix range of the continuously sequential IP addresses being accessed.

4. The method of claim 3 , wherein classifying Internet traffic comprises matching the suffix range of the continuously sequential IP addresses being accessed to a suffix range corresponding to one or more of the global services.

5. The method of claim 1 , wherein the plurality of global services comprises messaging, live video, or photo sharing.

6. The method of claim 1 , wherein at least one bit of at least one continuous sequential IP address is specified using a wildcard character.

7. The method of claim 1 , wherein the set of continuous sequential IP addresses conforms to an Internet protocol version 8 format.

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

partition a block of Internet protocol (IP) addresses into one or more sets of continuously sequential IP addresses, wherein each set of IP addresses corresponds to a particular one of a plurality of geographically-distributed Internet points of presence (PoPs), wherein each of the IP addresses in the block corresponds to one of a plurality of global services, and wherein each of the plurality of PoPs delivers one or more of the global services from one of a plurality of geographic locations of the PoP;

assign a respective one of the sets of continuously sequential IP addresses to each PoP, wherein a prefix of each set of continuously sequential IP addresses comprises a first portion that is fixed for all of the plurality of PoPs and a second portion that is unique for a particular PoP;

partition each set of IP addresses of each of the plurality of PoPs into a plurality of subsets of continuously sequential IP addresses, wherein one or more of the subsets of continuously sequential IP addresses each corresponds to a respective global service;

map a particular global service associated with two or more PoPs located at different geographic locations to a suffix range of continuously sequential IP addresses of the one or more of the subsets, wherein the suffix range of the continuously sequential IP addresses mapped to the particular global service is fixed across the two or more PoPs located at different geographic locations; and

assign a price level to the suffix range of the continuously sequential IP addresses based on the mapped particular global service.

9. The media of claim 8 , wherein:

the prefix corresponds to a first 3 octets of each of the continuously sequential IP addresses;

the suffix range corresponds to a range of last octets of the continuously sequential IP addresses; and

each octet represents 8 bits of the continuously sequential IP address.

10. The media of claim 8 , wherein the software is further operable to, for at least one of the PoPs, classify Internet traffic received at the PoP based at least in part on the suffix range of the continuously sequential IP addresses being accessed.

11. The media of claim 10 , wherein the software is further operable to match the suffix range of the continuously sequential IP addresses being accessed to a suffix range corresponding to one or more of the global services.

12. The media of claim 8 , wherein the plurality of global services comprises messaging, live video, or photo sharing.

13. The media of claim 8 , wherein at least one bit of at least one continuous sequential IP address is specified using a wildcard character.

14. The media of claim 8 , wherein the set of continuous sequential IP addresses conforms to an Internet protocol version 4 format.

15. 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:

partition a block of Internet protocol (IP) addresses into one or more sets of continuously sequential IP addresses, wherein each set of IP addresses corresponds to a particular one of a plurality of geographically-distributed Internet points of presence (PoPs), wherein each of the IP addresses in the block corresponds to one of a plurality of global services, and wherein each of the plurality of PoPs delivers one or more of the global services from one of a plurality of geographic locations of the PoP;

assign a respective one of the sets of continuously sequential IP addresses to each PoP, wherein a prefix of each set of continuously sequential IP addresses comprises a first portion that is fixed for all of the plurality of PoPs and a second portion that is unique for a particular PoP;

partition each set of IP addresses of each of the plurality of PoPs into a plurality of subsets of continuously sequential IP addresses, wherein one or more of the subsets of continuously sequential IP addresses each corresponds to a respective global service; and

map a particular global service associated with two or more PoPs located at different geographic locations to a suffix range of continuously sequential IP addresses of the one or more of the subsets, wherein the suffix range of the continuously sequential IP addresses mapped to the particular global service is fixed across the two or more PoPs located at different geographic locations; and

assign a price level to the suffix range of the continuously sequential IP addresses based on the mapped particular global service.

16. The system of claim 15 , wherein:

the prefix corresponds to a first 3 octets of each of the continuous sequential IP addresses;

the suffix range corresponds to a range of last octets of the continuously sequential IP addresses; and

each octet represents 8 bits of the continuously sequential IP address.

17. The system of claim 15 , wherein the processors are further operable to, for at least one of the PoPs, classify Internet traffic received at the PoP based at least in part on the suffix range of the continuously sequential IP addresses being accessed.

18. The system of claim 17 , wherein the processors are further operable to match the suffix range of the continuously sequential IP addresses being accessed to a suffix range corresponding to one or more of the global services.

19. The method of claim 1 , wherein the price level assigned to the suffix range of the continuously sequential IP addresses is used by a provider of a communication network for charging users sending requests to destination IP addresses that falls within the suffix range of the continuously sequential IP addresses.

20. The media of claim 8 , wherein the price level assigned to the suffix range of the continuously sequential IP addresses is used by a provider of a communication network for charging users sending requests to destination IP addresses that falls within the suffix range of the continuously sequential IP addresses.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2017
From: RANTA, TUOMAS JUHANA
To: FACEBOOK, INC.
Reel/Frame 043058/0326 →
Cited By (1)
US 12,537,793