IP Library › Granted Patent US 9,575,691
Granted Patent B2
US 9,575,691 · App. 14/932,628 · Granted Feb 21, 2017

Scheduling user requests in a distributed resource system having a plurality of schedulers and coordinators

Inventor: Huarong Zeng (Shenzhen, CN)
Assignee: Huawei Technologies Co., Ltd.
G06F3/067G06F3/0659G06F9/4881G06F9/5005H04L12/5693H04L12/5695H04L47/60H04L47/623
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,575,691
App. No.
14/932,628
Granted
Feb 21, 2017
Kind
B2
Abstract

According to a method for scheduling a user request in a distributed resource system, an apparatus, and a system that are provided by embodiments of the present invention, in a T n+1 period, an S d acquires, from a coordinator G k of a user z, a resource C z (T n ) that is consumed by a user z request in a T n period, and the S d schedules, according to φ z , C z (T n ), C z,d (T n ), and N z,d (T n ), a P i z,d by using a scheduling algorithm. The user z request can be scheduled without depending on a user agent. In addition, the S d schedules, according to φ z , C z (T n ), C z,d (T n ), and N z,d (T n ), the P i z,d by using the scheduling algorithm, thereby implementing global scheduling on the user z request and ensuring a performance requirement of the user z.

Claims (926)

1. A method for scheduling a user request in a distributed resource system, wherein the distributed resource system comprises schedulers S 1 , . . . S M , resource-providing entities R 1 , . . . R M , and coordinators G 1 . . . G y , wherein the S x , communicates with the R x , x is any one of consecutive natural numbers from 1 to M, and M≧2; Y is a natural number, M≧Y≧1; the G y communicates with any S x , y is any one of consecutive natural numbers from 1 to Y, G y is one of G 1 . . . G y ; and the method comprises:

acquiring, by an S d in a T n+1 period and from a coordinator G k of a user z, a resource C z (T n ) that is consumed by a user z request in a T n period, wherein

C

z

⁡

(

T

n

)

=

∑

x

=

1

M

⁢

⁢

C

z

,

x

⁡

(

T

n

)

;

d is any one of consecutive natural numbers from 1 to M , S d is one of schedulers S 1 , . . . S M which receives the user z request, n is a natural number, and k is one of consecutive natural numbers from 1 to Y; a resource weight of the user z is φ z ; C z,x (T n ) is a quantity of resources that are provided by the R x and consumed by N z,x (T n ) user z requests received by the S x , in the T n period; and z indicates an identifier of the user; and

computing, by the S d according to φ z , C z (T n ), C z,d (T n ), and N z,d (T n ), a virtual start time S(P i z,d ) and a virtual finish time F(P i z,d ) of the P i z,d and adding the P i z,d to a scheduling queue, wherein the scheduling queue ranks the user request according to a value of the virtual start time of the user request, wherein the P i z,d is the i th user z request received by the S d , and C z,d (T n ) is a quantity of resources that are provided by an R d and consumed by N z,d (T n ) user z requests received by the S d in the T n period.

2. The method according to claim 1 , wherein

S

⁡

(

P

z

,

d

i

)

=

max

⁢

{

v

⁡

(

P

z

,

d

i

)

,

F

⁡

(

P

z

,

d

i

-

1

)

}

,

F

⁡

(

P

z

,

d

i

)

=

S

⁡

(

P

z

,

d

i

)

+

c

⁡

(

P

z

,

d

i

)

ϕ

z

+

d

⁡

(

P

z

,

d

⁡

(

T

n

+

1

)

)

ϕ

z

,

and

⁢

⁢

d

⁡

(

P

z

,

d

⁡

(

T

n

+

1

)

)

=

C

z

⁡

(

T

n

)

-

C

z

,

d

⁡

(

T

n

)

N

z

,

d

⁡

(

T

n

)

,

