US5828879A - Method and a scheduler for controlling when a server provides service to an entity - Google Patents
Method and a scheduler for controlling when a server provides service to an entity Download PDFInfo
- Publication number
- US5828879A US5828879A US08/362,217 US36221794A US5828879A US 5828879 A US5828879 A US 5828879A US 36221794 A US36221794 A US 36221794A US 5828879 A US5828879 A US 5828879A
- Authority
- US
- United States
- Prior art keywords
- time
- entity
- server
- service
- virtual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/506—Constraint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
Definitions
- the present invention is related to a scheduler. More specifically, the present invention is related to a scheduler which allows an entity to receive service from a server before its finishing time.
- the scheduler will provide the users access to the server in a fair manner so that no user will experience an undue delay based on its needs.
- scheduler's have not necessarily been fair to users when the users have a significant divergence in their needs. Many times, either the user with the greatest needs is left waiting while the user with the lowest needs is being served by the server, and vice versa.
- the present invention is directed to meeting the needs of users so users having lower needs can be served at times when users of greater needs do not require service at a given time.
- the present invention pertains to a scheduler for controlling when N entities, where N is an integer ⁇ 1, are serviced by a server.
- the scheduler comprises a starting time memory having starting times s i of the N entities, where 1 ⁇ i ⁇ N and is an integer, and s i corresponds to the time the i'th entity requests service from the server.
- the scheduler is also comprised of a finishing time memory having finishing times f i of the N entities, where f i corresponds to the time the i'th entity should be serviced by the server.
- the scheduler is also comprised of a virtual clock that keeps track of time so the starting times s i and finishing times f i can be identified.
- the scheduler comprises a controller which chooses entities to receive service from the server in the order of the entities with an earliest finishing time f i and a starting time s i being serviced first, and then the entities with the earliest or latest starting time s i or having the highest or lowest id or rate if their finishing times are the same being serviced next at each given time.
- a controller which chooses entities to receive service from the server in the order of the entities with an earliest finishing time f i and a starting time s i being serviced first, and then the entities with the earliest or latest starting time s i or having the highest or lowest id or rate if their finishing times are the same being serviced next at each given time.
- the entities' finishing times are the same, then whatever protocol is desired to indicate which entity is to be provided to the server to be operated upon is the choice of the operator.
- the present invention pertains to a method of scheduling when a server provides service to entities.
- the method comprises the steps of requesting service from the server by N entities, where N ⁇ 1 and is an integer. Then there is the step of storing when each of the N entities starts requesting service and when each of the N entities should have received service. Next, there is the step of providing service to an entity of the N entities which has the earliest receive time and start time, unless there is more than one entity with the earliest receive time in which case the entity with the earliest start time receives service and possibly before its receive time.
- the present invention pertains to a scheduler for scheduling when N entities each of which has a weight w, where N is an integer ⁇ 1 and w is a real number, are served by a server.
- the scheduler is comprised of a starting time memory having starting times s i when the N entities request service, where 1 ⁇ i ⁇ N and is an integer, and s i is the time at which the i'th entity may next get service from the server.
- the scheduler is also comprised of a finishing time memory having finishing times f i when the N entities should be serviced, where f i is the time by which the i'th entity should be serviced by the server.
- the scheduler is also comprised of a virtual clock that keeps track of time V k where k>0 and is an integer and
- s Smin is the earliest start time s i of when an entity requests service from the server
- f Fmin is the earliest finish time of an entity waiting for service from the server
- V k-1 is the virtual time when the server last served an entity
- AW sum over all entities currently asking for service of w i , where w i is the i'th entity's weight
- P, X, T, Y and Z are real numbers.
- the scheduler is also comprised of a controller which chooses which entity is to be operated upon by the server in the order of the entity with an earliest finishing time f i and a start time s i receiving service first, and then the entities based on a predetermined criteria.
- the predetermined criteria can essentially be any type of tie-breaking procedure that the user wishes to apply such as earliest start time or id number, etc.
- the present invention pertains to a method for scheduling when a server provides service to entities.
- the method comprises the steps of identifying when a first entity requests service from the server.
- the present invention pertains to a scheduler for controlling when a server provides service to entities.
- the scheduler comprises a memory having times which are a function of when entities request service from the server.
- the scheduler is also comprised of a virtual clock that keeps track of time as a function of when entities request service from the server.
- the scheduler is also comprised of a controller which causes an entity to receive service from the server as a function of when the entity requests service from the server.
- FIG. 1 is a schematic representation of the present invention.
- FIGS. 2-11 are schematic representations of cells waiting for service from a server as a function of virtual time.
- FIGS. 12-20 are schematic representations of cells waiting for service from a server as a function of virtual time.
- FIG. 21 is a schematic representation of an ATM switch element.
- FIG. 22 is a flow chart of a method of scheduling when a server provides service to entities of the present invention.
- FIG. 23 a flow chart of an alternative method of scheduling when a server provides service to entities of the present invention.
- a scheduler 10 for controlling when N entities 12, where N is an integer ⁇ 1, are operated upon by a server 14.
- the scheduler 10 comprises a starting time memory, such as a priority queue 16, having starting times s i of the N entities, where 1 ⁇ i ⁇ N and is an integer, and s i corresponds to the time the i'th entity starts requesting service from the server 14.
- the scheduler 10 is also comprised of a finishing time memory, such as a priority queue 18, having finishing times f i of the N entities 12, where f i corresponds to the time the i'th entity should be operated upon by the server 14.
- the scheduler 10 is also comprised of a virtual clock 20 that keeps track of time so the starting times s i and finishing times f i can be identified. Additionally, the scheduler 10 comprises a controller 22 which provides entities service from the server 14 in the order of the entities with an earliest finishing time f i and a start time s i being operated upon first, and then the entities with the earliest or latest starting time s i or having the highest or lowest id or rate if their finishing times are the same being operated upon next at each given time. As is apparent from the latter, if the entities' finishing times are the same, then whatever protocol is desired to indicate which entity is to be provided to the server 14 to be operated upon is the choice of the operator.
- scheduler 10 can include an element pool 24 which is connected with the N entities 12 and receives elements from the N entities 12 to be operated upon by the server 14.
- the arrival times s i of elements then corresponds to the time elements from the i'th entity 12 arrives in the element pool 24 and the finishing times f i correspond to the time an element from the i'th entity 12 is to leave the element pool 24 and be operated upon by the server 14.
- the controller 22 transfers or chooses elements to be operated upon by the server 14 from the element pool 24.
- the controller 22 is connected to the virtual clock 20, the element pool 24, the starting time priority queue 16 and the finishing time priority queue 18 for controlling time of the virtual clock 20, storing the elements in the element pool 24, and the arrival times s i and their finishing times f i in the starting time priority queue 16 and the finishing time priority queue, respectively.
- the controller 22 preferably operates upon entities or elements of the element pool 24 sequentially.
- the controller 22 causes the virtual clock 20 to move present virtual time forward when an entity receives service or an element leaves the element pool 24.
- the controller 22 can cause the virtual clock 20 to increment virtual time to the earliest starting time of an entity or an element if the earliest start time of an entity is later than virtual time, otherwise, the controller 22 causes the virtual clock 20 to increment virtual time by a unit of virtual time.
- the controller 22 transfers the element out of the element pool 24 which has the earliest finishing time f i and a starting time s i unless there is more than one element with the earliest finishing time f i , in which case, preferably, the element with the earliest starting time s i is transferred out of the element pool 24 by the controller 22 and before its finishing time f i .
- the present invention pertains to a scheduler 10 for scheduling when N entities each of which has a weight w, where N is an integer ⁇ 1 and w is a real number, are served by a server 14.
- the scheduler 10 is comprised of a starting time memory 16 having starting times s i when the N entities 12 request service, where 1 ⁇ i ⁇ N and is an integer, and s i is the time at which the i'th entity may next get service from the server 14.
- the scheduler 10 is also comprised of a finishing time memory 18 having finishing times f i when the N entities should be serviced, where f i is the time by which the i'th entity should be serviced by the server 14.
- the scheduler 10 is also comprised of a virtual clock 20 that keeps track of time V k where k ⁇ 0 and is an integer and
- s Smin is the earliest start time s i of when an entity requests service from the server 14
- f Fmin is the earliest finish time of an entity waiting for service from the server 14
- V k-1 is the virtual time when the server 14 last served an entity
- AW sum over all entities currently asking for service of w i , where w i is the i'th entity's weight
- P, X, T, Y and Z are real numbers.
- the scheduler 10 is also comprised of a controller which chooses which entity is to be operated upon by the server 14 in the order of the entity with an earliest finishing time f i and a start time s i receiving service first, and then the entities based on a predetermined criteria.
- the predetermined criteria can essentially be any type of tie-breaking procedure that the user wishes to apply such as earliest start time or id number, etc.
- “1" is used to represent the maximum rate of work of the server 14, so it makes no sense to give a single entry a weight which would be equal to greater than 100% of the capacity of the server 14).
- the sum of the weights of all entities will be less than or equal to 1 if the entities are not restricted as to how much work they can ask the server 14 to perform. This is equivalent to not allocating more than 100% of the server 14 capacity. If an entity is somehow restricted from asking for more than some fraction (say RS i ⁇ 1) of the server's capacity, then a more general statement is that the sum (over all entities) of MIN(w i , RS i ) should be less than 1.
- W sum over all entities of w i ##EQU1##
- s i is the time at which the i'th entity may next get service and f i is the time by which the i'th entity should be serviced.
- U i can be different than one based on the application. For instance, u i may not be equal to one in a packet based network.
- So f Fmin value of the finishing time of the entity with the smallest finishing time.
- So s Smin value of the starting time of the entity with the smallest starting time.
- V k indicates the k'th time that the server does work.
- Equation (1) is Equations (2) and (3) together.
- Equation (1) with ##STR1## is "Virtual Clock” (VC). See Zhang, L. (1989) "A new architecture for packet switching network protocols”. Report LCS TR 455, Laboratory for Computer Science, Massachusetts Institute of Technology. Cambridge, Mass., incorporated by reference.
- Equation (1) with ##STR2## is "Self-Clocked Fair Queueing" (SFQ). See "A Self-Clocked Fair Queueing Scheme for Broadband Applications” by S. J. Golestani, In Proc. IEEE Infocom, May 1994, incorporated by reference.
- Equation (1) with ##STR3## is “approximately” “Weighted Fair Queueing” (WFQ). See “Analysis and Simulation of a Fair Queueing Algorithms” by A. Demers, S. Keshav, and S. Shenker; Internetworking: Research and Experience, Vol. 1, 3-26 (1990), incorporated by reference, and A. K. J. Parekh, A Generalized Processor Sharing Approach to Flow Control in Integrated Services Networks, Ph.D. Dissertation, Massachusetts Institute of Technology, Cambridge, Mass., February 1992, incorporated by reference.
- Equation (1) with ##STR4## is "Virtual Service Queueing" (VSQ) of the present invention.
- the present invention pertains to a method of scheduling when a server 10 operates on entities, as shown in FIG. 22.
- the method comprises the steps of requesting service of the server from N elements, where N>1 and is an integer.
- N the number of the N entities first requests service and when each of the N entities is to have received service from the server.
- step of providing service to an entity of the N entities which has the earliest receive time and a request time, unless there is more than one entity with the earliest receive time in which case the entity with the earliest request time receives service from the server.
- the controller 22 can cause the steps to be implemented.
- the present invention also pertains to a method for scheduling when a server 14 provides service to entities, as shown in FIG. 23.
- the method comprises the steps of identifying when an entity requests service from the server 14.
- the process for identifying when a first entity requests service from the server can include any technique or method for calculating when the first entity requests service from the server 14. This can include identifying when the request occurs by actually determining the time when the entity requests service from the server 14. Or, it can be calculated from when a previous entity has requested service from the server 14 and determined by some function or relationship when the entity requests service from the server 14. Or, it can be determined as a function of another entity which is currently receiving service from the server 14. Alternatively, the time when the first entity requests service can be identified from a time when the entity is to receive service from the server 14. For instance, start time plus 1/W i equals finish time.
- the identifying step can be part of a calculation where at some point in the overall process of identifying time for the server to provide service to the entity, the time when the entity requests service from the server is identified. Basically, the identifying step can be a conclusion to a process or as an interim step to a process.
- the entity preferably is a first entity which requests service from the server 14.
- the method for scheduling when a server 14 provides service to entities next comprises the step of providing service to an entity as a function of when the entity requests service from the server 14.
- the entity can be the first entity and it receives service from the server 14 as a function of when the first entity requests the service from the server 14. It is preferably when the first entity first requests service from the server 14 that is a basis for providing service to the first entity.
- the present invention pertains to a scheduler for controlling when a server provides service to entities.
- the scheduler comprises a memory, having times which are a function of when entities request service from the server 14.
- the scheduler 10 also comprises a virtual clock 20 that keeps track of time as a function of when entities request service from the server 14.
- the scheduler 10 comprises a controller 22 which causes an entity to receive service from the server 14 as a function of when the entity requests service from the server 14.
- the memory can be a starting time, such as a priority queue 16.
- a scheduler 10 will schedule when the users with cells will be served by the server 14.
- the scheduler 10 logs in the time a user first requests service from the server 14.
- the scheduler 10 also logs in the latest time the user should finish waiting for service from the server 14.
- the scheduler 10 records the start time and the finish time for each user that requests service from the server 14. This information is obtained from the user and from the virtual clock 20 identifying when the user has first started waiting for the service from the server 14. This can occur by the entity sending a signal to the server 14 or the scheduler 10 when it requests service; or by the scheduler 10 or the server 14 using a sensor, or trigger to identify when the entity is requesting service.
- This aspect of the invention can be similar to how a telecommunications switch operates to switch signals which arrive at the switch from several connections, as is well known in the art.
- the scheduler 10 determines which user of the users waiting for service from the server 14 has the earliest finishing time. The user with the earliest finishing time is then provided service by the server 14 and the user's cell is operated upon by the server 14. If the users have the same finishing time, then the server looks at which user has the earliest start time and provides service to the user with the earliest start time. The scheduler 10 causes the user to receive service from a server 14 even though its time to finish waiting for service may not as yet have occurred.
- the scheduler 10 looks for the next user to receive service from the server 14.
- a user that has a high rate will receive service from the server 14 more often than a user with a lower rate.
- the scheduler 10 is not controlled by the user receiving service from the server 14 when its finish time occurs, users with lower rates can receive service from the server 14 intermittently when the server 14 is not providing service to a higher rate.
- the server 14 is controlled by the fact that over a given unit cycle of operation, it has certain service capability, and that all the rates of the different users combine to equal that unit rate for the cycle, then over the course of a cycle, each user will have service provided by the server 14.
- each user A-E has a cell which arrives for service from a server 14.
- a cell from user B arrives to receive service from server 14.
- the server 14 provides service to the cell from user D since all the cells waiting for service have the same finish time but the cell from user D has a start time of 0, which is as early as a cell from user E but earlier than the cell from user B. See FIG. 7.
- a cell from user A arrives for service from server 14.
- the server 14 provides service to the cell from user A since the cell has the earliest finish time of the cells waiting for service from server 14. See FIG. 8.
- a cell from user A arrives for service from the server 14.
- the cycle then repeats itself as described above.
- a cell from user A arrives for service from the server 14.
- the virtual time is advanced by one increment to the earliest starting time of a cell that requires service from the server 14.
- a cell from user A arrives for service from the server 14.
- a cell from user B arrives for service from server 14.
- the server from server 14 provides service to the cell from user B since the cell from user B has the earliest finish time of any cell waiting for service from server 14. See FIG. 17.
- the virtual time is incremented to the next virtual time that corresponds to the earliest start time that a cell would require service from the server 14.
- a cell from user A arrives for service from server 14.
- the server 14 provides service to the cell from user A because it has the earliest finish time. See FIG. 18.
- the virtual time is incremented by two units in this instance.
- a cell from user A arrives for service from the server 14.
- Server 14 provides service to the cell from user A since it has the earliest finish time. See FIG. 19.
- the virtual time is 0. Cells 000, 001 and 002, corresponding with the 0th, 1st, 2nd entities 12 of the 0th, 1st and 2nd users arrive at the element pool 24.
- the start time column user 0 has the second or last position in regard to when the cell 000 associated with the 0th user arrived in the element pool 24.
- there is a quantity Q identified in the column Q showing there is but 1 cell of user 0 in the element pool 24.
- the quantity Q of user 0 is now 0 since its corresponding cell has been operated upon by the server 14 and is no longer in the element pool 24.
- the finishing time priority queue 18 also reflects the finishing queue of user 0 having a -1 in the element pool 24 since the cell associated with user 0 is no longer present in the element pool 24.
- the server can only operate on one cell at a time, only the cell of user 0, which has the earliest finishing time, is removed from the element pool 24.
- all the cells of user 0, 1 and 2 have arrived at the same starting time in the element pool 24, even though their weights may be different, they are ordered in the starting time priority queue 16 on the basis of highest user number to lowest user number, although essentially any scheme of ordering could be chosen.
- the virtual time is increased by one unit of virtual time --here 1000 (since the server 14 has just operated on a cell, the virtual time is increased by one unit of virtual time --here 1000) new cells from user 1, user 2 and user 3 arrive at the element pool 24.
- the quantity of cells associated with user 0 in the element pool 24 is then reduced by 1.
- an ATM switch element has one to N input connections 102 and one to M output connections 104, as shown in FIG. 21.
- ATM cells are received by the switch element 100 through the input connections 102.
- the switch element 100 operates on the cells and sends them on their way through output connections 104.
- a cell comes in over a specific input connection 102, it is placed in a pool 106, as is well known in the art, and informs the scheduler 108 of the switch element, as is well known in the art, of the presence of the cell in the corresponding pool 106.
- each input connection 102 can have its own unique pool 106 in which cells entering the switch element 102 are stored or there can be a common pool 106 in which all cells from each individual input connection 102 are stored until the server 110 of the switch element is ready to operate upon them.
- the scheduler 108 of the switch element 100 operates as described above except in the ATM context, the finish time is determined by the finish time identified in the scheduler for the cell as well as a bid value that has been provided by the cell in order to obtain service by the server 110 of the switch element 100.
- This use of a bid is well known in the art. See, for instance, "Gigabit Networking” by Craig Partridge, Addison Wesley, 1994; "ATM User Network Interface Specification, Version 3.0" by the ATM Forum, Prentice Hall, 1994; “Asynchronous Transfer Mode Networks: Performance Issues", by Raif O. Onvural, Artech House, Inc., Norwood, Mass. 1994, all of which are incorporated by reference.
Abstract
Description
V.sub.k =MAX((V.sub.k-1 +P)+(1*X)+((1/AW)*T), (S.sub.Smin *Y)+((f.sub.Fmin -S.sub.Smin)*Z)) where(.linevert split.P.linevert split.+.linevert split.T.linevert split..epsilon slash..linevert split.X.linevert split.)*(.linevert split.Y.linevert split.+.linevert split.Z.linevert split.)>0
V.sub.k =MAX((V.sub.k-1 +P)+(1*X)+((1/AW)*T), (S.sub.Smin *Y)+((f.sub.Fmin,S.sub.min)*Z)) where(.linevert split.P.linevert split.+.linevert split.T.linevert split.+.linevert split.X.linevert split.)*(.linevert split.Y+.linevert split.Z.linevert split.)>0(1)
V.sub.K =MAX(V.sub.k-1 +(1*X), (s.sub.Smin *Y)+((f.sub.min -s.sub.Smin)*Z)(2)
V.sub.i =MAX(V.sub.k-1 +((1/AW)*T), (s.sub.Smin *Y)+((f.sub.Fmin -s.sub.Smin)*Z)) where (.linevert split.T.linevert split.*(.linevert split.Y.linevert split.+.linevert split.Z.linevert split.)>0(3)
(S.sub.Smin *1)+((f.sub.Fmin -s.sub.Smin)*1)) or s.sub.Smin +f.sub.Fmin -s.sub.Smin or f.sub.Fmin
Claims (20)
V.sub.k =MAX((V.sub.k-1 +P)+(1*X)+((1/AW)*T), (s.sub.Smin *Y)+((f.sub.Fmin -s.sub.Smin)*Z)) wherein (|P|+|T"+|X|)*(|Y.vertline.+|Z|)>0
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/362,217 US5828879A (en) | 1994-12-22 | 1994-12-22 | Method and a scheduler for controlling when a server provides service to an entity |
US08/375,624 US5845115A (en) | 1994-12-22 | 1995-01-20 | Method and a scheduler for controlling when a server provides service with rate control to an entity |
CA002150966A CA2150966C (en) | 1994-12-22 | 1995-06-05 | Method and a scheduler for controlling when a server provides service to an entity |
CA002150967A CA2150967C (en) | 1994-12-22 | 1995-06-05 | Method and a scheduler for controlling when a server provides service with rate control to an entity |
US08/476,365 US5828878A (en) | 1994-12-22 | 1995-06-07 | Method and a scheduler for controlling when a server provides service with rate control to an entity |
JP29687795A JP4283899B2 (en) | 1994-12-22 | 1995-11-15 | Method and scheduler for controlling when server provides service to entity by rate control |
JP29678095A JP4263254B2 (en) | 1994-12-22 | 1995-11-15 | Method and scheduler for controlling when a server provides a service to an entity |
EP95309404A EP0721167A3 (en) | 1994-12-22 | 1995-12-22 | A method and a scheduler for controlling when a server provides service to an entity |
EP95309416A EP0721168A3 (en) | 1994-12-22 | 1995-12-22 | A method and a scheduler for controlling when a server provides service with rate control to an entity |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/362,217 US5828879A (en) | 1994-12-22 | 1994-12-22 | Method and a scheduler for controlling when a server provides service to an entity |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/375,624 Continuation-In-Part US5845115A (en) | 1994-12-22 | 1995-01-20 | Method and a scheduler for controlling when a server provides service with rate control to an entity |
Publications (1)
Publication Number | Publication Date |
---|---|
US5828879A true US5828879A (en) | 1998-10-27 |
Family
ID=23425176
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/362,217 Expired - Lifetime US5828879A (en) | 1994-12-22 | 1994-12-22 | Method and a scheduler for controlling when a server provides service to an entity |
US08/375,624 Expired - Lifetime US5845115A (en) | 1994-12-22 | 1995-01-20 | Method and a scheduler for controlling when a server provides service with rate control to an entity |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/375,624 Expired - Lifetime US5845115A (en) | 1994-12-22 | 1995-01-20 | Method and a scheduler for controlling when a server provides service with rate control to an entity |
Country Status (4)
Country | Link |
---|---|
US (2) | US5828879A (en) |
EP (1) | EP0721167A3 (en) |
JP (1) | JP4263254B2 (en) |
CA (1) | CA2150966C (en) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6088728A (en) * | 1997-06-11 | 2000-07-11 | Oracle Corporation | System using session data stored in session data storage for associating and disassociating user identifiers for switching client sessions in a server |
US6243751B1 (en) * | 1997-06-11 | 2001-06-05 | Oracle Corporation | Method and apparatus for coupling clients to servers |
US20020059436A1 (en) * | 2000-11-10 | 2002-05-16 | Masanori Kubo | Service provision method via a network and service provision system using the same |
US6393483B1 (en) * | 1997-06-30 | 2002-05-21 | Adaptec, Inc. | Method and apparatus for network interface card load balancing and port aggregation |
US6415328B1 (en) * | 1997-05-26 | 2002-07-02 | Koninklijke Philips Electronics N.V. | System for retrieving data in a video server |
US20030050954A1 (en) * | 1999-12-08 | 2003-03-13 | Tayyar Haitham F. | Weighted fair queuing scheduler |
US20040127215A1 (en) * | 2002-12-31 | 2004-07-01 | Shaw Venson M. | Delivery of network services |
US20050149932A1 (en) * | 2003-12-10 | 2005-07-07 | Hasink Lee Z. | Methods and systems for performing operations in response to detecting a computer idle condition |
US6925499B1 (en) * | 2001-12-19 | 2005-08-02 | Info Value Computing, Inc. | Video distribution system using disk load balancing by file copying |
US20060059228A1 (en) * | 2004-08-12 | 2006-03-16 | Oracle International Corporation | Capturing and re-creating the state of a queue when migrating a session |
US7039784B1 (en) * | 2001-12-20 | 2006-05-02 | Info Value Computing Inc. | Video distribution system using dynamic disk load balancing with variable sub-segmenting |
US20060184535A1 (en) * | 2005-02-11 | 2006-08-17 | Oracle International Corporation | Suspension and resuming of sessions |
US20070058547A1 (en) * | 2005-09-13 | 2007-03-15 | Viktors Berstis | Method and apparatus for a grid network throttle and load collector |
US20070094662A1 (en) * | 2005-10-24 | 2007-04-26 | Viktors Berstis | Method and apparatus for a multidimensional grid scheduler |
US20070094002A1 (en) * | 2005-10-24 | 2007-04-26 | Viktors Berstis | Method and apparatus for grid multidimensional scheduling viewer |
US20070118839A1 (en) * | 2005-10-24 | 2007-05-24 | Viktors Berstis | Method and apparatus for grid project modeling language |
US7502824B2 (en) | 2004-08-12 | 2009-03-10 | Oracle International Corporation | Database shutdown with session migration |
US20100318570A1 (en) * | 2009-06-15 | 2010-12-16 | Oracle International Corporation | Pluggable session context |
US20110038325A1 (en) * | 2009-08-13 | 2011-02-17 | Clear Wireless Llc | System and method for scheduling packets in a communication system |
US10191671B2 (en) | 2012-09-28 | 2019-01-29 | Oracle International Corporation | Common users, common roles, and commonly granted privileges and roles in container databases |
US10289617B2 (en) | 2015-12-17 | 2019-05-14 | Oracle International Corporation | Accessing on-premise and off-premise datastores that are organized using different application schemas |
US10303894B2 (en) | 2016-08-31 | 2019-05-28 | Oracle International Corporation | Fine-grained access control for data manipulation language (DML) operations on relational data |
US10387387B2 (en) | 2015-12-17 | 2019-08-20 | Oracle International Corporation | Enabling multi-tenant access to respective isolated data sets organized using different application schemas |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2305297A (en) * | 1997-03-19 | 1998-10-12 | Trintech Limited | A point-of-sale transaction processing system |
CN103729927A (en) * | 2013-12-16 | 2014-04-16 | 王美金 | Scheduling method and system for exempting bank client from waiting |
CN104091386B (en) * | 2014-06-02 | 2016-12-07 | 何文秀 | The method and system of banking flow processs based on computer and big data |
KR102133486B1 (en) | 2014-06-26 | 2020-07-13 | 구글 엘엘씨 | Optimized browser rendering process |
RU2659481C1 (en) * | 2014-06-26 | 2018-07-02 | Гугл Инк. | Optimized architecture of visualization and sampling for batch processing |
EP3161662B1 (en) | 2014-06-26 | 2024-01-31 | Google LLC | Optimized browser render process |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5142533A (en) * | 1991-03-28 | 1992-08-25 | Motorola, Inc. | Method for controlling the scheduling of multiple access to communication resources |
US5327558A (en) * | 1992-04-30 | 1994-07-05 | Motorola, Inc. | Method for asynchronous application communication |
US5404523A (en) * | 1993-11-10 | 1995-04-04 | Digital Equipment Corporation | Method of managing requests in a transaction processing system |
US5414845A (en) * | 1992-06-26 | 1995-05-09 | International Business Machines Corporation | Network-based computer system with improved network scheduling system |
US5428781A (en) * | 1989-10-10 | 1995-06-27 | International Business Machines Corp. | Distributed mechanism for the fast scheduling of shared objects and apparatus |
US5485579A (en) * | 1989-09-08 | 1996-01-16 | Auspex Systems, Inc. | Multiple facility operating system architecture |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4736318A (en) * | 1985-03-01 | 1988-04-05 | Wang Laboratories, Inc. | Data processing system having tunable operating system means |
US4745836A (en) * | 1985-10-18 | 1988-05-24 | Dannenberg Roger B | Method and apparatus for providing coordinated accompaniment for a performance |
US5187790A (en) * | 1989-06-29 | 1993-02-16 | Digital Equipment Corporation | Server impersonation of client processes in an object based computer operating system |
US5261099A (en) * | 1989-08-24 | 1993-11-09 | International Business Machines Corp. | Synchronous communications scheduler allowing transient computing overloads using a request buffer |
US5437039A (en) * | 1992-05-21 | 1995-07-25 | Intel Corporation | Servicing transparent system interrupts and reducing interrupt latency |
-
1994
- 1994-12-22 US US08/362,217 patent/US5828879A/en not_active Expired - Lifetime
-
1995
- 1995-01-20 US US08/375,624 patent/US5845115A/en not_active Expired - Lifetime
- 1995-06-05 CA CA002150966A patent/CA2150966C/en not_active Expired - Fee Related
- 1995-11-15 JP JP29678095A patent/JP4263254B2/en not_active Expired - Lifetime
- 1995-12-22 EP EP95309404A patent/EP0721167A3/en not_active Ceased
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485579A (en) * | 1989-09-08 | 1996-01-16 | Auspex Systems, Inc. | Multiple facility operating system architecture |
US5428781A (en) * | 1989-10-10 | 1995-06-27 | International Business Machines Corp. | Distributed mechanism for the fast scheduling of shared objects and apparatus |
US5142533A (en) * | 1991-03-28 | 1992-08-25 | Motorola, Inc. | Method for controlling the scheduling of multiple access to communication resources |
US5327558A (en) * | 1992-04-30 | 1994-07-05 | Motorola, Inc. | Method for asynchronous application communication |
US5414845A (en) * | 1992-06-26 | 1995-05-09 | International Business Machines Corporation | Network-based computer system with improved network scheduling system |
US5404523A (en) * | 1993-11-10 | 1995-04-04 | Digital Equipment Corporation | Method of managing requests in a transaction processing system |
Non-Patent Citations (10)
Title |
---|
"Comparison of Rate-Based Service Disciplines", Hui Zhang and Srinivasan Keshav, SIGCOMM '91 Conference. Communications, Architectures and Protocols, Zurich, Switzerland, 3-6 Sep. 1991, vol. 21, No. 4 ISSN 0146-4833, Computer Communication Review, Sep. 1991, USA, pp. 113-121, XP000260077. |
"Dynamic Scheduling of Hard Real-Time Task and Real-time Threads" by Karsten Schwan and Hongyi Zhou//Parallel and Distributed Processing 1990. |
"Dynamic Scheduling of Hard Real-Time Tasks and Real time Threads" Karsten Schwan et al, IEEE Symposium 1990, Dec. 9-13. |
"Fixed Priority Scheduling of Periodic Tasks with Varying Execution Priority", Harbour et al, Conference 1991, Dec. 4-6. |
"Virtual clocks and leaky buckets: flow control protocols for high-speed networks", Weinrib, A. et al., Protocols for High-Speed Networks, II. Proceedings of the IFIP WG. 6.1/WG 6.4 Second International Workshop, Palo Alto, CA, USA, 27-29 Nov. 1990, ISBN 0-444-88932-9, 1991, Amsterdam, Netherlands, North-Holland, Netherlands, pp. 3-15, XP002049062. |
Comparison of Rate Based Service Disciplines , Hui Zhang and Srinivasan Keshav, SIGCOMM 91 Conference. Communications, Architectures and Protocols, Zurich, Switzerland, 3 6 Sep. 1991, vol. 21, No. 4 ISSN 0146 4833, Computer Communication Review, Sep. 1991, USA, pp. 113 121, XP000260077. * |
Dynamic Scheduling of Hard Real Time Task and Real time Threads by Karsten Schwan and Hongyi Zhou//Parallel and Distributed Processing 1990. * |
Dynamic Scheduling of Hard Real Time Tasks and Real time Threads Karsten Schwan et al, IEEE Symposium 1990, Dec. 9 13. * |
Fixed Priority Scheduling of Periodic Tasks with Varying Execution Priority , Harbour et al, Conference 1991, Dec. 4 6. * |
Virtual clocks and leaky buckets: flow control protocols for high speed networks , Weinrib, A. et al., Protocols for High Speed Networks, II. Proceedings of the IFIP WG. 6.1/WG 6.4 Second International Workshop, Palo Alto, CA, USA, 27 29 Nov. 1990, ISBN 0 444 88932 9, 1991, Amsterdam, Netherlands, North Holland, Netherlands, pp. 3 15, XP002049062. * |
Cited By (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6415328B1 (en) * | 1997-05-26 | 2002-07-02 | Koninklijke Philips Electronics N.V. | System for retrieving data in a video server |
US6243751B1 (en) * | 1997-06-11 | 2001-06-05 | Oracle Corporation | Method and apparatus for coupling clients to servers |
US6088728A (en) * | 1997-06-11 | 2000-07-11 | Oracle Corporation | System using session data stored in session data storage for associating and disassociating user identifiers for switching client sessions in a server |
USRE41397E1 (en) * | 1997-06-30 | 2010-06-22 | Adaptec, Inc. | Method and apparatus for network interface card load balancing and port aggregation |
US6393483B1 (en) * | 1997-06-30 | 2002-05-21 | Adaptec, Inc. | Method and apparatus for network interface card load balancing and port aggregation |
US20030050954A1 (en) * | 1999-12-08 | 2003-03-13 | Tayyar Haitham F. | Weighted fair queuing scheduler |
US7194741B2 (en) * | 1999-12-08 | 2007-03-20 | Tayyar Haitham F | Weighted fair queuing scheduler |
US7461159B2 (en) * | 1999-12-08 | 2008-12-02 | Beckett Mining Llc | Weighted fair queuing scheduler |
US20070050773A1 (en) * | 1999-12-08 | 2007-03-01 | Tayyar Haitham F | Weighted fair queuing scheduler |
US20020059436A1 (en) * | 2000-11-10 | 2002-05-16 | Masanori Kubo | Service provision method via a network and service provision system using the same |
US7269637B2 (en) * | 2000-11-10 | 2007-09-11 | Fujitsu Limited | Service provision method via a network and service provision system using the same |
US6925499B1 (en) * | 2001-12-19 | 2005-08-02 | Info Value Computing, Inc. | Video distribution system using disk load balancing by file copying |
US7039784B1 (en) * | 2001-12-20 | 2006-05-02 | Info Value Computing Inc. | Video distribution system using dynamic disk load balancing with variable sub-segmenting |
US20040127215A1 (en) * | 2002-12-31 | 2004-07-01 | Shaw Venson M. | Delivery of network services |
US7945914B2 (en) * | 2003-12-10 | 2011-05-17 | X1 Technologies, Inc. | Methods and systems for performing operations in response to detecting a computer idle condition |
US20050149932A1 (en) * | 2003-12-10 | 2005-07-07 | Hasink Lee Z. | Methods and systems for performing operations in response to detecting a computer idle condition |
US7502824B2 (en) | 2004-08-12 | 2009-03-10 | Oracle International Corporation | Database shutdown with session migration |
US7415470B2 (en) | 2004-08-12 | 2008-08-19 | Oracle International Corporation | Capturing and re-creating the state of a queue when migrating a session |
US20060059228A1 (en) * | 2004-08-12 | 2006-03-16 | Oracle International Corporation | Capturing and re-creating the state of a queue when migrating a session |
US9176772B2 (en) | 2005-02-11 | 2015-11-03 | Oracle International Corporation | Suspending and resuming of sessions |
US20060184535A1 (en) * | 2005-02-11 | 2006-08-17 | Oracle International Corporation | Suspension and resuming of sessions |
US7995474B2 (en) | 2005-09-13 | 2011-08-09 | International Business Machines Corporation | Grid network throttle and load collector |
US20070058547A1 (en) * | 2005-09-13 | 2007-03-15 | Viktors Berstis | Method and apparatus for a grid network throttle and load collector |
US7853948B2 (en) | 2005-10-24 | 2010-12-14 | International Business Machines Corporation | Method and apparatus for scheduling grid jobs |
US8095933B2 (en) | 2005-10-24 | 2012-01-10 | International Business Machines Corporation | Grid project modeling, simulation, display, and scheduling |
US7784056B2 (en) | 2005-10-24 | 2010-08-24 | International Business Machines Corporation | Method and apparatus for scheduling grid jobs |
US7831971B2 (en) | 2005-10-24 | 2010-11-09 | International Business Machines Corporation | Method and apparatus for presenting a visualization of processor capacity and network availability based on a grid computing system simulation |
US20070094662A1 (en) * | 2005-10-24 | 2007-04-26 | Viktors Berstis | Method and apparatus for a multidimensional grid scheduler |
US20080249757A1 (en) * | 2005-10-24 | 2008-10-09 | International Business Machines Corporation | Method and Apparatus for Grid Project Modeling Language |
US20070094002A1 (en) * | 2005-10-24 | 2007-04-26 | Viktors Berstis | Method and apparatus for grid multidimensional scheduling viewer |
US20080229322A1 (en) * | 2005-10-24 | 2008-09-18 | International Business Machines Corporation | Method and Apparatus for a Multidimensional Grid Scheduler |
US20070118839A1 (en) * | 2005-10-24 | 2007-05-24 | Viktors Berstis | Method and apparatus for grid project modeling language |
US20100318570A1 (en) * | 2009-06-15 | 2010-12-16 | Oracle International Corporation | Pluggable session context |
US8549038B2 (en) | 2009-06-15 | 2013-10-01 | Oracle International Corporation | Pluggable session context |
US9495394B2 (en) | 2009-06-15 | 2016-11-15 | Oracle International Corporation | Pluggable session context |
US20110038325A1 (en) * | 2009-08-13 | 2011-02-17 | Clear Wireless Llc | System and method for scheduling packets in a communication system |
US10191671B2 (en) | 2012-09-28 | 2019-01-29 | Oracle International Corporation | Common users, common roles, and commonly granted privileges and roles in container databases |
US10289617B2 (en) | 2015-12-17 | 2019-05-14 | Oracle International Corporation | Accessing on-premise and off-premise datastores that are organized using different application schemas |
US10387387B2 (en) | 2015-12-17 | 2019-08-20 | Oracle International Corporation | Enabling multi-tenant access to respective isolated data sets organized using different application schemas |
US11151098B2 (en) | 2015-12-17 | 2021-10-19 | Oracle International Corporation | Enabling multi-tenant access to respective isolated data sets organized using different application schemas |
US10303894B2 (en) | 2016-08-31 | 2019-05-28 | Oracle International Corporation | Fine-grained access control for data manipulation language (DML) operations on relational data |
US11386221B2 (en) | 2016-08-31 | 2022-07-12 | Oracle International Corporation | Fine-grained access control for data manipulation language (DML) operations on relational data |
Also Published As
Publication number | Publication date |
---|---|
US5845115A (en) | 1998-12-01 |
JP4263254B2 (en) | 2009-05-13 |
CA2150966A1 (en) | 1996-06-23 |
EP0721167A2 (en) | 1996-07-10 |
CA2150966C (en) | 2002-05-21 |
JPH08272709A (en) | 1996-10-18 |
EP0721167A3 (en) | 1998-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5828879A (en) | Method and a scheduler for controlling when a server provides service to an entity | |
EP0721168A2 (en) | A method and a scheduler for controlling when a server provides service with rate control to an entity | |
US5859835A (en) | Traffic scheduling system and method for packet-switched networks | |
Stiliadis et al. | Rate-proportional servers: A design methodology for fair queueing algorithms | |
US7558278B2 (en) | Apparatus and method for rate-based polling of input interface queues in networking devices | |
Stiliadis et al. | Latency-rate servers: a general model for analysis of traffic scheduling algorithms | |
Sariowan et al. | SCED: A generalized scheduling policy for guaranteeing quality-of-service | |
Stiliadis et al. | A general methodology for designing efficient traffic scheduling and shaping algorithms | |
US7194741B2 (en) | Weighted fair queuing scheduler | |
US20090313350A1 (en) | Method for optimising the distribution of a service from a source to a plurality of clients in a network | |
Zukerman et al. | The DQDB protocol and its performance under overload traffic conditions | |
Shin et al. | Design and evaluation of real-time communication for fieldbus-based manufacturing systems | |
Lee et al. | Queueing system with multiple delay and loss priorities for ATM networks | |
Takagi et al. | Analysis of a discrete-time queueing system with time-limited service | |
JP3942237B2 (en) | Transfer rate controller and operation method | |
Malcolm et al. | Version selection schemes for hard real-time communications. | |
Landry et al. | Queueing study of a 3-priority policy with distinct service strategies | |
Altman et al. | Discrete time queues with delayed information | |
KR100333475B1 (en) | Rate proportional self-clocked fair queueing apparatus and method for high-speed packet-switched networks | |
Yamamoto et al. | MIRACLE-IV: multiple image recognition system aiming concept learning-intelligent vision | |
Hariri et al. | A hierarchical analysis approach for high performance computing and communication applications | |
Stiliadis et al. | Frame-based fair queueing: A new tra c scheduling algorithm for packet-switched networks | |
Kwak et al. | A new starting potential fair queuing algorithm with O (1) virtual time computation complexity | |
Ko et al. | Emulated weighted fair queueing algorithm for high-speed packet-switched networks | |
JPH118633A (en) | User oriented entry network design system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: FORE SYSTEMS, INC., PENNSYLVANIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BENNETT, JON C.R.;REEL/FRAME:007296/0459 Effective date: 19941213 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: MARCONI COMMUNICATIONS, INC., PENNSYLVANIA Free format text: CHANGE OF NAME;ASSIGNOR:FORE SYSTEMS, INC.;REEL/FRAME:012631/0641 Effective date: 20010418 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: MARCONI INTELLECTUAL PROPERTY ( RINGFENCE) INC., P Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MARCONI COMMUNICATIONS, INC.;REEL/FRAME:014675/0855 Effective date: 20031028 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: ERICSSON AB,SWEDEN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MARCONI INTELLECTUAL PROPERTY (RINGFENCE) INC.;REEL/FRAME:018047/0028 Effective date: 20060101 Owner name: ERICSSON AB, SWEDEN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MARCONI INTELLECTUAL PROPERTY (RINGFENCE) INC.;REEL/FRAME:018047/0028 Effective date: 20060101 |
|
FPAY | Fee payment |
Year of fee payment: 12 |