Method and apparatus for dynamic allocation of a messaging system resource
First Claim
1. In a first controller and in a second controller arranged for providing messaging service to, respectively, a first and a second load associated with, respectively, a first and a second subscriber population, a method of dynamically allocating a common resource between said first and said second load, the method including the steps of:
- accepting messages to provide said first and said second load at the first and the second controller respectively;
determining, at both said first and said second controller, a first and a second capacity requiremnent for said first and said second load at, respectively, said first and said second controller, where the first capacity requirement represents the expected amount of time required to deliver all messages representing the first load and where the second capacity requirement represents the expected amount of time required to deliver all messages representing the second load;
reporting, by the second controller, said second capacity requirement to said first controller and reporting, by the first controller, the first capacity requirement to the second controller;
allocating, at said first and said second controller respectively, using, at both said first and said second controller, both the first capacity requirement corresponding to said first load and the second capacity requirement corresponding to said second load, and using a common allocation algorithm at each of the first and second controller, a first and a second portion of said common resource to, respectively, said first and said second controller; and
scheduling, respectively, at the first and second controller, messages corresponding to, respectively, said first and said second load to, respectively, the first and the second subscriber population utilizing, respectively, said first and said second portion of said common resource.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and corresponding apparatus for a first controller (106) and implemented in a second controller (110), arranged for providing messaging service to, respectively, a first load (203) and a second load (205), to cooperatively and dynamically allocate a resource (207) between these loads. The method allocates a first and second default portions (221, 231) of the resource (207), and schedules messages from the first and the second load (203, 205) within these default portions (221, 231). Any unused part (243) of the default portions is reported to the other controller and it schedules messages from its load within the unused part (241), thereby dynamically allocating the resource (207) between the first and second load (203, 205).
-
Citations
19 Claims
-
1. In a first controller and in a second controller arranged for providing messaging service to, respectively, a first and a second load associated with, respectively, a first and a second subscriber population, a method of dynamically allocating a common resource between said first and said second load, the method including the steps of:
-
accepting messages to provide said first and said second load at the first and the second controller respectively;
determining, at both said first and said second controller, a first and a second capacity requiremnent for said first and said second load at, respectively, said first and said second controller, where the first capacity requirement represents the expected amount of time required to deliver all messages representing the first load and where the second capacity requirement represents the expected amount of time required to deliver all messages representing the second load;
reporting, by the second controller, said second capacity requirement to said first controller and reporting, by the first controller, the first capacity requirement to the second controller;
allocating, at said first and said second controller respectively, using, at both said first and said second controller, both the first capacity requirement corresponding to said first load and the second capacity requirement corresponding to said second load, and using a common allocation algorithm at each of the first and second controller, a first and a second portion of said common resource to, respectively, said first and said second controller; and
scheduling, respectively, at the first and second controller, messages corresponding to, respectively, said first and said second load to, respectively, the first and the second subscriber population utilizing, respectively, said first and said second portion of said common resource. - View Dependent Claims (2, 3, 4, 5)
defining a first and a second default portion of said resource for, respectively, said first controller and said second controller;
reverting to said first and said second default portion for a resource allocation when said step of reporting fails.
-
-
6. A first controller arranged to provide messaging service to a first load and to cooperate with a second controller arranged to provide messaging service to a second load so as to dynamically allocate a resource between said first and said second load, said first controller comprising in combination:
-
a network port for receiving messages to provide said first load where the first load represents a first volume of messages associated with a first subscriber population;
a memory, coupled to said network port, for storing a first default portion of said resource and for storing said first load;
a processor, coupled to said memory, for scheduling messages from said first load utilizing said first default portion and for determining a first capacity requirement for said first load at said first controller where the first capacity requirement represents the expected amount of time require to deliver all messages representing the first load; and
a controller interface, coupled to said processor, for reporting information corresponding to the first capacity requirement to the second controller and for receiving information corresponding to a second capacity requirement from the second controller where the second capacity requirement represents the expected amount of time required to deliver all messages representing the second load at the second controller;
said processor then allocating, at said first controller, using both the first capacity requirements corresponding to said first load and the second capacity requirements corresponding to said second load, and using an allocation algorithm, a first and a second portion of frames of said common resource to, respectively, said first and said second controller where the first portion allocated at the first controller is compatible with a second portion of the resource allocated at the second controller, and said processor then scheduling messages to the first subscriber population utilizing said first portion of said common resource. - View Dependent Claims (7, 8, 9)
-
-
10. In a first controller and in a second controller arranged for providing messaging service to, respectively, a first and a second load associated with, respectively, a first and a second subscriber population, a method of dynamically allocating a common resource between said first and said second load, the method including the steps of:
-
accepting messages to provide said first and said second loads at said first and said second controller respectively;
determining, at both said first and said second controller, a first and a second capacity requirement for said first and said second load at, respectively, said first and said second controller;
reporting, by the second controller, said second capacity requirement to said first controller;
allocating, at said first controller, using, at said first controller, both the first capacity requirements corresponding to said first load and the second capacity requirements corresponding to said second loads and using an allocation algorithm, said first and a second portion of said common resource to, respectively, said first and said second controller;
forwarding, by the first controller, information regarding said second portion of said common resource to said second controller; and
scheduling, respectively, at the first and second controller, messages corresponding to, respectively, said first and said second load to, respectively, the first and the second subscriber population utilizing, respectively, said first and said second portion of said common resource, wherein said step of reporting said second capacity requirement is responsive to a step of requesting, at said first controller, said second capacity requirement. - View Dependent Claims (11, 12, 13, 14)
defining a first and a second default portion of said resource for, respectively, said first controller and said second controller;
reverting to said first and said second default portion for a resource allocation if the reporting step fails.
-
-
15. In a first controller and in a second controller arranged for providing messaging service to, respectively, a first and a second load associated with, respectively, a first and a second subscriber population, a method of dynamically allocating a common resource between said first and said second load, the method including the steps of:
-
accepting messages to provide said first and said second loads at said first and said second controller respectively;
determining, at both said first and said second controller, a first and a second capacity requirement for said first and said second load at, respectively, said first and said second controller;
reporting, by the second controller, said second capacity requirement to said first controller;
allocating, at said first controller, using, at said first controller, both the first capacity requirements corresponding to said first load and the second capacity requirements corresponding to said second loads and using an allocation algorithm, a first and a second portion of said common resource to, respectively, said first and said second controller;
forwarding, by the first controller, information regarding said second portion of said common resource to said second controller; and
scheduling, respectively, at the first and second controller, messages corresponding to, respectively, said first and said second load to, respectively the first and the second subscriber population utilizing, respectively, said first and said second portion of said common resource, wherein said step of allocating uses a central allocation algorithm executed at said first controller to determine said first and said second portion of said resource, and wherein said second controller does not use an allocation algorithm. - View Dependent Claims (16, 17, 18, 19)
defining a first and a second default portion of said resource for, respectively, said first controller and said second controller;
reverting to said first and said second default portion for a resource allocation if the reporting step fails.
-
Specification