wherein v(P i z,d ) indicates a virtual time of the S d when the S d receives the P i z,d , and c(P i z,d ) indicates a resource that is provided by the R d and consumed by the P i z,d .

3. The method according to claim 2 , wherein when either of C z (T n )−C z,d (T n ) and N z,d (T n ) is 0, d(P z,d (T n+1 ))=0.

4. The method according to claim 1 , wherein

S

⁡

(

P

z

,

d

i

)

=

max

⁢

{

v

⁡

(

P

z

,

d

i

)

,

F

⁡

(

P

z

,

d

i

-

1

)

+

d

⁡

(

P

z

,

d

⁡

(

T

n

+

1

)

)

ϕ

z

}

,

F

⁡

(

P

z

,

d

i

)

=

S

⁡

(

P

z

,

d

i

)

+

c

⁡

(

P

z

,

d

i

)

ϕ

z

,

and

⁢

⁢

d

⁡

(

P

z

,

d

⁡

(

T

n

+

1

)

)

=

C

z

⁡

(

T

n

)

-

C

z

,

d

⁡

(

T

n

)

N

z

,

d

⁡

(

T

n

)

,

wherein v(P i z,d ) indicates a virtual time of the S d when the S d receives the P i z,d , and c(P i z,d ) indicates a resource that is provided by the R d and consumed by the P i z,d .

5. The method according to claim 4 , wherein when either of C z (T n )−C z,d (T n ) and N z,d (T n ) is 0, d(P z,d (T n+1 ))=0.

6. The method according to claim 1 , wherein the G k is determined according to z % Y=k, wherein z % Y indicates z modulo Y.

7. The method according to claim 1 , wherein the G k is determined according to Hash(z) % Y=k, wherein Hash(z) indicates that z is computed by using a hash function, and Hash(z) % Y indicates a value obtained by computing z by using the hash function modulo Y.

8. A scheduler S d , wherein the scheduler S d is applied to a distributed resource system, and the distributed resource system comprises schedulers S 1 , . . . S M , resource-providing entities R 1 , . . . R M , and coordinators G 1 . . . G y , wherein the S x , communicates with the R x , the G y communicates with any S x , S d is one of schedulers S 1 , . . . S M which receives a user z request, n is a natural number, x is any one of consecutive natural numbers from 1 to M, and M≧2, Y is a natural number, M≧Y≧1, y is any one of consecutive natural numbers from 1 to Y; d is any one of consecutive natural numbers from 1 to M; G y is one of G 1 . . . G y , and z indicates an identifier of the user; the scheduler S d comprises a central processing unit and a memory, wherein the central processing unit executes an executable instruction in the memory, to perform the following steps:

acquiring, in a T n+1 period and from a coordinator G k of the user z, a resource C z (T n ) that is consumed by a user z request in a T n period, wherein

C

z

⁡

(

T

n

)

=

∑

x

=

1

M

⁢

⁢

C

z

,

x

⁡

(

T

n

)

;

k is one of consecutive natural numbers from 1 to Y; a resource weight of the user z is φ z ; C z,x (T n ) is a quantity of resources that are provided by the R x , and consumed by N z,x (T n ) user z requests received by the S x in the T n period; and

computing, by the S d according to φ z , C z (T n ), C z,d (T n ), and N z,d (T n ), a virtual start time S(P i z,d ) and a virtual finish time F(P i z,d ) of the P i z,d ; and adding the P i z,d to a scheduling queue, wherein the scheduling queue ranks the user request according to a value of the virtual start time of the user request, wherein the P i z,d is the i th user z request received by the S d , and C z,d (T n ) is a quantity of resources that are provided by an R d and consumed by N z,d (T n ) user z requests received by the S d in the T n period.

9. The scheduler S d according to claim 8 , wherein

S

⁡

(

P

z

,

d

i

)

=

max

⁢

{

v

⁡

(

P

z

,

d

i

)

,

F

⁡

(

P

z

,

d

i

-

1

)

}

,

F

⁡

