US6026425A - Non-uniform system load balance method and apparatus for updating threshold of tasks according to estimated load fluctuation - Google Patents
Non-uniform system load balance method and apparatus for updating threshold of tasks according to estimated load fluctuation Download PDFInfo
- Publication number
- US6026425A US6026425A US08/901,536 US90153697A US6026425A US 6026425 A US6026425 A US 6026425A US 90153697 A US90153697 A US 90153697A US 6026425 A US6026425 A US 6026425A
- Authority
- US
- United States
- Prior art keywords
- task
- threshold value
- value
- load
- threshold
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/5083—Techniques for rebalancing the load in a distributed system
Definitions
- the present invention relates to load balancing methods and apparatus used for a computer system in which plural nodes (computers, in practice) are connected with each other via a network and each node processes an input task (message).
- plural nodes computers, in practice
- each node processes an input task (message).
- nodes The computer systems in which plural computers (called “nodes”, hereinafter) are connected to each other via a network are classified into two types according to the manner in which each task is accepted: one is a centralized arrival system in which all tasks are accepted by a single node (called a "task acceptance node") and the accepted tasks are distributed from the task acceptance node to other nodes; the other type is a distributed arrival system in which a task arrives at any node and the node accepts the task.
- a centralized arrival system in which all tasks are accepted by a single node
- the accepted tasks are distributed from the task acceptance node to other nodes
- the other type is a distributed arrival system in which a task arrives at any node and the node accepts the task.
- load balancing methods There are also two types of load balancing methods: one is a centralized control method in which one node in the system has load balancing processing equipment and only the node (having the load balancing processing equipment) performs load balancing processes; the other type is a distributed control method in which each node in the system has load balancing processing equipment and each node performs load balancing processes.
- Japanese Patent Application, First Publication, No. Hei 7-152700 discloses a (performance-function uniform) system in which all nodes in the system are uniform in performance and functions, that is, possible functions to be processed are the same.
- the system load can be balanced just by equalizing the number of tasks in each node.
- processing times are different according to performance of each node; thus, the system load cannot be balanced just by equalizing the number of tasks of each node. If a load balancing method used for the performance-function uniform system is applied to such a "performance non-uniform" system, the following problems may occur.
- Task assignment in accordance with performance of each node is not performed. Therefore, even if there is a node with high performance has reserve ability to process tasks, a task may be assigned to a node having lower performance. That is, if tasks are assigned to nodes with high performance, response times could be shorter and consequently, the mean response time of the system could be minimized. However, the minimization cannot be realized for the above reason.
- tasks may be assigned to the nodes starting at a node with lower performance and progressing to a node with higher performance. In this case, nodes with high performance are not sufficiently used, thus the mean response time cannot be minimized.
- tasks are assigned to each node without distinguishing tasks belonging to functions which many nodes in the system can execute from tasks belonging to functions which fewer nodes can execute. Therefore, even if it is possible to assign a "task belonging to a function which many nodes can execute" to a node which cannot execute a "task belonging to a function which fewer nodes can execute", the task (belonging to a function which many nodes can execute) may be assigned to a node which can execute tasks of both types, and thus a task belonging to the former type (that is, a task belonging to a function which fewer nodes can execute) might circulate in the network while waiting to be processed. In this case, the response time increases.
- sender initiated As a conventional transfer algorithm, "sender initiated” and “receiver initiated” algorithms are known.
- the sender initiated algorithm is effective when the load of the entire system is low. However, if the load of the entire system becomes high, the mean response time increases and the system becomes unstable.
- the receiver initiated algorithm is effective when the load of the entire system is high. However, when the load of the entire system is low, the mean response time is larger than that of the sender initiated algorithm.
- information relating to loads of other nodes is not managed, and after the necessity of task transfer occurs, selection of a source or destination node is started. Therefore, it takes a lot of time before actual task transfer is started, that is, before the load is balanced.
- Another object of the present invention is to provide load balancing methods and apparatus which can effectively be applied to a performance non-uniform system consisting of nodes which are non-uniform in performance so as to balance the mean response times of the nodes and to realize minimization of the mean response time of the entire system.
- a further object of the present invention is to provide load balancing methods and apparatus which can effectively be applied to a function non-uniform system in which nodes are uniform in performance but non-uniform in executable functions so as to realize minimization of the mean response time of the entire system and minimization of the mean response time relating to each function.
- the present invention provides a load balancing method used for a computer system in which plural processing nodes are connected to a logical ring network and when each node processes a task input from a terminal by using a task processing unit and returns a result to the terminal, the logical ring network logically transmits tasks in turn and in one direction, said load balancing method for equally distributing loads of the entire system into the nodes in the system, comprising the steps of:
- the threshold value may be changed in accordance with a change of the number of tasks passing through the logical ring network during a fixed period, or when a round trip task is detected.
- a threshold step as an amount for changing the threshold value is updated based on a value with respect to performance of the node added or deleted;
- the present invention also provides a load balancing apparatus provided for a computer system similar to the above, said load balancing apparatus, provided between the task processing unit in each node and the logical ring network, for equally distributing loads of the entire system into the nodes in the system, the apparatus comprising:
- load estimating means for estimating a load of the present node based on the number of tasks being or waiting to be processed and for determining an estimated load value of the node
- threshold value storage means for holding a threshold value with respect to the number of tasks existing in the node so as to limit the load of the node
- task acceptance control means for accepting a task passing through the logical ring network, and comparing the estimated load value and the threshold value of the node every time the control means accepts a task, and for judging, based on a result of the comparison, whether the accepted task is handed over to the task processing unit, or is transmitted to the logical ring network again without handing over the task to the task processing unit.
- the above apparatus may further comprise threshold value setting means for setting the threshold value stored in the threshold value storage means.
- threshold value setting means for setting the threshold value stored in the threshold value storage means.
- threshold step setting means which updates the threshold step stored in the threshold step storage means when organization of the nodes in the computer system is modified by deleting or adding a node, based on a value with respect to performance of the node added or deleted;
- threshold step setting means which monitors all tasks passing through the logical ring network and estimates a load fluctuation of the entire computer system and a modification of organization of the nodes in the system in accordance with a change of the number of all passed tasks and with a change of the number of round trip tasks, and which updates the threshold step (stored in the threshold step storage means) based on a result of the estimate.
- Tasks are assigned to the nodes in the order of performance levels thereof regardless of the arrangement order of the nodes; thus, it is possible to make full use of high-performance nodes.
- the present invention also provides a storage medium storing a computer program for making a computer execute the above method.
- FIG. 1 is a diagram showing the configuration of a load balancing apparatus provided for a computer system, as an embodiment of the present invention.
- FIG. 2 is a diagram showing the configuration of a load balancing apparatus provided for a computer system, as another embodiment of the present invention.
- FIG. 3 is a block diagram showing the configuration of a load balancing apparatus provided for a computer system, as yet another embodiment of the present invention.
- FIG. 4 is a diagram showing an example of the arrangement with respect to the apparatuses of FIGS. 1-3.
- FIG. 5 is also a diagram showing an example of the arrangement with respect to the apparatuses as shown in FIGS. 1-3.
- FIGS. 6A and 6B are flowcharts of general operations of the load balancing apparatus as shown in FIG. 1.
- FIGS. 7A and 7B are flowcharts of general operations of the load balancing apparatus as shown in FIG. 2.
- FIGS. 8A and 8B are flowcharts of general operations of the load balancing apparatus as shown in FIG. 3.
- FIGS. 9A and 9B are flowcharts of the operational example 1 of the load estimating unit.
- FIGS. 10A-10D are flowcharts of the operational example 2 of the load estimating unit.
- FIGS. 11A-11D are flowcharts of the operational example 3 of the load estimating unit.
- FIGS. 12A and 12B are flowcharts of the operational example 1 of the task acceptance control unit.
- FIGS. 13A and 13B are flowcharts of the operational example 2 of the task acceptance control unit.
- FIGS. 14A-14D are flowcharts of the operational example 3 of the task acceptance control unit.
- FIGS. 15A-15D are flowcharts of the operational example 4 of the task acceptance control unit.
- FIGS. 16A and 16B are flowcharts of the operational example 1 of the threshold value setting unit.
- FIG. 17 is a flowchart of the operational example 2 of the threshold value setting unit.
- FIGS. 18A and 18B are flowcharts of the operational example 3 of the threshold value setting unit.
- FIG. 19 is a list showing examples for setting the threshold value based on combinations of the load fluctuation of the entire system and the detection situation of the round trip task.
- FIG. 20 is a block diagram showing an example of the centralized management system.
- FIG. 21 is a block diagram showing another example of the centralized management system.
- FIGS. 1-3 are diagrams showing structures of three examples of the load balancing apparatus 10 (i.e., 10A-10C) according to the present invention
- FIGS. 4 and 5 are diagrams showing examples of the arrangement with respect to these apparatuses. That is, the load balancing apparatus 10 is arranged between logical ring network 60B and each node (in the case shown in FIG. 4), or is arranged in each node (in the case shown in FIG. 5).
- Load balancing apparatus 10A consists of load estimating unit 16 for estimating the load of the present node, threshold value storage unit 30, and task acceptance control unit 19.
- threshold value setting unit 40 is provided in addition to the above elements in apparatus 10A
- threshold step storage unit 31 for storing a threshold step (value) which is a unit for changing the threshold value and threshold step setting unit 41 are provided in addition to the above elements in apparatus 10B.
- a threshold step storage unit may separately be provided outside the threshold value setting unit 40.
- FIGS. 1-3 are examples belonging to the centralized arrival system, wherein after a task arrives at an entrance node, the task is input into logical ring network 60B by the entrance node and circulates around the logical ring network 60B.
- a task which has not yet made a round of logical ring network 60B after the task is input into the network is called a "normal task (message)"
- a task which has made one or more rounds of the logical ring network 60B before being processed by any node is called a “round trip task (message)”.
- the entrance nodes marks it and input the task into logical ring network 60B again so that each node can distinguish between a normal task and a round trip task.
- a distributed arrival system can easily be realized by modifying the centralized arrival system in a manner such that each node performs the task acceptance, the input of tasks into the logical ring network, and the marking of round trip tasks, which are performed by an entrance node in the centralized arrival system.
- FIGS. 6A and 6B are flowcharts of general operations of load balancing apparatus 10A as shown in FIG. 1.
- Load estimating unit 16 (for estimating the load of the present node) is activated when the estimating unit is informed by task acceptance control unit 19 that the control unit handed over a task of a self-executable function X (which means a function which the present node can execute) to task processing unit 20 or that the control unit received a result of the self-executable function X from task processing unit 20 (see step 3001).
- the activated load estimating unit 16 updates (or changes) an estimated load value (indicated by reference numeral "21X", hereinafter) of self-executable function X (see step 3002).
- task acceptance control unit 19 judges whether or not a task belonging to the self-executable function X has been input from logical ring network 60B to task acceptance control unit 19 (see step 3003). If no task has been input, the task acceptance control unit 19 further judges whether or not a result has been input from task processing unit 20 (see step 3004). If judged "yes”, the task acceptance control unit 19 notifies load estimating unit 16 of the judgment (see step 3008). On the other hand, if a result has also not been input, the processing returns to step 3003.
- task acceptance control unit 19 reads out a (predetermined) threshold value relating to the self-executable function X (indicated by reference numeral "27X", hereinafter) from threshold value storage unit 30 (see step 3005), then compares the above estimated load value 21X with the threshold value 27X and judges whether the task can be accepted or not in accordance with the size comparison of both values (see step 3006). According to a result of the comparison, task acceptance control unit 19 hands over the task to task processing unit 20 (see step 3007), or inputs the task into logical ring network 60B without handing it over to task processing unit 20 (see step 3009).
- a threshold value relating to the self-executable function X indicated by reference numeral "27X", hereinafter
- each node may have a single estimated load value and a single threshold value (that is, not for each self-executable function) for observing and controlling all tasks, or both methods may be used together in a system.
- FIGS. 7A and 7B are flowcharts of general operations of load balancing apparatus 10B as shown in FIG. 2.
- Load estimating unit 16 (for estimating the load of the present node) is activated when the estimating unit is informed by task acceptance control unit 19 that the control unit handed over a task of self-executable function X to task processing unit 20 or the control unit received a result of the self-executable function X from task processing unit 20 (see step 2001).
- the activated load estimating unit 16 updates an estimated load value 21X of self-executable function X (see step 2002).
- task acceptance control unit 19 judges whether or not a task belonging to the self-executable function X has been input from logical ring network 60B to task acceptance control unit 19 (see step 2003). If no task has been input, the task acceptance control unit 19 further judges whether or not a result has been input from task processing unit 20 (see step 2004). If judged "yes”, the task acceptance control unit 19 notifies load estimating unit 16 of the judgment (see step 2008). On the other hand, if a result has also not been input, the processing returns to step 2003.
- task acceptance control unit 19 notifies threshold value setting unit 40 of the judgment.
- the threshold value setting unit 40 estimates a load fluctuation of the entire system by monitoring tasks passing through the logical ring network 60B according to the notification from task acceptance control unit 19, and updates total threshold value 27 of the present node according to the estimated load fluctuation.
- the task acceptance control unit 19 also estimates a load fluctuation with respect to self-executable functions, and updates threshold value 27X for each self-executable function according to the estimated load fluctuation (see step 2005).
- the task acceptance control unit 19 compares the above estimated load value 21X with the threshold value 27X, and judges whether the task can be accepted or not in accordance with the size comparison of both values (see step 2006). According to a result of the comparison, task acceptance control unit 19 hands over the task to task processing unit 20 (see step 2007), or inputs the task into logical ring network 60B without handing it over to task processing unit 20 (see step 2009). When task acceptance control unit 19 hands over a task to task processing unit 20 or receives a result from task processing unit 20, the control unit 9 notifies load estimating unit 16 of the event (see step 2008). An alternating long and short dash line in FIG. 2 shows the result from task acceptance control unit 19 and a task which has not been handed over to task processing unit 20.
- the logical ring network is used as a common buffer for each node; the load relating to the self-executable function X of each node is estimated by the load estimating unit of the node; the threshold value of the entire system and the threshold value of self-executable function X are updated by the threshold value setting unit according to load fluctuation of the entire system and load fluctuation of the self-executable function; the estimated load value of self-executable function X and the threshold value of self-executable function X are compared by the task acceptance control unit; and task acceptance control is performed in accordance with the size comparison of both values. Therefore:
- Assignment of (i) tasks belonging to functions which many nodes in the system and (ii) tasks belonging to functions which fewer nodes can execute is optimized by changing the number of tasks, which each node accepts, in accordance with (i) (for each function in the system,) the number of nodes which can execute the function and (ii) the load for each function. In this case, the response time with respect to a task belonging to a function which fewer nodes can execute does not become large;
- FIGS. 8A and 8B are flowcharts of general operations of load balancing apparatus 10C as shown in FIG. 3.
- Load estimating unit 16 (for estimating the load of the present node) is activated when the estimating unit is informed by task acceptance control unit 19 that the control unit handed over a task to task processing unit 20 or the control unit received a result of processing of the task from task processing unit 20 (see step 1011).
- the activated load estimating unit 16 updates an estimated load value (indicated by reference numeral "21", hereinafter) of the node (see step 1012).
- task acceptance control unit 19 judges whether or not a task has been input from logical ring network 60B to task acceptance control unit 19 (see step 1013). If no task has been input, the task acceptance control unit 19 further judges whether or not a result has been input from task processing unit 20 (see step 1014). If judged "yes”, the task acceptance control unit 19 notifies load estimating unit 16 of the judgment (see step 1018). On the other hand, if a result has also not been input, the processing returns to step 1013.
- task acceptance control unit 19 notifies threshold value setting unit 40 of the judgment.
- the threshold value setting unit 40 estimates a load fluctuation of the entire system by monitoring tasks passing through the logical ring network 60B according to the notification from task acceptance control unit 19, and updates threshold value 27 of the present node.
- Threshold step setting unit 41 updates a threshold step (indicated by reference numeral "28", hereinafter) as a unit for changing the threshold value, by estimating performance of the entire system and performance of the present node at each time (see step 1015), or by receiving information relating to the performance of the entire system and the performance of the present node from an external unit.
- the task acceptance control unit 19 compares the above estimated load value 21 with the threshold value 27, and judges whether the task can be accepted or not in accordance with the size comparison of both values (see step 1016). According to a result of the comparison, task acceptance control unit 19 hands over the task to task processing unit 20 (see step 1017), or inputs the task into logical ring network 60B without handing it over to task processing unit 20 (see step 1019). When task acceptance control unit 19 hands over a task to task processing unit 20 or receives a result from task processing unit 20, the control unit 9 notifies load estimating unit 16 of the event (see step 1018). An alternating long and short dash line in FIG. 3 shows the result from task acceptance control unit 19 and a task which has not been handed over to task processing unit 20.
- the logical ring network is used as a common buffer for each node; the load of each node is estimated by the load estimating unit of the node; the threshold value of the present node is updated by the threshold value setting unit according to load fluctuation of the entire system; the threshold step is set according to the performance of the entire system and the performance of the present node by the threshold step setting unit, and when the performance of the entire system is changed, the threshold value is updated according to the change; the estimated load value and the threshold value of the node are compared by the task acceptance control unit; and task acceptance control is performed in accordance with the size comparison of both values. Therefore:
- Tasks are assigned to the nodes in the order of performance levels thereof regardless of the arrangement order of the nodes; thus, it is possible to make full use of high-performance nodes.
- the control (not for each function) using a single estimated load value and a single threshold value of the present node is performed.
- the task input control, the updating of the estimated load value, and the comparison of the estimated load value and the threshold value may be performed for each self-executable function X, or both methods may be used together in a system.
- load estimating unit 16 will be explained. The following examples may be applied to any of the load balancing apparatuses 10A-10C.
- FIG. 9A is a flowchart of the operational example 1 which uses a task counter.
- load estimating unit 16 When a task relating to function X is handed over from task acceptance control unit 19 to task processing unit 20, load estimating unit 16 (for the present node) increases a task counter for function X by "1" (see steps 2101 and 2102), while when a result of the task for function X is informed from task processing unit 20 to task acceptance control unit 19, load estimating unit 16 decreases the task counter by "1" (see steps 2103 and 2104).
- the load estimating unit 16 sets estimated load value 21X of self-executable function X to be the counter value as a result of the increasing or decreasing operation, and informs task acceptance control unit 19 of the set value.
- FIGS. 10A and 10B are flowcharts of the operational example 2 which uses a response time.
- load estimating unit 16 (for the present node) records the (present) time T r (see steps 2401 and 2402), while when a relevant result of the task for function X is informed from task processing unit 20 to task acceptance control unit 19, load estimating unit 16 records the (present) time T s (see steps 2403 and 2404).
- the fractions of the quotient are then rounded up so as to make an integer, and estimated load value 21X of self-executable function X is set to be this integer (see step 2406).
- FIGS. 11A and 11B are flowcharts of the operational example 3 which uses an average of the response time.
- This mean response time RT xmean is divided by response time RT x0 used for such a case in that a task of self-executable function X is exclusively processed.
- the fractions of the quotient is then rounded up so as to make an integer, and estimated load value 21X of self-executable function X is set to be this integer (see step 2510).
- mean response time RT xmean may be calculated by measuring an entire response time RT xi with respect to tasks processed in a fixed time.
- FIG. 12A is a flowchart of the operational example 1, which is an example using a result of comparison between estimated load value 21X and threshold value 27X of self-executable function X.
- Task acceptance control unit 19 compares estimated load value 21X of self-executable function X with threshold value 27X of the function X for each arrival of a task relating to function X (see steps 2301 and 2302). If estimated load value 21X of self-executable function X is smaller than threshold value 27X of the function X, the task acceptance control unit 19 hands over the task to task processing unit 20 regardless of the kind of task (that is, in either the case of a round trip task or a normal task) (see step 2303).
- the task acceptance control unit 19 hands over the task if the task is a round trip task and the condition "threshold value 27X>estimated load value 21X" would be realized by increasing the threshold value 27X (see steps 2304, 2305, and 2303). If the task is not a round trip task in step 2304, the task is input into logical ring network 60B (see step 2306).
- FIG. 13A is a flowchart of the operational example 2, which is another example using a result of comparison between estimated load value 21X and threshold value 27X of self-executable function X. Judgment performed in this example is simpler.
- Task acceptance control unit 19 compares estimated load value 21X of self-executable function X with threshold value 27X of the function X for each arrival of a task relating to function X (see steps 2701 and 2702). If estimated load value 21X of self-executable function X is smaller than threshold value 27X of the function X, the task acceptance control unit 19 hands over the task to task processing unit 20 (see step 2703), while if estimated load value 21X of self-executable function X is equal to or greater than threshold value 27X of the function X, the task acceptance control unit 19 inputs the task into logical ring network 60B (see step 2704).
- FIGS. 14A and 14B are flowcharts of the operational example 3, which is an example using a task acceptance control flag in addition to a result of comparison between estimated load value 21X and threshold value 27X of self-executable function X.
- Task acceptance control unit 19 periodically compares estimated load value 21X of self-executable function X with threshold value 27X of the function X for each fixed period (see steps 2801 and 2802). If estimated load value 21X of self-executable function X is smaller than threshold value 27X of the function X, the task acceptance control unit 19 sets task acceptance control flag 29X to be in an "on" state (see step 2803).
- the task acceptance control unit 19 sets the task acceptance control flag 29X to be in an "on” state if the task is a round trip task and the condition "threshold value 27X>estimated load value 21X" would be realized by increasing the threshold value 27X (see steps 2804, 2805, and 2803). If the task is not a round trip task in step 2804, the task acceptance control flag 29X is set to be in an "off" state (see steps 2804 and 2806).
- the task acceptance control unit 19 examines the state of task acceptance control flag 29X (see steps 2807 and 2808), and if the flag is "on", the task is handed over to task processing unit 20 (see step 2809), while if the flag is "off", the task is input into logical ring network 60B (see step 2810).
- comparison in step 2802 may be performed with a change of threshold value 27X of self-executable function X for the present node or a change of estimated load value 21X (of self-executable function X) as a trigger.
- FIGS. 15A and 15B are flowcharts of the operational example 4, which is the second example using a task acceptance control flag.
- Task acceptance control unit 19 periodically compares estimated load value 21X of self-executable function X with threshold value 27X of the function X for each fixed period (see steps 2901 and 2902). If estimated load value 21X is smaller than threshold value 27X of the function X, the task acceptance control unit 19 sets task acceptance control flag 29X to be in an "on” state (see step 2903). If estimated load value 21X is equal to or greater than threshold value 27X, the task acceptance control unit 19 sets the task acceptance control flag 29X to be in an "off” state (see step 2904).
- the task acceptance control unit 19 examines the state of task acceptance control flag 29X (see steps 2905 and 2906), and if the flag is "on", the task is handed over to task processing unit 20 (see steps 2906 and 2907). If the flag is "off", the task is a round trip task, and the condition "threshold value 27X>estimated load value 21X” would be realized by increasing the threshold value 27X, then the task is also handed over to task processing unit 20 (see steps 2908, 2909 and 2907). On the other hand, if task acceptance control flag 29X is "off” and the task is not a round trip task, the task is input into logical ring network 60B (see step 2910).
- comparison in step 2902 may be performed with a change of threshold value 27X of self-executable function X for the present node or a change of estimated load value 21X (of self-executable function X) as a trigger.
- threshold value setting unit 40 will be explained. The following examples may be applied to either of the load balancing apparatuses 10B and 10C.
- FIG. 16A is a flowchart of the operational example 1 of threshold value setting unit 40.
- the threshold value is updated when a round trip task is detected.
- Threshold value setting unit 40 monitors, via task acceptance control unit 19, all tasks passing through logical ring network 60B.
- the threshold value setting unit 40 detects a round trip task relating to a self-executable function X, the unit records the time of the detection (see steps 2201 and 2202).
- an amount obtained by subtracting the preceding detection time from the present detection time with respect to the round trip task is greater than a predetermined "round trip" time (see step 2203);
- a value obtained by adding a predetermined threshold step with respect to the function X (the threshold value will be called “1 unit” hereinafter, and the value of the "1 unit” is independently determined for each function) to the threshold value 27X is smaller than an upper limit threshold value 27X L1 which is predetermined with respect to the function X (see step 2205);
- threshold value 27X would not be smaller than a lower limit threshold value 27X L2 (which is also predetermined with respect to the function X) even if the threshold value 27X is decreased by "1 unit", the threshold value setting unit 40 decreases threshold value 27X by "1 unit” (see steps 2208-2210).
- FIG. 17 is a flowchart of the operational example 2 of threshold value setting unit 40.
- an estimated value for load fluctuation i.e., estimated load fluctuation
- Threshold value setting unit 40 counts, via task acceptance control unit 19, the number of all tasks which have passed through logical ring network 60B during a fixed measurement period (see steps 2601-2606) and calculates a ratio of the counted value to the preceding counted value (measured similarly) of all tasks which passed through the network during the preceding measurement period. An estimated value of load fluctuation of the entire system is determined as the ratio (see step 2607).
- the threshold value setting unit 40 continues to monitor all tasks passing through logical ring network 60B and to calculate the estimated value of load fluctuation.
- the threshold value 27 is increased by a predetermined amount unless the threshold value 27 exceeds a predetermined upper limit 27 L1 for the threshold value (see steps 2608-2611).
- the threshold value 27 is decreased by a predetermined amount unless the threshold value 27 falls below a predetermined lower limit 27 L2 for the threshold value (see steps 2612-2614).
- symbols ⁇ and ⁇ indicate any reasonable values greater than 0 and smaller than 1.
- the update of the threshold value is performed when the estimated value of load fluctuation is greater than a predetermined level.
- FIGS. 18A and 18B are flowcharts of the operational example 3 of threshold value setting unit 40.
- an estimated value for load fluctuation with respect to self-executable function X is calculated.
- Threshold value setting unit 40 counts, via task acceptance control unit 19, the number of all tasks relating to function X, which have passed through logical ring network 60B during a fixed measurement period (see steps 2615-2620) and calculates a ratio of the counted value to the preceding counted value of passed tasks of function X during the preceding measurement period. An estimated value of load fluctuation of the function X is determined as the ratio (see step 2621).
- the threshold value setting unit 40 continues to monitor all tasks relating to function X passing through logical ring network 60B and to calculate the estimated value of load fluctuation for each function.
- threshold value 27X is increased according to the amount of the estimated value of load fluctuation of self-executable function X (see steps 2622-2626).
- threshold value 27X is decreased (see steps 2627-2630).
- symbols ⁇ and ⁇ indicate any reasonable values greater than 0 and smaller than 1.
- the update of the threshold value is performed when the estimated value of load fluctuation is greater than a predetermined level.
- threshold step can be updated (or changed).
- the threshold step setting unit 41 holds a value with respect to performance of the entire system (that is, the total performance of all nodes in the system) and a value with respect to performance of the present node, as known information, and sets an initial value of threshold step 28 to be a value obtained by dividing the value of the performance of the present node by the value of the performance of the entire system (normally, the initial value is provided from an external unit before the system operation is started).
- the threshold step setting unit 41 updates the threshold step 28 based on a value with respect to performance of the node which has been deleted or added.
- the initial value of threshold step is set to be in an suitable value such as 0.1, 0.5, or 1.
- the threshold step setting unit 41 presumes that a node is deleted from the system or that a node is newly added to the system, based on a fluctuation manner of the flow rate of tasks passing through logical ring network 60B and a detection situation of round trip tasks, and updates threshold step 28 when deletion or addition of a node is presumed. Examples based on combinations of the fluctuation manner of the flow rate of tasks passing through logical ring network 60B (called "load fluctuation of the entire system") and the detection situation of the round trip task is shown in the list in FIG. 19.
- threshold value setting unit 40 and threshold step setting unit 41 are provided for each node, that is, the units corresponding to the number of the nodes in the system are provided.
- threshold value setting unit 40C and threshold step setting unit 41C which perform centralized controls of updating the threshold value and the threshold step of each node may be provided. Exemplary arrangements of such a control are shown in FIGS. 20 and 21.
- FIG. 20 shows an arrangement of a combination of load balancing apparatus 10D, which is an example of a centralized management system relating to load balancing apparatus 10B as shown in FIG. 2, and threshold value setting unit 40C.
- threshold value setting unit 40C is provided in a node in the system or are independently provided, and performs threshold value setting processes of each node via logical ring network 60B and task acceptance control unit 19 of each node. The operations of the processes are similar to each relevant above-mentioned operation examples.
- FIG. 21 shows an arrangement of a combination of load balancing apparatus 10E, which is an example of a centralized management system relating to load balancing apparatus 10C as shown in FIG. 3; and threshold value setting unit 40C; and threshold step setting unit 41C.
- threshold value setting unit 40C and threshold step setting unit 41C are provided in a node in the system or are independently provided, and performs threshold value and threshold step setting processes of each node via logical ring network 60B and task acceptance control unit 19 of each node. The operations of the processes are similar to each relevant above-mentioned operation examples.
- tasks are processed in turn from one which is earlier handed over to task processing unit 20, and results of processing are output in the same order of processing of the tasks, where one result for each task is returned.
- results are output in another order different from the order of inputting tasks, the system can easily be operated by establishing correspondence between tasks and their results using identifiers and the like.
- the system can easily be operated by identifying the last result.
- load balancing processing can be performed without imposing an extra burden on (computer) processing in each node; thus, the mean response time can much further be shortened, even at high load levels, in comparison with conventional systems. Furthermore, by making an LSI of the load balancing apparatus for making the apparatus independently operate, greater high-speed processing and contraction of the mean response time are realized.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20045196 | 1996-07-30 | ||
| JP8-200451 | 1996-07-30 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US6026425A true US6026425A (en) | 2000-02-15 |
Family
ID=16424528
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US08/901,536 Expired - Fee Related US6026425A (en) | 1996-07-30 | 1997-07-28 | Non-uniform system load balance method and apparatus for updating threshold of tasks according to estimated load fluctuation |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US6026425A (fr) |
| EP (1) | EP0822494B1 (fr) |
| CA (1) | CA2211774C (fr) |
| DE (1) | DE69725791T2 (fr) |
Cited By (68)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6202080B1 (en) * | 1997-12-11 | 2001-03-13 | Nortel Networks Limited | Apparatus and method for computer job workload distribution |
| US6385636B1 (en) * | 1997-07-30 | 2002-05-07 | International Business Machines Corporation | Distributed processing system and client node, server node and distributed processing method |
| US20020069281A1 (en) * | 2000-12-04 | 2002-06-06 | International Business Machines Corporation | Policy management for distributed computing and a method for aging statistics |
| US20020073134A1 (en) * | 2000-12-12 | 2002-06-13 | Barnett Janet A. | Execution of dynamic services in a flexible architecture for e-commerce |
| US20020111814A1 (en) * | 2000-12-12 | 2002-08-15 | Barnett Janet A. | Network dynamic service availability |
| US6446218B1 (en) | 1999-06-30 | 2002-09-03 | B-Hub, Inc. | Techniques for maintaining fault tolerance for software programs in a clustered computer system |
| US6560717B1 (en) * | 1999-12-10 | 2003-05-06 | Art Technology Group, Inc. | Method and system for load balancing and management |
| US20030126184A1 (en) * | 2001-12-06 | 2003-07-03 | Mark Austin | Computer apparatus, terminal server apparatus & performance management methods therefor |
| US6614805B1 (en) * | 1999-05-27 | 2003-09-02 | Nortel Networks Limited | Method and apparatus for media access control for packet transmission over a buffer insertion ring |
| US20030212731A1 (en) * | 2000-02-17 | 2003-11-13 | Brenner Larry Bert | Apparatus and method for periodic load balancing in a multiple run queue system |
| US20030235153A1 (en) * | 2002-06-20 | 2003-12-25 | Yang Sup Lee | Control plane architecture for automatically switched optical network |
| US20040006622A1 (en) * | 2002-07-03 | 2004-01-08 | Burkes Don L. | Optimized process for balancing load for data mirroring |
| US6678715B1 (en) * | 1998-08-28 | 2004-01-13 | Kabushiki Kaisha Toshiba | Systems and apparatus for switching execution of a process in a distributed system |
| US20040068730A1 (en) * | 2002-07-30 | 2004-04-08 | Matthew Miller | Affinitizing threads in a multiprocessor system |
| US6728957B1 (en) * | 1999-03-26 | 2004-04-27 | Oki Electric Industry Co., Ltd. | Program response time estimating apparatus |
| US20040088412A1 (en) * | 2002-07-24 | 2004-05-06 | Ranjit John | System and method for highly-scalable real-time and time-based data delivery using server clusters |
| US6748593B1 (en) | 2000-02-17 | 2004-06-08 | International Business Machines Corporation | Apparatus and method for starvation load balancing using a global run queue in a multiple run queue system |
| US20040172588A1 (en) * | 1996-08-21 | 2004-09-02 | Mattaway Shane D. | Collaborative multimedia architecture for packet-switched data networks |
| US20040187113A1 (en) * | 2003-03-07 | 2004-09-23 | Xerox Corporation | System and method for real-time assignment of jobs to production cells |
| US20040199650A1 (en) * | 2002-11-14 | 2004-10-07 | Howe John E. | System and methods for accelerating data delivery |
| US20040205761A1 (en) * | 2001-08-06 | 2004-10-14 | Partanen Jukka T. | Controlling processing networks |
| US20040243706A1 (en) * | 2001-08-22 | 2004-12-02 | Yariv Rosenbach | Method and system for balancing the load of a computer resource among computers |
| US20040267930A1 (en) * | 2003-06-26 | 2004-12-30 | International Business Machines Corporation | Slow-dynamic load balancing method and system |
| US20050015475A1 (en) * | 2003-07-17 | 2005-01-20 | Takahiro Fujita | Managing method for optimizing capacity of storage |
| US20050155032A1 (en) * | 2004-01-12 | 2005-07-14 | Schantz John L. | Dynamic load balancing |
| US6928482B1 (en) | 2000-06-29 | 2005-08-09 | Cisco Technology, Inc. | Method and apparatus for scalable process flow load balancing of a multiplicity of parallel packet processors in a digital communication network |
| US20050262245A1 (en) * | 2004-04-19 | 2005-11-24 | Satish Menon | Scalable cluster-based architecture for streaming media |
| US20060150191A1 (en) * | 2004-12-22 | 2006-07-06 | Mineyoshi Masuda | Load state monitoring apparatus and load state monitoring method |
| US20060156328A1 (en) * | 2003-07-10 | 2006-07-13 | Koninklijke Philips Electronics N.V. | Method of and system for distributing a content item |
| US7149208B2 (en) | 1995-09-25 | 2006-12-12 | Net2Phone, Inc. | Method and apparatus for providing caller identification based responses in a computer telephony environment |
| US20070061783A1 (en) * | 2005-09-09 | 2007-03-15 | Sun Microsystems, Inc. | Task dispatch monitoring for dynamic adaptation to system conditions |
| US7216348B1 (en) * | 1999-01-05 | 2007-05-08 | Net2Phone, Inc. | Method and apparatus for dynamically balancing call flow workloads in a telecommunications system |
| US7231445B1 (en) * | 2000-11-16 | 2007-06-12 | Nortel Networks Limited | Technique for adaptively distributing web server requests |
| US20070208849A1 (en) * | 2006-02-22 | 2007-09-06 | Emulex Design & Manufacturing Corporation | Method for tracking and storing time to complete and average completion time for storage area network l/O commands |
| US20070250890A1 (en) * | 2006-02-06 | 2007-10-25 | Vinay Joshi | Method and system for reducing switching delays between digital video feeds using multicast slotted transmission technique |
| US20080016220A1 (en) * | 2000-07-28 | 2008-01-17 | Horen Robert S | File system and method for administrating storage space and bandwidth in a computer system serving media assets |
| US20080040454A1 (en) * | 2003-03-13 | 2008-02-14 | Banerjee Dwip N | Method and apparatus for server load sharing based on foreign port distribution |
| US20080066073A1 (en) * | 2006-09-11 | 2008-03-13 | Microsoft Corporation | Dynamic network load balancing using roundtrip heuristic |
| US20080109557A1 (en) * | 2006-11-02 | 2008-05-08 | Vinay Joshi | Method and system for reducing switching delays between digital video feeds using personalized unicast transmission techniques |
| CN100388217C (zh) * | 2004-11-16 | 2008-05-14 | 国际商业机器公司 | 用于通信系统中的动态阈值缩放的方法和系统 |
| US20080137685A1 (en) * | 2000-07-28 | 2008-06-12 | Lakshminarayanan Gunaseelan | System, server, and method for variable bit rate multimedia streaming |
| US20080178192A1 (en) * | 2006-08-15 | 2008-07-24 | International Business Machines Corporation | Affinity dispatching load balancer with precise cpu consumption data |
| US20080215747A1 (en) * | 2001-03-02 | 2008-09-04 | Menon Satish N | Metadata enabled push-pull model for efficient low-latency video-content distribution over a network |
| US7502857B2 (en) | 2000-12-15 | 2009-03-10 | International Business Machines Corporation | Method and system for optimally allocating a network service |
| US20090070414A1 (en) * | 2001-03-02 | 2009-03-12 | Sanjay Singal | System and method for distributing media content using transfer file that eliminates negotiati0n between server and client in point-to-multipoint distribution |
| US20090182978A1 (en) * | 2008-01-11 | 2009-07-16 | International Business Machines Corporation | Real-time cpu dispatcher affinity re-balancing |
| US20090249114A1 (en) * | 2008-03-31 | 2009-10-01 | Fujitsu Limited | Computer system |
| US20090259749A1 (en) * | 2006-02-22 | 2009-10-15 | Emulex Design & Manufacturing Corporation | Computer system input/output management |
| US20100162261A1 (en) * | 2007-05-17 | 2010-06-24 | Pes Institute Of Technology | Method and System for Load Balancing in a Distributed Computer System |
| US8015480B2 (en) | 1997-03-31 | 2011-09-06 | Espial, Inc. | System and method for media stream indexing and synchronization |
| US20110231362A1 (en) * | 2010-03-16 | 2011-09-22 | Deepak Attarde | Extensible data deduplication system and method |
| US20120072627A1 (en) * | 2010-09-17 | 2012-03-22 | Oracle International Corporation | Dynamic creation and destruction of io resources based on actual load and resource availability |
| US20120174118A1 (en) * | 2007-01-25 | 2012-07-05 | Hitachi, Ltd. | Storage apparatus and load distribution method |
| CN101777009B (zh) * | 2009-11-30 | 2012-12-19 | 英业达股份有限公司 | 应用程序的负载控管方法 |
| CN103150213A (zh) * | 2011-12-06 | 2013-06-12 | 北大方正集团有限公司 | 负载平衡方法和装置 |
| US20130167153A1 (en) * | 2011-12-21 | 2013-06-27 | Fujitsu Limited | Imformation processing system for data transfer |
| US8527988B1 (en) | 2009-07-31 | 2013-09-03 | Hewlett-Packard Development Company, L.P. | Proximity mapping of virtual-machine threads to processors |
| US8725848B1 (en) | 2010-09-30 | 2014-05-13 | Emc Corporation | Multipath distribution |
| US9021126B2 (en) * | 2009-03-03 | 2015-04-28 | Canon Kabushiki Kaisha | Data processing apparatus and method for controlling data processing apparatus |
| US9047128B1 (en) * | 2010-09-30 | 2015-06-02 | Emc Corporation | Backup server interface load management based on available network interfaces |
| US9594599B1 (en) * | 2009-10-14 | 2017-03-14 | Nvidia Corporation | Method and system for distributing work batches to processing units based on a number of enabled streaming multiprocessors |
| US9678804B1 (en) | 2010-09-30 | 2017-06-13 | EMC IP Holding Company LLC | Dynamic load balancing of backup server interfaces based on timeout response, job counter, and speed of a plurality of interfaces |
| US9880879B1 (en) * | 2011-07-14 | 2018-01-30 | Google Inc. | Identifying task instance outliers based on metric data in a large scale parallel processing system |
| WO2019211690A1 (fr) * | 2018-05-01 | 2019-11-07 | International Business Machines Corporation | Optimisation de ressources de l'internet des objets |
| CN112685170A (zh) * | 2019-10-18 | 2021-04-20 | 伊姆西Ip控股有限责任公司 | 备份策略的动态优化 |
| US11137734B2 (en) * | 2018-02-26 | 2021-10-05 | Omron Corporation | Controller, control method and program |
| US11363120B2 (en) * | 2019-05-13 | 2022-06-14 | Volkswagen Aktiengesellschaft | Method for running an application on a distributed system architecture |
| CN118250962A (zh) * | 2024-03-05 | 2024-06-25 | 广东志享信息科技有限公司 | 机房空调联动管理系统 |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| SE515578C2 (sv) | 1998-11-26 | 2001-09-03 | Ericsson Telefon Ab L M | Metod för lastreglering i en distribuerad databas |
| US6553248B1 (en) | 1999-11-09 | 2003-04-22 | Koninklijke Philips Electronics, N.V. | Computing by anticipation for nuclear medicine imaging |
| FR2857472B1 (fr) * | 2003-07-10 | 2007-01-26 | Univ Reims Champagne Ardenne | Systeme de gestion distribuee des ressources informatiques et des calculs |
| KR20150136345A (ko) * | 2014-05-27 | 2015-12-07 | 삼성전자주식회사 | 태스크 그룹 전달 방법 및 이를 제공하는 전자 장치 |
| CN114079656A (zh) * | 2022-01-19 | 2022-02-22 | 之江实验室 | 基于概率的负载平衡方法及装置、电子设备、存储介质 |
Citations (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4811337A (en) * | 1988-01-15 | 1989-03-07 | Vitalink Communications Corporation | Distributed load sharing |
| US5031089A (en) * | 1988-12-30 | 1991-07-09 | United States Of America As Represented By The Administrator, National Aeronautics And Space Administration | Dynamic resource allocation scheme for distributed heterogeneous computer systems |
| US5155858A (en) * | 1988-10-27 | 1992-10-13 | At&T Bell Laboratories | Twin-threshold load-sharing system with each processor in a multiprocessor ring adjusting its own assigned task list based on workload threshold |
| US5164983A (en) * | 1991-01-28 | 1992-11-17 | American Telephone & Telegraph Company | Telemarketing complex performance management system |
| JPH05143559A (ja) * | 1991-04-17 | 1993-06-11 | Toshiba Corp | 分散処理システムにおける負荷分散方法 |
| US5283897A (en) * | 1990-04-30 | 1994-02-01 | International Business Machines Corporation | Semi-dynamic load balancer for periodically reassigning new transactions of a transaction type from an overload processor to an under-utilized processor based on the predicted load thereof |
| JPH07152700A (ja) * | 1993-11-30 | 1995-06-16 | Nippon Telegr & Teleph Corp <Ntt> | コンピュータシステムの負荷均衡化方式 |
| JPH07225746A (ja) * | 1994-02-09 | 1995-08-22 | Mitsubishi Electric Corp | 動的負荷分散方法 |
| US5557798A (en) * | 1989-07-27 | 1996-09-17 | Tibco, Inc. | Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes |
| US5657142A (en) * | 1995-07-25 | 1997-08-12 | Mci Communications Corporation | Optimal allocation of multiplexing equipment and distribution of load in a fiber optic network |
| US5687309A (en) * | 1993-12-27 | 1997-11-11 | Sybase, Inc. | Fault tolerant computer parallel data processing ring architecture and work rebalancing method under node failure conditions |
| US5774668A (en) * | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
| US5839120A (en) * | 1993-11-30 | 1998-11-17 | Thearling; Kurt | Genetic algorithm control arrangement for massively parallel computer |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA1318409C (fr) * | 1988-10-27 | 1993-05-25 | Dennis L. Debruler | Dispositif de partage de charge pour multiprocesseur |
| JPH05216842A (ja) * | 1992-02-05 | 1993-08-27 | Mitsubishi Electric Corp | 資源管理装置 |
-
1997
- 1997-07-28 US US08/901,536 patent/US6026425A/en not_active Expired - Fee Related
- 1997-07-29 CA CA002211774A patent/CA2211774C/fr not_active Expired - Fee Related
- 1997-07-30 DE DE69725791T patent/DE69725791T2/de not_active Expired - Fee Related
- 1997-07-30 EP EP97305742A patent/EP0822494B1/fr not_active Expired - Lifetime
Patent Citations (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4811337A (en) * | 1988-01-15 | 1989-03-07 | Vitalink Communications Corporation | Distributed load sharing |
| US5155858A (en) * | 1988-10-27 | 1992-10-13 | At&T Bell Laboratories | Twin-threshold load-sharing system with each processor in a multiprocessor ring adjusting its own assigned task list based on workload threshold |
| US5031089A (en) * | 1988-12-30 | 1991-07-09 | United States Of America As Represented By The Administrator, National Aeronautics And Space Administration | Dynamic resource allocation scheme for distributed heterogeneous computer systems |
| US5557798A (en) * | 1989-07-27 | 1996-09-17 | Tibco, Inc. | Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes |
| US5283897A (en) * | 1990-04-30 | 1994-02-01 | International Business Machines Corporation | Semi-dynamic load balancer for periodically reassigning new transactions of a transaction type from an overload processor to an under-utilized processor based on the predicted load thereof |
| US5164983A (en) * | 1991-01-28 | 1992-11-17 | American Telephone & Telegraph Company | Telemarketing complex performance management system |
| JPH05143559A (ja) * | 1991-04-17 | 1993-06-11 | Toshiba Corp | 分散処理システムにおける負荷分散方法 |
| JPH07152700A (ja) * | 1993-11-30 | 1995-06-16 | Nippon Telegr & Teleph Corp <Ntt> | コンピュータシステムの負荷均衡化方式 |
| US5839120A (en) * | 1993-11-30 | 1998-11-17 | Thearling; Kurt | Genetic algorithm control arrangement for massively parallel computer |
| US5687309A (en) * | 1993-12-27 | 1997-11-11 | Sybase, Inc. | Fault tolerant computer parallel data processing ring architecture and work rebalancing method under node failure conditions |
| JPH07225746A (ja) * | 1994-02-09 | 1995-08-22 | Mitsubishi Electric Corp | 動的負荷分散方法 |
| US5774668A (en) * | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
| US5657142A (en) * | 1995-07-25 | 1997-08-12 | Mci Communications Corporation | Optimal allocation of multiplexing equipment and distribution of load in a fiber optic network |
Non-Patent Citations (2)
| Title |
|---|
| P. Krueger, et al.; "Adaptive Location Policies for Global Scheduling", IEEE Transactions on Software Engineering, vol. 20, No. 6, pp. 432-444, Jun., 1994. |
| P. Krueger, et al.; Adaptive Location Policies for Global Scheduling , IEEE Transactions on Software Engineering, vol. 20, No. 6, pp. 432 444, Jun., 1994. * |
Cited By (117)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7149208B2 (en) | 1995-09-25 | 2006-12-12 | Net2Phone, Inc. | Method and apparatus for providing caller identification based responses in a computer telephony environment |
| US20040172588A1 (en) * | 1996-08-21 | 2004-09-02 | Mattaway Shane D. | Collaborative multimedia architecture for packet-switched data networks |
| US8015480B2 (en) | 1997-03-31 | 2011-09-06 | Espial, Inc. | System and method for media stream indexing and synchronization |
| US6385636B1 (en) * | 1997-07-30 | 2002-05-07 | International Business Machines Corporation | Distributed processing system and client node, server node and distributed processing method |
| US6202080B1 (en) * | 1997-12-11 | 2001-03-13 | Nortel Networks Limited | Apparatus and method for computer job workload distribution |
| US6678715B1 (en) * | 1998-08-28 | 2004-01-13 | Kabushiki Kaisha Toshiba | Systems and apparatus for switching execution of a process in a distributed system |
| US7216348B1 (en) * | 1999-01-05 | 2007-05-08 | Net2Phone, Inc. | Method and apparatus for dynamically balancing call flow workloads in a telecommunications system |
| US6728957B1 (en) * | 1999-03-26 | 2004-04-27 | Oki Electric Industry Co., Ltd. | Program response time estimating apparatus |
| US6614805B1 (en) * | 1999-05-27 | 2003-09-02 | Nortel Networks Limited | Method and apparatus for media access control for packet transmission over a buffer insertion ring |
| US6446218B1 (en) | 1999-06-30 | 2002-09-03 | B-Hub, Inc. | Techniques for maintaining fault tolerance for software programs in a clustered computer system |
| US6560717B1 (en) * | 1999-12-10 | 2003-05-06 | Art Technology Group, Inc. | Method and system for load balancing and management |
| US6658449B1 (en) * | 2000-02-17 | 2003-12-02 | International Business Machines Corporation | Apparatus and method for periodic load balancing in a multiple run queue system |
| US20030225815A1 (en) * | 2000-02-17 | 2003-12-04 | Brenner Larry Bert | Apparatus and method for periodic load balancing in a multiple run queue system |
| US6993767B2 (en) | 2000-02-17 | 2006-01-31 | International Business Machines Corporation | System for preventing periodic load balancing if processor associated with lightest local run queue has benefited from idle processor load balancing within a determined time period |
| US6986140B2 (en) | 2000-02-17 | 2006-01-10 | International Business Machines Corporation | Method for determining idle processor load balancing in a multiple processors system |
| US20030212731A1 (en) * | 2000-02-17 | 2003-11-13 | Brenner Larry Bert | Apparatus and method for periodic load balancing in a multiple run queue system |
| US6748593B1 (en) | 2000-02-17 | 2004-06-08 | International Business Machines Corporation | Apparatus and method for starvation load balancing using a global run queue in a multiple run queue system |
| US6928482B1 (en) | 2000-06-29 | 2005-08-09 | Cisco Technology, Inc. | Method and apparatus for scalable process flow load balancing of a multiplicity of parallel packet processors in a digital communication network |
| US20080137685A1 (en) * | 2000-07-28 | 2008-06-12 | Lakshminarayanan Gunaseelan | System, server, and method for variable bit rate multimedia streaming |
| US7849194B2 (en) | 2000-07-28 | 2010-12-07 | Kasenna, Inc. | File system and method for administrating storage space and bandwidth in a computer system serving media assets |
| US20080016220A1 (en) * | 2000-07-28 | 2008-01-17 | Horen Robert S | File system and method for administrating storage space and bandwidth in a computer system serving media assets |
| US7231445B1 (en) * | 2000-11-16 | 2007-06-12 | Nortel Networks Limited | Technique for adaptively distributing web server requests |
| US7003772B2 (en) * | 2000-12-04 | 2006-02-21 | International Business Machines Corporation | Policy management for distributed computing and a method for aging statistics |
| US20020069281A1 (en) * | 2000-12-04 | 2002-06-06 | International Business Machines Corporation | Policy management for distributed computing and a method for aging statistics |
| US20020111814A1 (en) * | 2000-12-12 | 2002-08-15 | Barnett Janet A. | Network dynamic service availability |
| US7398216B2 (en) | 2000-12-12 | 2008-07-08 | Lockheed Martin Corporation | Network dynamic service availability |
| US6922832B2 (en) | 2000-12-12 | 2005-07-26 | Lockheed Martin Corporation | Execution of dynamic services in a flexible architecture for e-commerce |
| US20020073134A1 (en) * | 2000-12-12 | 2002-06-13 | Barnett Janet A. | Execution of dynamic services in a flexible architecture for e-commerce |
| US7502857B2 (en) | 2000-12-15 | 2009-03-10 | International Business Machines Corporation | Method and system for optimally allocating a network service |
| US20090144427A1 (en) * | 2000-12-15 | 2009-06-04 | International Business Machines Corporation | Method and System for Optimally Allocating a Network Service |
| US7958241B2 (en) | 2000-12-15 | 2011-06-07 | International Business Machines Corporation | Method and system for optimally allocating a network service |
| US20080215747A1 (en) * | 2001-03-02 | 2008-09-04 | Menon Satish N | Metadata enabled push-pull model for efficient low-latency video-content distribution over a network |
| US20090070414A1 (en) * | 2001-03-02 | 2009-03-12 | Sanjay Singal | System and method for distributing media content using transfer file that eliminates negotiati0n between server and client in point-to-multipoint distribution |
| US7860950B2 (en) | 2001-03-02 | 2010-12-28 | Kasenna, Inc. | Metadata enabled push-pull model for efficient low-latency video-content distribution over a network |
| US7444640B2 (en) * | 2001-08-06 | 2008-10-28 | Nokia Corporation | Controlling processing networks |
| US20040205761A1 (en) * | 2001-08-06 | 2004-10-14 | Partanen Jukka T. | Controlling processing networks |
| US20040243706A1 (en) * | 2001-08-22 | 2004-12-02 | Yariv Rosenbach | Method and system for balancing the load of a computer resource among computers |
| US7421497B2 (en) | 2001-08-23 | 2008-09-02 | Swsoft Holdings, Ltd. | Method and system for load balancing of computer resources among computers |
| US7302687B2 (en) * | 2001-12-06 | 2007-11-27 | Appsense Limited | Computer apparatus, terminal server apparatus and performance management methods therefor |
| US20030126184A1 (en) * | 2001-12-06 | 2003-07-03 | Mark Austin | Computer apparatus, terminal server apparatus & performance management methods therefor |
| US20030235153A1 (en) * | 2002-06-20 | 2003-12-25 | Yang Sup Lee | Control plane architecture for automatically switched optical network |
| US7339889B2 (en) * | 2002-06-20 | 2008-03-04 | Nortel Networks Limited | Control plane architecture for automatically switched optical network |
| US20040006622A1 (en) * | 2002-07-03 | 2004-01-08 | Burkes Don L. | Optimized process for balancing load for data mirroring |
| US7403993B2 (en) * | 2002-07-24 | 2008-07-22 | Kasenna, Inc. | System and method for highly-scalable real-time and time-based data delivery using server clusters |
| WO2004010266A3 (fr) * | 2002-07-24 | 2004-07-08 | Kasenna Inc | Systeme et procede de distribution hautement evolutive de donnees sur une base temporelle et en temps reel au moyen de grappes de serveurs |
| US20040088412A1 (en) * | 2002-07-24 | 2004-05-06 | Ranjit John | System and method for highly-scalable real-time and time-based data delivery using server clusters |
| US7287254B2 (en) * | 2002-07-30 | 2007-10-23 | Unisys Corporation | Affinitizing threads in a multiprocessor system |
| US20040068730A1 (en) * | 2002-07-30 | 2004-04-08 | Matthew Miller | Affinitizing threads in a multiprocessor system |
| US20040199650A1 (en) * | 2002-11-14 | 2004-10-07 | Howe John E. | System and methods for accelerating data delivery |
| US20040187113A1 (en) * | 2003-03-07 | 2004-09-23 | Xerox Corporation | System and method for real-time assignment of jobs to production cells |
| US6993400B2 (en) * | 2003-03-07 | 2006-01-31 | Xerox Corporation | System and method for real-time assignment of jobs to production cells |
| US20080040454A1 (en) * | 2003-03-13 | 2008-02-14 | Banerjee Dwip N | Method and apparatus for server load sharing based on foreign port distribution |
| US7487242B2 (en) * | 2003-03-13 | 2009-02-03 | International Business Machines Corporation | Method and apparatus for server load sharing based on foreign port distribution |
| US20040267930A1 (en) * | 2003-06-26 | 2004-12-30 | International Business Machines Corporation | Slow-dynamic load balancing method and system |
| US7752262B2 (en) | 2003-06-26 | 2010-07-06 | International Business Machines Corporation | Slow-dynamic load balancing system and computer-readable medium |
| US20090100133A1 (en) * | 2003-06-26 | 2009-04-16 | International Business Machines Corporation | Slow-Dynamic Load Balancing System and Computer-Readable Medium |
| US7475108B2 (en) * | 2003-06-26 | 2009-01-06 | International Business Machines Corporation | Slow-dynamic load balancing method |
| US20060156328A1 (en) * | 2003-07-10 | 2006-07-13 | Koninklijke Philips Electronics N.V. | Method of and system for distributing a content item |
| US7246161B2 (en) | 2003-07-17 | 2007-07-17 | Hitachi, Ltd. | Managing method for optimizing capacity of storage |
| US20050015475A1 (en) * | 2003-07-17 | 2005-01-20 | Takahiro Fujita | Managing method for optimizing capacity of storage |
| US20050155032A1 (en) * | 2004-01-12 | 2005-07-14 | Schantz John L. | Dynamic load balancing |
| US20050262245A1 (en) * | 2004-04-19 | 2005-11-24 | Satish Menon | Scalable cluster-based architecture for streaming media |
| CN100388217C (zh) * | 2004-11-16 | 2008-05-14 | 国际商业机器公司 | 用于通信系统中的动态阈值缩放的方法和系统 |
| US8046769B2 (en) * | 2004-12-22 | 2011-10-25 | Hitachi, Ltd. | Load state monitoring apparatus and load state monitoring method |
| US20060150191A1 (en) * | 2004-12-22 | 2006-07-06 | Mineyoshi Masuda | Load state monitoring apparatus and load state monitoring method |
| US8082545B2 (en) * | 2005-09-09 | 2011-12-20 | Oracle America, Inc. | Task dispatch monitoring for dynamic adaptation to system conditions |
| US20070061783A1 (en) * | 2005-09-09 | 2007-03-15 | Sun Microsystems, Inc. | Task dispatch monitoring for dynamic adaptation to system conditions |
| US20070250890A1 (en) * | 2006-02-06 | 2007-10-25 | Vinay Joshi | Method and system for reducing switching delays between digital video feeds using multicast slotted transmission technique |
| US7793329B2 (en) | 2006-02-06 | 2010-09-07 | Kasenna, Inc. | Method and system for reducing switching delays between digital video feeds using multicast slotted transmission technique |
| US20090259749A1 (en) * | 2006-02-22 | 2009-10-15 | Emulex Design & Manufacturing Corporation | Computer system input/output management |
| US7716381B2 (en) * | 2006-02-22 | 2010-05-11 | Emulex Design & Manufacturing Corporation | Method for tracking and storing time to complete and average completion time for storage area network I/O commands |
| US8635376B2 (en) | 2006-02-22 | 2014-01-21 | Emulex Design & Manufacturing Corporation | Computer system input/output management |
| US20070208849A1 (en) * | 2006-02-22 | 2007-09-06 | Emulex Design & Manufacturing Corporation | Method for tracking and storing time to complete and average completion time for storage area network l/O commands |
| US20080178192A1 (en) * | 2006-08-15 | 2008-07-24 | International Business Machines Corporation | Affinity dispatching load balancer with precise cpu consumption data |
| US7941805B2 (en) | 2006-08-15 | 2011-05-10 | International Business Machines Corporation | Affinity dispatching load balancer with precise CPU consumption data |
| US8108875B2 (en) | 2006-08-15 | 2012-01-31 | International Business Machines Corporation | Affinity dispatching load balancer with precise CPU consumption data |
| US8108877B2 (en) | 2006-08-15 | 2012-01-31 | International Business Machines Corporation | Affinity dispatching load balancer with precise CPU consumption data |
| US20080066073A1 (en) * | 2006-09-11 | 2008-03-13 | Microsoft Corporation | Dynamic network load balancing using roundtrip heuristic |
| US8799918B2 (en) * | 2006-09-11 | 2014-08-05 | Microsoft Corporation | Dynamic network load balancing using roundtrip heuristic |
| US20080109557A1 (en) * | 2006-11-02 | 2008-05-08 | Vinay Joshi | Method and system for reducing switching delays between digital video feeds using personalized unicast transmission techniques |
| US8863145B2 (en) * | 2007-01-25 | 2014-10-14 | Hitachi, Ltd. | Storage apparatus and load distribution method |
| US20120174118A1 (en) * | 2007-01-25 | 2012-07-05 | Hitachi, Ltd. | Storage apparatus and load distribution method |
| US20100162261A1 (en) * | 2007-05-17 | 2010-06-24 | Pes Institute Of Technology | Method and System for Load Balancing in a Distributed Computer System |
| US8312465B2 (en) * | 2008-01-11 | 2012-11-13 | International Business Machines Corporation | Real-time CPU dispatcher affinity re-balancing |
| US20090182978A1 (en) * | 2008-01-11 | 2009-07-16 | International Business Machines Corporation | Real-time cpu dispatcher affinity re-balancing |
| US8370682B2 (en) * | 2008-03-31 | 2013-02-05 | Fujitsu Limited | Virtual tape system take-over-controlled by standby server computer |
| US20090249114A1 (en) * | 2008-03-31 | 2009-10-01 | Fujitsu Limited | Computer system |
| US10148455B2 (en) * | 2009-03-03 | 2018-12-04 | Canon Kabushiki Kaisha | Data processing apparatus, method for controlling data processing apparatus, and program |
| US20150188726A1 (en) * | 2009-03-03 | 2015-07-02 | Canon Kabushiki Kaisha | Data processing apparatus, method for controlling data processing apparatus, and program |
| US9021126B2 (en) * | 2009-03-03 | 2015-04-28 | Canon Kabushiki Kaisha | Data processing apparatus and method for controlling data processing apparatus |
| US8527988B1 (en) | 2009-07-31 | 2013-09-03 | Hewlett-Packard Development Company, L.P. | Proximity mapping of virtual-machine threads to processors |
| US9594599B1 (en) * | 2009-10-14 | 2017-03-14 | Nvidia Corporation | Method and system for distributing work batches to processing units based on a number of enabled streaming multiprocessors |
| CN101777009B (zh) * | 2009-11-30 | 2012-12-19 | 英业达股份有限公司 | 应用程序的负载控管方法 |
| US20110231362A1 (en) * | 2010-03-16 | 2011-09-22 | Deepak Attarde | Extensible data deduplication system and method |
| US8732133B2 (en) * | 2010-03-16 | 2014-05-20 | Commvault Systems, Inc. | Extensible data deduplication system and method |
| US8725912B2 (en) | 2010-09-17 | 2014-05-13 | Oracle International Corporation | Dynamic balancing of IO resources on NUMA platforms |
| US8782657B2 (en) * | 2010-09-17 | 2014-07-15 | Oracle International Corporation | Dynamic creation and destruction of IO resources based on actual load and resource availability |
| CN103210374A (zh) * | 2010-09-17 | 2013-07-17 | 甲骨文国际公司 | 基于实际负载和资源可用性的io资源动态创建和销毁 |
| US20120072627A1 (en) * | 2010-09-17 | 2012-03-22 | Oracle International Corporation | Dynamic creation and destruction of io resources based on actual load and resource availability |
| US8996756B2 (en) | 2010-09-17 | 2015-03-31 | Oracle International Corporation | Using process location to bind IO resources on NUMA architectures |
| US8725913B2 (en) | 2010-09-17 | 2014-05-13 | Oracle International Corporation | Numa I/O framework |
| CN103210374B (zh) * | 2010-09-17 | 2016-08-10 | 甲骨文国际公司 | 基于实际负载和资源可用性的io资源动态创建和销毁 |
| US9678804B1 (en) | 2010-09-30 | 2017-06-13 | EMC IP Holding Company LLC | Dynamic load balancing of backup server interfaces based on timeout response, job counter, and speed of a plurality of interfaces |
| US9047128B1 (en) * | 2010-09-30 | 2015-06-02 | Emc Corporation | Backup server interface load management based on available network interfaces |
| US8725848B1 (en) | 2010-09-30 | 2014-05-13 | Emc Corporation | Multipath distribution |
| US9880879B1 (en) * | 2011-07-14 | 2018-01-30 | Google Inc. | Identifying task instance outliers based on metric data in a large scale parallel processing system |
| CN103150213A (zh) * | 2011-12-06 | 2013-06-12 | 北大方正集团有限公司 | 负载平衡方法和装置 |
| US9128774B2 (en) * | 2011-12-21 | 2015-09-08 | Fujitsu Limited | Information processing system for data transfer |
| US20130167153A1 (en) * | 2011-12-21 | 2013-06-27 | Fujitsu Limited | Imformation processing system for data transfer |
| US11137734B2 (en) * | 2018-02-26 | 2021-10-05 | Omron Corporation | Controller, control method and program |
| WO2019211690A1 (fr) * | 2018-05-01 | 2019-11-07 | International Business Machines Corporation | Optimisation de ressources de l'internet des objets |
| US10901806B2 (en) | 2018-05-01 | 2021-01-26 | International Business Machines Corporation | Internet of things resource optimization |
| GB2586111A (en) * | 2018-05-01 | 2021-02-03 | Ibm | Internet of things resource optimization |
| US11363120B2 (en) * | 2019-05-13 | 2022-06-14 | Volkswagen Aktiengesellschaft | Method for running an application on a distributed system architecture |
| CN112685170A (zh) * | 2019-10-18 | 2021-04-20 | 伊姆西Ip控股有限责任公司 | 备份策略的动态优化 |
| CN112685170B (zh) * | 2019-10-18 | 2023-12-08 | 伊姆西Ip控股有限责任公司 | 备份策略的动态优化 |
| CN118250962A (zh) * | 2024-03-05 | 2024-06-25 | 广东志享信息科技有限公司 | 机房空调联动管理系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| CA2211774C (fr) | 2001-03-27 |
| EP0822494B1 (fr) | 2003-10-29 |
| EP0822494A2 (fr) | 1998-02-04 |
| EP0822494A3 (fr) | 2000-05-10 |
| DE69725791D1 (de) | 2003-12-04 |
| CA2211774A1 (fr) | 1998-01-30 |
| DE69725791T2 (de) | 2004-11-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6026425A (en) | Non-uniform system load balance method and apparatus for updating threshold of tasks according to estimated load fluctuation | |
| CN1106771C (zh) | 在通信网络中动态通信管理的方法 | |
| US6542467B2 (en) | Bandwidth allocation system of virtual path in communication network of asynchronous transfer mode | |
| US6498844B1 (en) | Method and system of dynamic traffic control in a communication network | |
| EP0361974B1 (fr) | Système de transmission des banques de données distribuées | |
| JP3716753B2 (ja) | マルチプロセッサ構成の計算機間におけるトランザクション負荷分散方法及び方式並びにプログラム | |
| CA2121240C (fr) | Methode d'acheminement non hierarchique du trafic dans un reseau de communication | |
| US6038218A (en) | Congestion control in signalling network of common channel signalling system | |
| EP0913772B1 (fr) | Commande de surcharge intégrée pour systèmes temps-réel distribués | |
| JP2001109638A (ja) | 推定伸長率に基づくトランザクション負荷分散方法及び方式並びにコンピュータ可読記録媒体 | |
| EP3163446A1 (fr) | Procédé de mémorisation de données et serveur de gestion de la mémorisation de données | |
| AU5352298A (en) | Dynamic traffic distribution | |
| KR20100019412A (ko) | 정보 로드를 밸런싱하는 시스템 및 방법 | |
| JP3662750B2 (ja) | 分散型実時間制御システムのモジュールにおける過負荷応答方法 | |
| US7139830B2 (en) | Communication apparatus and congestion regulation control method | |
| JPH10105523A (ja) | オーバロード制御とメッセージ分配を統合するシステムおよび方法 | |
| US20030229817A1 (en) | Clone-managed session affinity | |
| Ethilu et al. | An efficient switch migration scheme for load balancing in software defined networking | |
| US7165106B2 (en) | Method of managing operation of computer system | |
| KR0122307B1 (ko) | 데이타 분배방식 | |
| JP2000512453A (ja) | Atmネットワーク管理 | |
| US20030072260A1 (en) | Multi-dimensional buffer management hierarchy | |
| JPH11514177A (ja) | ネットワーク・サーバの過負荷を防止するための装置および方法 | |
| US7068604B2 (en) | Managing memory resident queues to control resources of the systems using the queues | |
| JP2002157233A (ja) | マルチセンサ処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: NIPPON TELEGRAPH AND TELEPHONE CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SUGURI, TOSHIHIKO;YAMASHITA, HIROYUKI;OKADA, YASUSHI;REEL/FRAME:008667/0479 Effective date: 19970723 |
|
| FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| FPAY | Fee payment |
Year of fee payment: 4 |
|
| FPAY | Fee payment |
Year of fee payment: 8 |
|
| REMI | Maintenance fee reminder mailed | ||
| LAPS | Lapse for failure to pay maintenance fees | ||
| STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
| FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20120215 |