IP Library › Granted Patent US 10,911,530
Granted Patent B2
US 10,911,530 · App. 15/985,071 · Granted Feb 2, 2021

Content delivery method, virtual server management method, cloud platform, and system

Inventor: Zheng Liu (Shenzhen, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04L67/1031H04L29/08H04L67/1065H04L67/1097H04L67/2814H04L67/2842H04L67/288H04L67/2852
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,911,530
App. No.
15/985,071
Granted
Feb 2, 2021
Kind
B2
Abstract

A content delivery method and system, where the content delivery method includes receiving, by a first virtual server, a first request message from a content requester, where the first request message carries a first uniform resource locator (URL) of user-requested content, determining, by the first virtual server according to a cache list maintained by the first virtual server, that one of one or more storage servers managed by the first virtual server has cached the content corresponding to the first URL, and redirecting the first request message to a first storage server that is recorded in the cache list and that has cached the content corresponding to the first URL. A computation capability and a storage capability of a server cluster are separated, and content input/output (I/O) throughput performance is effectively improved.

Claims (78)

1. A content delivery method, applied to a content delivery system comprising a first virtual server and a second virtual server, and a first storage server and a second storage server, wherein the first virtual server manages the first storage server and the second storage server, and wherein the first virtual server is configured to execute the method, which comprises:

receiving, by the first virtual server, a first request message comprising a first uniform resource locator (URL) of user-requested content from a content requester;

determining, by the first virtual server according to a cache list maintained by the first virtual server, that one of the first storage server or the second storage server has cached the content corresponding to the first URL;

in response to determining that the first storage server has cached the content corresponding to the first URL, redirecting, by the first virtual server, the first request message to the first storage server recorded in the cache list having cached the content corresponding to the first URL, wherein the first request message instructs the first storage server to send the cached content corresponding to the first URL to the content requester;

receiving, by the first virtual server, a second request message comprising a second URL of user-requested content from the content requester;

determining, by the first virtual server according to the cache list, that neither the first storage server nor the second storage server caches the content corresponding to the second URL;

determining, by the first virtual server according to a consistent hashing algorithm, a second storage server configured to cache the content corresponding to the second URL; and

redirecting, by the first virtual server, the second request message to the second storage server, wherein the second request message instructs the second storage server to retrieve the user-requested content corresponding to the second URL and to send the retrieved user-requested content to the content requester.

2. The method of claim 1 , wherein before determining that one of the first storage server or the second storage server has cached the content corresponding to the first URL, the method further comprises determining, by the first virtual server according to the first URL carried in the first request message of the user-requested content, that the first virtual server processes the first URL.

3. The method of claim 1 , wherein before determining that neither the first storage server nor the second storage server caches the content corresponding to the second URL carried in the second request message, the method further comprises determining, by the first virtual server according to the second URL carried in the second request message of the user-requested content, that the first virtual server processes the second URL.

4. The method of claim 2 , further comprising:

receiving, by the first virtual server, a third request message carrying a third URL of user-requested content from the content requester;

determining, by the first virtual server according to the third URL carried in the third request message of the user-requested content, that the second virtual server processes the third URL; and

redirecting, by the first virtual server, the third request message to the second virtual server.

5. The method of claim 2 , wherein determining that the first virtual server processes the URL comprises:

computing, by the first virtual server according to the first URL carried in the first request message of the user-requested content, a hash value of the first URL;

obtaining, by the first virtual server, hash values of all partitions in a distributed database;

querying, by the first virtual server based on a consistent hashing algorithm according to the hash value of the first URL, for a partition corresponding to the first URL, wherein each of the storage servers in the content delivery system is divided into at least one partition; and

determining, according to a hash value of the partition corresponding to the first URL and a correspondence stored in the distributed database between a hash value of a partition and a hash value of a virtual server, that the first virtual server processes the first URL.

6. The method of claim 1 , wherein each of the storage servers in the content delivery system comprises at least one partition, and wherein after redirecting the second request message to the second storage server, the method further comprises:

updating, by the first virtual server, popularity information corresponding to the second URL;

determining, by the first virtual server according to the popularity information, that the content corresponding to the second URL needs to be cached;

determining, by the first virtual server, that a storage capacity of a partition corresponding to the second URL is not full; and

instructing, by the first virtual server, the second storage server to cache the content corresponding to the second URL into the partition corresponding to the second URL.

7. The method of claim 6 , wherein each partition corresponds to one virtual server, and wherein the method further comprises:

determining, by the first virtual server, that the storage capacity of the partition corresponding to the second URL is full;

determining, by the first virtual server, that a storage capacity of at least one of a plurality of partitions managed by the first virtual server is not full;

selecting, by the first virtual server, a partition whose storage capacity is not full;

instructing, by the first virtual server, the second storage server to cache the content corresponding to the second URL into the selected partition; and

adding, by the first virtual server, to a record of a cache queue, a hash value of the second URL, a hash value of the partition caching the content corresponding to the second URL, and the popularity information corresponding to the second URL.

8. The method of claim 6 , wherein each partition corresponds to one virtual server, and wherein the method further comprises:

determining, by the first virtual server, that the storage capacity of the partition corresponding to the second URL is full;

determining, by the first virtual server, that storage capacities of a plurality of partitions managed by the first virtual server are all full;

querying, by the first virtual server, a cache queue for a record whose popularity is lower than a first threshold; and

instructing, according to the cache queue, a storage server corresponding to a partition in the record to delete content corresponding to a URL in the record.

9. The method of claim 6 , wherein each partition has a plurality of hash values, wherein one hash value of each partition corresponds to one virtual server, and wherein after redirecting the second request message to the second storage server, the method further comprises:

receiving, by the first virtual server, notification information indicating that the partition is full when the storage capacity of the partition corresponding to the second URL is full, wherein the notification information is reported by the second storage server to which the partition belongs to a plurality of virtual servers managing the partition; and

sending, by the first virtual server, a deletion notification carrying a URL of content in a partition managed by the first virtual server and whose popularity is lower than a second threshold to the second storage server, wherein the deletion notification instructs the second storage server to determine, according to popularity information of the content corresponding to the URL carried in the deletion notification, whether to delete the content corresponding to the URL carried in the deletion notification.

10. A content delivery system, comprising a first virtual server, a second virtual server, and a first storage server, and a second storage server, wherein the first virtual server manages the first storage server and the second storage server, and wherein the first virtual server is configured to execute a content delivery method, which comprises:

receiving, by the first virtual server, a first request message carrying a first uniform resource locator (URL) of user-requested content from a content requester;

determining, by the first virtual server according to a cache list maintained by the first virtual server, that one of the first storage server or the second storage server has cached the content corresponding to the first URL;

in response to determining that the first storage server has cached the content corresponding to the first URL, redirecting, by the first virtual server, the first request message to the first storage server recorded in the cache list having cached the content corresponding to the first URL, wherein the first request message instructs the first storage server to send the cached content corresponding to the first URL to the content requester;

receiving, by the first virtual server, a second request message comprising a second URL of user-requested content from the content requester;

determining, by the first virtual server according to the cache list, that neither the first storage server nor the second storage server caches the content corresponding to the second URL;

determining, by the first virtual server according to the cache list, that neither the first storage server nor the second storage server caches the content corresponding to the second URL;

determining, by the first virtual server according to a consistent hashing algorithm, a second storage server configured to cache the content corresponding to the second URL; and

redirecting, by the first virtual server, the second request message to the second storage server, wherein the second request message instructs the second storage server to retrieve the user-requested content corresponding to the second URL and to send the retrieved user-requested content to the content requester.

11. The content delivery system of claim 1 , wherein before determining that one of the first storage server or the second storage server has cached the content corresponding to the first URL, the content delivery method further comprises determining, by the first virtual server according to the first URL carried in the first request message of the user-requested content, that the first virtual server processes the first URL.

12. The content delivery system of claim 11 , further comprising:

receiving, by the first virtual server, a third request message carrying a third URL of user-requested content from the content requester;

determining, by the first virtual server according to the third URL carried in the third request message of the user-requested content, that the second virtual server processes the third URL; and

redirecting, by the first virtual server, the third request message to the second virtual server.

13. The content delivery system of claim 11 , wherein determining that the first virtual server processes the URL comprises:

computing, by the first virtual server according to the first URL carried in the first request message of the user-requested content, a hash value of the first URL;

obtaining, by the first virtual server, hash values of all partitions in a distributed database;

querying, by the first virtual server based on a consistent hashing algorithm according to the hash value of the first URL, for a partition corresponding to the first URL, wherein each of the storage servers in the content delivery system is divided into at least one partition; and

determining, according to a hash value of the partition corresponding to the first URL and a correspondence stored in the distributed database between a hash value of a partition and a hash value of a virtual server, that the first virtual server processes the first URL.

14. The content delivery system of claim 10 , wherein each of the at least two storage servers in the content delivery system comprises at least one partition, and wherein after redirecting the second request message to the second storage server, further comprises:

determining, by the first virtual server, that a storage capacity of a partition corresponding to the second URL is not full; and

instructing, by the first virtual server, the second storage server to cache the content corresponding to the second URL into the partition corresponding to the second URL.

15. The content delivery system of claim 14 , wherein each partition corresponds to one virtual server, and further comprising:

determining, by the first virtual server, that the storage capacity of the partition corresponding to the second URL is full;

determining, by the first virtual server, that a storage capacity of at least one of a plurality of partitions managed by the first virtual server is not full;

selecting, by the first virtual server, a partition whose storage capacity is not full;

instructing, by the first virtual server, the second storage server to cache the content corresponding to the second URL into the selected partition; and

adding, by the first virtual server, to a record of a cache queue, a hash value of the second URL, a hash value of the partition caching the content corresponding to the second URL, and the popularity information corresponding to the second URL.

16. The content delivery system of claim 14 , wherein each partition corresponds to one virtual server, and further comprising:

determining, by the first virtual server, that the storage capacity of the partition corresponding to the second URL is full;

determining, by the first virtual server, that storage capacities of a plurality of partitions managed by the first virtual server are all full;

querying, by the first virtual server, a cache queue for a record whose popularity is lower than a first threshold; and

instructing, according to the cache queue, a storage server corresponding to a partition in the record to delete content corresponding to a URL in the record.

17. The content delivery system of claim 14 , wherein each partition has a plurality of hash values, wherein one hash value of each partition corresponds to one virtual server, and wherein after redirecting the second request message to the second storage server, further comprises:

receiving, by the first virtual server, notification information indicating that the partition is full when the storage capacity of the partition corresponding to the second URL is full, wherein the notification information is reported by the second storage server to which the partition belongs to a plurality of virtual servers managing the partition; and

sending, by the first virtual server, a deletion notification carrying a URL of content in a partition managed by the first virtual server and whose popularity is lower than a second threshold to the second storage server, wherein the deletion notification instructs the second storage server to determine, according to popularity information of the content corresponding to the URL carried in the deletion notification, whether to delete the content corresponding to the URL carried in the deletion notification.

18. The content delivery system of claim 13 , wherein determining that the first virtual server processes the URL further comprises:

computing, by a cloud platform, a hash value of each partition and a hash value of each virtual server;

determining, by the cloud platform, a virtual server corresponding to each partition; and

storing, by the cloud platform, a correspondence between a hash value of a partition and a hash value of a virtual server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2018
From: LIU, ZHENG
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 046878/0626 →
Priority Claims (1)
CN 2015 1 0808757 · Nov 20, 2015 · national
Continuity (2)
Continuation PCTCN2016094421 · Aug 10, 2016
Related Publication 20180278680A1 · Sep 27, 2018