(

P

z

,

d

i

)

=

S

⁡

(

P

z

,

d

i

)

+

c

⁡

(

P

z

,

d

i

)

ϕ

z

+

d

⁡

(

P

z

,

d

⁡

(

T

n

+

1

)

)

ϕ

z

,

and

⁢

⁢

d

⁡

(

P

z

,

d

⁡

(

T

n

+

1

)

)

=

C

z

⁡

(

T

n

)

-

C

z

,

d

⁡

(

T

n

)

N

z

,

d

⁡

(

T

n

)

,

wherein v(P i z,d ) indicates a virtual time of the S d when the S d receives the P i z,d , and c(P i z,d ) indicates a resource that is provided by the R d and consumed by the P i z,d .

10. The scheduler S d according to claim 9 , wherein when either of C z (T n )−C z,d (T n ) and N z,d (T n ) is 0, d(P z,d (T n+1 ))=0.

11. The scheduler S d according to claim 8 , wherein

S

⁡

(

P

z

,

d

i

)

=

max

⁢

{

v

⁡

(

P

z

,

d

i

)

,

F

⁡

(

P

z

,

d

i

-

1

)

+

d

⁡

(

P

z

,

d

⁡

(

T

n

+

1

)

)

ϕ

z

}

,

F

⁡

(

P

z

,

d

i

)

=

S

⁡

(

P

z

,

d

i

)

+

c

⁡

(

P

z

,

d

i

)

ϕ

z

,

and

⁢

⁢

d

⁡

(

P

z

,

d

⁡

(

T

n

+

1

)

)

=

C

z

⁡

(

T

n

)

-

C

z

,

d

⁡

(

T

n

)

N

z

,

d

⁡

(

T

n

)

,

wherein v(P i z,d ) indicates a virtual time of the S d when the S d receives the P i z,d , and c(P i z,d ) indicates a resource that is provided by the R d and consumed by the P i z,d .

12. The scheduler S d according to claim 9 , wherein when either of C z (T n )−C z,d (T n ) and N z,d (T n ) is 0, d(P z,d (T n+1 ))=0.

13. A distributed resource system, wherein the distributed resource system comprises schedulers S 1 , . . . S M , resource-providing entities R 1 , . . . R M , and coordinators G 1 . . . G y , wherein the S x communicates with the R x , x is any one of consecutive natural numbers from 1 to M, and M≧2; Y is a natural number, M≧Y≧1; the G y communicates with any S x , y is any one of consecutive natural numbers from 1 to Y, G y is one of G 1 . . . G y ;

a coordinator G k of a user z comprising a central processing unit and a memory is configured to provide, for a scheduler S d in a T n+1 period, a resource C z (T n ) that is consumed by a user z request in a T n period, wherein

C

z

⁡

(

T

n

)

=

∑

x

=

1

M

⁢

⁢

C

z

,

x

⁡

(

T

n

)

;

d is any one of consecutive natural numbers from 1 to M, S d is one of schedulers S 1 , . . . S M which receives the user z request, n is a natural number, and k is one of consecutive natural numbers from 1 to Y; a resource weight of the user z is φ z ; C z,x (T n ) is a quantity of resources that are provided by the R x and consumed by N z,x (T n ) user z requests received by the S x in the T n period; and z indicates an identifier of the user; and

the scheduler S d comprising a central processing unit and a memory is configured to compute a virtual start time S(P i z,d ) and a virtual finish time F(P i z,d ) of the P i z,d according to φ z , C z (T n ), C z,d (T n ), and N z,d (T n ), and add the P i z,d to a scheduling queue, wherein the scheduling queue ranks the user request according to a value of the virtual start time of the user request, wherein the P i z,d is the i th user z request received by the S d , and C z,d (T n ) is a quantity of resources that are provided by an R d and consumed by N z,d (T n ) user z requests received by the S d in the T n period.

14. The distributed resource system according to claim 13 , wherein

S

⁡

(

P

z

,

d

i

)

=

max

⁢

{

v

⁡

(

P

z

,

d

i

)

,

F

⁡

(

P

z

,

d

i

-

1

)

}

,

F

⁡

(

P

z

,

d

i

)

=

S

⁡

(

P

z

,

d

i

)

+

c

⁡

(

P

z

,

d

i

)

ϕ

z

+

d

⁡

(

P

z

,

d

⁡

(

T

n

+

1

)

)

ϕ

z

,

and

⁢

⁢

d

⁡

(

P

z

,

d

⁡

(

T

n

+

1

)

)

=

C

z

⁡

(

T

n

)

-

C

z

,

d

⁡

(

T

n

)

N

z

,

d

⁡

(

T

n

)

,

wherein v(P i z,d ) indicates a virtual time of the S d when the S d receives the P i z,d , and c(P i z,d ) indicates a resource that is provided by the R d and consumed by the P i z,d .

15. The distributed resource system according to claim 13 , wherein

S

⁡

(

P

z

,

d

i

)

=

max

⁢

{

v

⁡

(

P

z

,

d

i

)

,

F

⁡

(

P

z

,

d

i

-

1

)

+

d

⁡

(

P

z

,

d

⁡

(

T

n

+

1

)

)

ϕ

z

}

,

F

⁡

(

P

z

,

d

i

)

=

S

⁡

(

P

z

,

d

i

)

+

c

⁡

(

P

z

,

d

i

)

ϕ

z

,

and

⁢

⁢

d

⁡

(

P

z

,

d

⁡

(

T

n

+

1

)

)

=

C

z

⁡

(

T

n

)

-

C

z

,

d

⁡

(

T

n

)

N

z

,

d

⁡

(

T

n

)

,

wherein v(P i z,d ) indicates a virtual time of the S d when the S d receives the P i z,d , and c(P i z,d ) indicates a resource that is provided by the R d and consumed by the P i z,d .

16. A non-transitory computer readable storage medium, wherein the non-transitory computer readable storage medium stores a computer instruction that is used to perform user request scheduling in a distributed resource system, and the distributed resource system schedulers S 1 , . . . S M , resource-providing entities R 1 , . . . R M , and coordinators G 1 . . . G y , wherein the S x communicates with the R x , x is any one of consecutive natural numbers from 1 to M, and M≧2; Y is a natural number, ≧M≧Y1; the G y communicates with any S x , G y is one of G 1 . . . G y ; and a scheduler S d executes the computer instruction, to perform step of:

acquiring in a T n+1 period and from a coordinator G k of a user z, a resource C z (T n ) that is consumed by a user z request in a T n period, wherein

C

z

⁡

(

T

n

)

=

∑

x

=

1

M

⁢

⁢

C

z

,

x

⁡

(

T

n

)

;

d is any one of consecutive natural numbers from 1 to M , S d is one of schedulers S 1 , . . . S M which receives the user z request, n is a natural number, and k is one of consecutive natural numbers from 1 to Y; a resource weight of the user z is φ z ; c z,x (T n ) is a quantity of resources that are provided by the R x and consumed by N z,x (T n ) user z requests received by the S x in the T n period; and z indicates an identifier of the user; and

computing according to φ z , C z (T n ), C z,d (T n ), and N z,d (T n ), a virtual start time S(P i z,d ) and a virtual finish time F(P i z,d ) of the P i z,d ; and adding the P i z,d to a scheduling queue, wherein the scheduling queue ranks the user request according to a value of the virtual start time of the user request, wherein the P i z,d is the i th user z request received by the S d , and C z,d (T n ) is a quantity of resources that are provided by an R d and consumed by N z,d (T n ) user z requests received by the S d in the T n period.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2015
From: ZENG, HUARONG
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 036962/0539 →
Continuity (2)
Continuation PCTCN2014095381 · Dec 29, 2014
Related Publication 20160188367A1 · Jun 30, 2016