An elastic cloud terminal resources scheduling scheme using dual layer network load balancing
A dual layer network load balancing strategy addresses inefficient resource utilization in cloud-based systems by balancing user-hub and hub-terminal loads, improving resource allocation and efficiency.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-05
- Publication Date
- 2026-03-12
AI Technical Summary
Inefficient resource utilization occurs in cloud-based information processing systems due to inadequate network load balancing, leading to under-utilization of terminal resources and economic inefficiencies.
Implementing a dual layer network load balancing strategy that includes a first layer for user-hub balancing and a second layer for hub-terminal balancing, using network load metrics to select appropriate hubs and terminals for client service tasks, ensuring balanced resource allocation.
Enhances resource utilization and economic efficiency by evenly distributing network loads across multiple hubs and terminals, preventing overloading and underutilization.
Smart Images

Figure CN2024117061_12032026_PF_FP_ABST
Abstract
Description
AN ELASTIC CLOUD TERMINAL RESOURCES SCHEDULING SCHEME USING DUAL LAYER NETWORK LOAD BALANCINGTECHNICAL FIELD
[0001] This disclosure relates generally to the field of a cloud-based information processing system, and, in particular, to network load balancing for a cloud-based terminal resources scheduling system.BACKGROUND
[0002] An information processing system may be designed using a highly spatially distributed architecture. One highly spatially distributed architecture is a cloud-based information processing system where a plurality of servers and resources are interconnected via a geographically dispersed network to provide services to a plurality of clients (i.e., users) . In certain use case scenarios, inefficient resource utilization may occur within the cloud-based information processing system unless effective network load balancing is applied.SUMMARY
[0003] The following presents a simplified summary of one or more aspects of the present disclosure, in order to provide a basic understanding of such aspects. This summary is not an extensive overview of all contemplated features of the disclosure, and is intended neither to identify key or critical elements of all aspects of the disclosure nor to delineate the scope of any or all aspects of the disclosure. Its sole purpose is to present some concepts of one or more aspects of the disclosure in a simplified form as a prelude to the more detailed description that is presented later.
[0004] In one aspect, the disclosure provides dual layer load balancing. Accordingly, the present disclosure discloses an apparatus including: a plurality of hubs configured to serve as a network interface for a remote user community; and a gateway coupled to the plurality of hubs, the gateway configured to execute a network load balancing strategy using a network load of cloud terminal resources to select one hub from the plurality of hubs.
[0005] In one example, the apparatus further includes a plurality of terminals coupled to the plurality of hubs, the plurality of terminals configured to provide access to services, resource or data to the remote user community. In one example, the plurality of hubs is further configured to serve as the network interface between the remote user community and the plurality of terminals.
[0006] Another aspect of the disclosure provides an apparatus for dual layer load balancing, the apparatus including: means for executing a first layer network load balancing strategy for a client server task using a network load of each of a plurality of hubs; means for obtaining a network load of cloud terminal resources in a hub center on a hub-terminal side for the client service task; and means for executing a second layer network load balancing strategy for the client service task using the network load of the cloud terminal resources to select one hub.
[0007] In one example, the apparatus further includes means for obtaining the network load of the each of the plurality of hubs on a user-hub side for the client service task. In one example, the apparatus further includes: means for selecting a terminal in the one hub for handling the client service task; and means for obtaining a requested bandwidth estimate for the client service task.
[0008] In one example, the second layer network load balancing strategy calculates an average busy index for the each of the plurality of hubs. In one example, the second layer network load balancing strategy calculates an unbalance index for the each of the plurality of hubs. In one example, the second layer network load balancing strategy selects one of the plurality of hubs with a minimum unbalance index.
[0009] Another aspect of the disclosure provides a method including: executing a first layer network load balancing strategy for a client server task using a network load of each of a plurality of hubs; obtaining a network load of cloud terminal resources in a hub center on a hub-terminal side for the client service task; and executing a second layer network load balancing strategy for the client service task using the network load of the cloud terminal resources to select one hub.
[0010] In one example, the second layer network load balancing strategy calculates an average busy index for the each of the plurality of hubs. In one example, the second layer network load balancing strategy calculates an unbalance index for the each of the plurality of hubs. In one example, the second layer network load balancing strategy selects one of the plurality of hubs with a minimum unbalance index. In one example, the first layer network load balancing strategy constrains a sum of a requested bandwidth and a total used bandwidth to be no greater than a scaled maximum bandwidth.
[0011] In one example, the method further includes obtaining the network load of the each of the plurality of hubs on a user-hub side for the client service task. In one example, the method further includes selecting a terminal in the one hub for handling the client service task. In one example, the method further includes obtaining a requested bandwidth estimate for the client service task. In one example, the method further includes: uploading a required input data; and submitting a cloud terminal resource request for the client service task.
[0012] In one example, the client service task is in a cloud-based information processing system. In one example, the cloud terminal resources include one of the following: a mobile device, an automotive electronics device, an Internet of Things (IOT) device or computer device.
[0013] These and other aspects of the present disclosure will become more fully understood upon a review of the detailed description, which follows. Other aspects, features, and implementations of the present disclosure will become apparent to those of ordinary skill in the art, upon reviewing the following description of specific, exemplary implementations of the present invention in conjunction with the accompanying figures. While features of the present invention may be discussed relative to certain implementations and figures below, all implementations of the present invention can include one or more of the advantageous features discussed herein. In other words, while one or more implementations may be discussed as having certain advantageous features, one or more of such features may also be used in accordance with the various implementations of the invention discussed herein. In similar fashion, while exemplary implementations may be discussed below as device, system, or method implementations it should be understood that such exemplary implementations can be implemented in various devices, systems, and methods.BRIEF DESCRIPTION OF THE DRAWINGS
[0014] FIG. 1 illustrates an example cloud-based information processing system.
[0015] FIG. 2 illustrates an example dual layer cloud-based information processing system.
[0016] FIG. 3 illustrates an overview example of a dual layer load balancing sequence.
[0017] FIG. 4 illustrates an example dual layer load balancing sequence.
[0018] FIG. 5 illustrates an example single layer load balancing sequence.
[0019] FIG. 6 illustrates an example single layer load balancing scenario.
[0020] FIG. 7 illustrates an example dual layer load balancing scenario.
[0021] FIG. 8 illustrates an example flow diagram for implementing dual layer load balancing.
[0022] FIG. 9 illustrates an example single layer load balancing scenario performance results summary.
[0023] FIG. 10 illustrates an example dual layer load balancing scenario performance results summary.DETAILED DESCRIPTION
[0024] The detailed description set forth below in connection with the appended drawings is intended as a description of various configurations and is not intended to represent the only configurations in which the concepts described herein may be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of various concepts. However, it will be apparent to those skilled in the art that these concepts may be practiced without these specific details. In some instances, well known structures and components are shown in block diagram form in order to avoid obscuring such concepts.
[0025] While for purposes of simplicity of explanation, the methodologies are shown and described as a series of acts, it is to be understood and appreciated that the methodologies are not limited by the order of acts, as some acts may, in accordance with one or more aspects, occur in different orders and / or concurrently with other acts from that shown and described herein. For example, those skilled in the art will understand and appreciate that a methodology could alternatively be represented as a series of interrelated states or events, such as in a state diagram. Moreover, not all illustrated acts may be required to implement a methodology in accordance with one or more aspects.
[0026] An information processing system may be a highly distributed information processing system; that is, with system elements geographically dispersed from a plurality of users. One example of a highly distributed information processing system is a cloud-based information processing system. In one example, a cloud-based information processing system is based on a distributed client-server architectural paradigm. For example, a client is a user of an application or a service and a server is a provider of the application or service. For example, a cloud is a distributed information processing system which is spatially dispersed and interconnected by a wide area network (WAN) .
[0027] In one example, the cloud-based information processing system may be a cloud terminal resources platform. For example, the cloud terminal resources platform may provide access to services (e.g., email, social media, etc. ) , resources (e.g., memory, processing engine, video / audio devices, etc. ) and data from a service provider to a plurality of remote users. For example, remote users may access various terminal resources that are under development for testing and evaluation. In one example, the cloud-based terminal resources platform may be used for remote user test and evaluation of new and prototype consumer products.
[0028] FIG. 1 illustrates an example cloud-based information processing system 100. In one example, a remote user community 110 (e.g., external user) connects to a plurality of terminals 130 via a hub center 120. In one example, the remote user community 110 includes a server 111 connected to a gateway 114 via a first gateway interconnection 115, a personal computer (PC) 112 connected to the gateway 114 via a second gateway interconnection 116 and a cloud virtual machine (VM) 113 connected to the gateway 114 via a third gateway interconnection 117. In one example, the gateway 114 is connected to the hub center 120 via a hub interconnection 118.
[0029] In one example, the hub center 120 includes a first hub element 121, a second hub element 122 and a third hub element 123. In one example, the first hub element 121 is connected to a first terminal 131 of the plurality of terminals 130 via a first terminal interconnection 124. In one example, the second hub element 122 is connected to a second terminal 132 of the plurality of terminals 130 via a second terminal interconnection 125. In one example, the third hub element 123 is connected to a third terminal 133 of the plurality of terminals 130 via a third terminal interconnection 126. Although only three hubs and three terminals are illustrated in FIG. 1, one skilled in the art would understand that other quantities of hubs and / or terminals are also within the spirit and scope of the present disclosure.
[0030] In one example, the example cloud-based information processing system 100 may be used by hardware or software vendors to release chipset microcode or software services through a cloud platform for public use and testing. In one example, the plurality of terminals 130 (e.g., vendor hardware and software) may be connected to the hub center 120 via hardline connections (e.g., data cables) or wireless connections (e.g., WiFi, Bluetooth, etc. ) . In one example, an external user of the remote user community 110 may use the hub center 120 to access the plurality of terminals 130. In one example, a cloud terminal resource platform manages various terminal types such as a mobile device, automotive electronics, Internet of Things (IOT) devices, computers, etc.
[0031] In one example, for a cloud terminal resource platform, a plurality (e.g., greater than 100) of terminals may be connected to a hub center. In one example, the type of tasks executed by the plurality of terminals may be classified into input / output (I / O) intensive tasks and processor intensive tasks. In one example, processor intensive tasks may execute independently between terminal resources. In one example, I / O intensive tasks may affect each other due to shared hub bandwidth. For example, the shared hub bandwidth may result in a terminal task reaching a limit bandwidth which may cause serious performance issues. Without consideration of network load between terminal resources and the hub center, a total bandwidth may meet requirements, but some hubs of the hub center may be assigned large traffic tasks multiple times. In one example, the multiple task assignments may cause under-utilization of terminal resources which may lead to wasted resources and low economic efficiency.
[0032] In one example, a network load is a traffic demand over a network interface. One measure of network load is denoted as bandwidth, measured in bits per second (bps) . Network load may be decomposed into a plurality of layers between a user and a plurality of network resources. For example, in the example cloud-based information processing system 100 where the remote user community 110 connects to the plurality of terminals 130 via the hub center 120, the network load between the remote user community 110 and the hub center 120 may be denoted as a first layer and the network load between the hub center 120 and the plurality of terminals 130 may be denoted as a second layer.
[0033] FIG. 2 illustrates an example dual layer cloud-based information processing system 200. In one example, a user 210 is connected to a gateway 220 via a gateway interconnection 211. For example, the gateway 220 may serve as a network portal for the user 210. In one example, the gateway 220 may include a network router, network switch, security interface, a modem, etc. In one example, the gateway 220 is connected to a hub center 230 via a hub interconnection 221. In hub center 230 includes a first hub 231, a second hub 232 and a third hub 233. In one example, the first hub 231 handles a first plurality of tasks 237, the second hub 232 handles a second plurality of tasks 238 and third hub 233 handles a third plurality of tasks 239.
[0034] In one example, the hub center 230 is connected to a plurality of terminals 240. In one example, the first hub 231 connects to a first terminal 241 via a first terminal interconnection 234, the second hub 232 connects to a second terminal 242 via a second terminal interconnection 235 and the third hub 233 connects to a third terminal 243 via a third terminal interconnection 236. In one example, the first terminal 241 executes the first plurality of tasks 237, the second terminal 242 executes the second plurality of tasks 238 and the third terminal 243 executes the third plurality of tasks 239. Although only three hubs and three terminals are illustrated in FIG. 2, one skilled in the art would understand that other quantities of hubs and / or terminals are also within the spirit and scope of the present disclosure.
[0035] FIG. 3 illustrates an overview example 300 of a dual layer load balancing sequence. In one example, in a first step 310 (Step 1) , upload input data and submit a resource request. In one example, the resource request is submitted to a resource scheduling system.
[0036] In one example, in a second step 320 (Step 2) , obtain a network load prediction. That is, get the predicted value of network load. In one example, the network load prediction is obtained from a network load prediction evaluation program, from a task predefinition, from historical data, etc.
[0037] In one example, in a third step 330 (Step 3) , execute a user-hub network load balancing strategy. That is, execute the layer 1 user-hub side network load balancing strategy. In one example, the user-hub network load balancing strategy is a layer 1 network load balancing strategy. In one example, the user-hub network load balancing strategy ensures that an actual network bandwidth usage of a hub center is less than a maximum allowed bandwidth.
[0038] In one example, in a fourth step 340 (Step 4) , execute a hub-terminal network load balancing strategy. That is, execute the layer 2 hub-terminal side network load balancing strategy. In one example, the hub-terminal network load balancing strategy is a layer 2 network load balancing strategy. In one example, the hub-terminal network load balancing strategy uses a request load and hub load usage as input parameters to calculate a resource allocation balance.
[0039] In one example, in a fifth step 350 (Step 5) , select a terminal resource which meets the user-hub network load balancing strategy and the hub-terminal network load balancing strategy. That is, choose a device meeting dual-layers strategy. In one example, the terminal resource is selected based on a most appropriate balance is a ranking of resource allocation balance.
[0040] For the overview example of the dual layer load balancing sequence, if a task applies to multiple terminal devices at the same time, the multiple terminal devices need to be applied in order. For example, if the task applies to two terminal devices, bandwidth usage of a first device needs to be included when applying to a second device.
[0041] FIG. 4 illustrates an example dual layer load balancing sequence 400. In one example, in a first step 410 (Step 1) , upload the required input data and apply resources after submitting a resource request for a client service. In one example, the resource request is submitted to a resource scheduling system. In one example, the resource request includes at least the quantity of resources and the type of cloud terminal resources.
[0042] In one example, in a second step 420 (Step 2) , obtain an estimate of task network load (e.g., requested bandwidth) required from a network load evaluation program, a task predefinition, historical data, etc. In one example, if the required input data have no correlation to network load, the estimate of task network load may be obtained from a task predefinition or from historical data. In one example, if the required input data are correlated to network load, task predefinition or historical data may be used, but more accurate data may be obtained using the network load evaluation program. In one example, the network load evaluation program yields a time-varying parameter Bandwidth-request (t) that is a function of time t.
[0043] In one example, in a third step, first part, 430 (Step 3, part 1) , obtain a network load of each hub in a hub center on a user-hub side. In one example, in the third step, second part, 431 (Step 3, part 2) , execute a first layer network load balancing strategy. In one example, the first layer network load balancing strategy constrains a sum of a requested bandwidth (e.g., BWrequest) and a total used bandwidth (e.g., Σ BWused) to be no greater than a scaled maximum bandwidth (e.g., β BWmax) . That is, BWrequest + Σ BWused ≤ β BWmax.
[0044] In one example, the requested bandwidth, BWrequest, is the total requested bandwidth, the total used bandwidth, Σ BWused, is in each hub, a load factor, β, has a range 0 ≤ β ≤ 1 and the maximum bandwidth, BWmax, is a maximum bandwidth in each hub.
[0045] In one example, in a fourth step, first part, 440 (Step 4, part 1) , obtain a network load of terminals in a hub center on a hub-terminal side. In one example, in the fourth step, second part, 441 (Step 4, part 2) , execute a second layer network load balancing strategy. In one example, the second layer network load balancing strategy performs the following three actions: (1) calculate an average busy index Xhub for each hub, (2) calculate an unbalance index σ for each hub, (3) select one hub with a minimum unbalance index σmin.
[0046] In one example, the average busy index for each hub i may be computed via Xhub, i = (BWrequest, i + Σ BWused, ) / (β BWmax, i) .
[0047] In one example, the unbalance index for each hub i may be computed via σi =√ [Σ (Xhub, i-μ) 2 / N] ,
[0048] where μ = mean value of Xhub, i and N = quantity of hubs in the hub center.
[0049] In one example, if in the selection of one hub there is more than one hub with the minimum unbalance index σmin, select any one hub with the minimum unbalance index.
[0050] In one example, in a fifth step, 450 (Step 5) , select a terminal in the selected one hub for handling the client service. That is, choose a terminal in the hub from results calculated in Step 4. In one example, the selected terminal has a minimum standard deviation for the average busy index.
[0051] FIG. 5 illustrates an example single layer load balancing sequence 500. In one example, in a first step 510 (Step 1) , upload the required input data and apply resources after submitting a resource request for a client service. In one example, the resource request is submitted to a resource scheduling system. In one example, the resource request includes at least the quantity of resources and the type of cloud terminal resources.
[0052] In one example, in a second step 520 (Step 2) , obtain an estimate of task network load (e.g., requested bandwidth) required from a network load evaluation program, a task predefinition, historical data, etc. In one example, if the required input data have no correlation to network load, the estimate of task network load may be obtained from a task predefinition or from historical data. In one example, if the required input data are correlated to network load, task predefinition or historical data may be used, but more accurate data may be obtained using the network load evaluation program. In one example, the network load evaluation program yields a time-varying parameter Bandwidth-request (t) that is a function of time t.
[0053] In one example, in a third step, first part, 530 (Step 3, part 1) , obtain a network load of each hub in a hub center on a user-hub side. In one example, in the third step, second part, 531 (Step 3, part 2) , execute a first layer network load balancing strategy. In one example, the first layer network load balancing strategy constrains a sum of a requested bandwidth (e.g., BWrequest) and a total used bandwidth (e.g., Σ BWused) to be no greater than a scaled maximum bandwidth (e.g., β BWmax) . That is, BWrequest + Σ BWused ≤ β BWmax.
[0054] In one example, the requested bandwidth, BWrequest, is the total requested bandwidth, the total used bandwidth, Σ BWused, is in each hub, a load factor, β, has a range 0 ≤ β ≤ 1 and the maximum bandwidth, BWmax, is a maximum bandwidth in each hub.
[0055] In one example, in a fourth step, 540 (Step 4) , select one hub which complies with the first layer network load balancing strategy by an arbitrary selection rule. In one example, the arbitrary selection rule may be sequential, random, based on a minimum count of used devices, etc. In one example, select a device in the selected one hub.
[0056] In one example, in a fifth step, 550 (Step 5) , select a terminal in the selected one hub for handling the client service.
[0057] FIG. 6 illustrates an example single layer load balancing scenario 600. In one example, a user 610 connects to a hub 620 via a hub interconnection 611 for servicing of a plurality of jobs 612. In one example, the hub 620 is selected among a plurality of hubs using a first layer load balancing constraint 613. In one example, the hub 620 connects to a plurality of terminals 630 via a terminal interconnection 621. In one example, the plurality of terminals 630 includes a first terminal 631, a second terminal 632, a third terminal 633 and a fourth terminal 634. In one example, the single layer load balancing scenario 600 does not consider a second layer between the hub 620 and the plurality of terminals 630 for load balancing. Although only four terminals are illustrated in FIG. 6, one skilled in the art would understand that other quantities of terminals are also within the spirit and scope of the present disclosure.
[0058] FIG. 7 illustrates an example dual layer load balancing scenario 700. In one example, a user 710 connects to a hub 720 via a hub interconnection 711 for servicing of a plurality of jobs 712. In one example, the hub 720 connects to a plurality of terminals 730 via a terminal interconnection 721. In one example, the plurality of terminals 730 includes a first terminal 731, a second terminal 732, a third terminal 733 and a fourth terminal 734. In one example, the dual layer load balancing scenario 700 includes a second layer between the hub 720 and the plurality of terminal 730 for load balancing. In one example, the hub 720 and one terminal are selected using a first layer load balancing constraint 713 and a second layer load balancing constraint 722. Although only four terminals are illustrated in FIG. 7, one skilled in the art would understand that other quantities of terminals are also within the spirit and scope of the present disclosure.
[0059] FIG. 8 illustrates an example flow diagram 800 for implementing dual layer load balancing. In block 810, upload a required input data and submit a cloud terminal resource request for a client service task in a cloud-based information processing system. In one example, a required input data is uploaded and a cloud terminal resource request is submitted for a client service task in a cloud-based information processing system.
[0060] In one example, the cloud terminal resource request is submitted to a cloud terminal resource scheduling system. In one example, the cloud terminal resource request includes at least a quantity of cloud terminal resources and a type of cloud terminal resources. the cloud-based information processing system is a distributed information processing system which is spatially dispersed and interconnected by a wide area network (WAN) . In one example, the cloud terminal resources may be a mobile device, an automotive electronics device, Internet of Things (IOT) devices, computers, etc. In one example, the step of block 810 is performed by one of a remote user community, for example but not limited to, a server, a personal computer (PC) or a cloud virtual machine (VM) , a mobile phone or any Internet connected device.
[0061] In block 820, obtain a requested bandwidth estimate for the client service task (e.g., required client service task network load) . In one example, a requested bandwidth estimate for the client service task is obtained. In one example, the requested bandwidth estimate may be obtained from a network load evaluation program, a task predefinition, historical data, etc. In one example, if the required input data have no correlation to network load, the requested bandwidth estimate may be obtained from a task predefinition or from historical data. In one example, if the required input data are correlated to network load, the requested bandwidth estimate may be obtained from the task predefinition or historical data, or may be obtained using the network load evaluation program. In one example, the network load evaluation program yields a time-varying requested bandwidth parameter. In one example, the step of block 820 is performed by one of a remote user community, for example but not limited to, a server, a personal computer (PC) or a cloud virtual machine (VM) , a mobile phone or any Internet connected device.
[0062] In block 830, obtain a network load of each of a plurality of hubs on a user-hub side for the client service task. In one example, a network load of each of a plurality of hubs on a user-hub side is obtained for the client service task. In one example, each hub of the plurality of hubs is an Internet protocol (IP) router. In one example, each hub of the plurality of hubs is a link layer switch (e.g., Ethernet switch, asynchronous transfer mode (ATM) switch, etc. In one example, the step of block 830 is performed by one of a remote user community, for example but not limited to, a server, a personal computer (PC) or a cloud virtual machine (VM) , a mobile phone or any Internet connected device.
[0063] In block 840, execute a first layer network load balancing strategy for the client server task using the network load of the each of the plurality of hubs. In one example, a first layer network load balancing strategy for the client server task is executed using the network load of the each of the plurality of hubs. In one example, the first layer network load balancing strategy constrains a sum of a requested bandwidth (e.g., BWrequest) and a total used bandwidth (e.g., Σ BWused) to be no greater than a scaled maximum bandwidth (e.g., β BWmax) . In one example, the requested bandwidth (BWrequest) is the total requested bandwidth; the total used bandwidth (Σ BWused) is in each hub; a scaling parameter (β) has a range 0 ≤ β ≤ 1; and the maximum bandwidth (BWmax) is a maximum bandwidth in each hub. In one example, the step in block 840 is performed by a gateway, a network router, network switch, security interface, a modem or a hub.
[0064] In block 850, obtain a network load of cloud terminal resources in a hub center on a hub-terminal side for the client service task. In one example, a network load of cloud terminal resources in a hub center on a hub-terminal side is obtained for the client service task. In one example, the cloud terminal resources include a mobile device, an automotive electronics device, an Internet of Things (IOT) device, computer device, etc. In one example, the step in block 850 is performed by a gateway, a network router, network switch, security interface, a modem or a hub.
[0065] In block 860, execute a second layer network load balancing strategy for the client service task using the network load of the cloud terminal resources to select one hub. In one example, a second layer network load balancing strategy for the client service task is executed using the network load of the cloud terminal resources to select one hub. In one example, the second layer network load balancing strategy calculates an average busy index Xhub for each hub. In one example, the second layer network load balancing strategy calculates an unbalance index σ for each hub. In one example, the second layer network load balancing strategy selects one hub with a minimum unbalance index σmin. In one example, the step in block 860 is performed by a gateway, a network router, network switch, security interface, a modem or a hub.
[0066] In block 870, select a terminal in the one hub for handling the client service task. In one example, a terminal in the one hub is selected for handling the client service task. In one example, the selected terminal has a minimum standard deviation for the average busy index. In one example, the step in block 870 is performed by a terminal, a mobile device, automotive electronics, Internet of Things (IOT) devices, computers, or any Internet connected device.
[0067] In one example, performance improvement using a dual layer load balancing strategy instead of a single layer load balancing strategy may be illustrated by comparing performance results for a particular scenario where a maximum bandwidth is BWmax, load factor β= 1, and a number of hubs = 2 connect to N terminal devices with M tasks.
[0068] FIG. 9 illustrates an example single layer load balancing scenario performance results summary 900. Shown are a third step for task 1 910 and a fourth step for task 1 911; a third step for task 2 920 and a fourth step for task 2 921; a third step for task 3 930 and a fourth step for task 3 931; and a third step for task 4 940 and a fourth step for task 4 941. In one example, single layer load balancing scenario performance results 950 show that in this scenario, subsequent tasks can only be assigned to a second hub since bandwidth is fully loaded in a first hub. In one example, the first hub is occupied by two large traffic tasks and remaining terminal devices cannot be assigned to other tasks.
[0069] FIG. 10 illustrates an example dual layer load balancing scenario performance results summary 1000. Shown are a third step for task 1 1010 and a fourth step for task 1 1011; a third step for task 2 1020 and a fourth step for task 2 1021; a third step for task 3 1030 and a fourth step for task 3 1031; and a third step for task 4 1040 and a fourth step for task 4 1041. In one example, dual layer load balancing scenario performance results 1050 show that in this scenario, bandwidth allocation among terminal devices is more uniform and large traffic tasks are assigned to different hubs which improves terminal device utilization.
[0070] In one aspect, one or more of the steps for providing dual layer load balancing in FIG. 8 may be executed by one or more processors which may include hardware, software, firmware, etc. The one or more processors, for example, may be used to execute software or firmware needed to perform the steps in the flow diagram of FIG. 8. Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
[0071] The software may reside on a computer-readable medium. The computer-readable medium may be a non-transitory computer-readable medium. A non-transitory computer-readable medium includes, by way of example, a magnetic storage device (e.g., hard disk, floppy disk, magnetic strip) , an optical disk (e.g., a compact disc (CD) or a digital versatile disc (DVD) ) , a smart card, a flash memory device (e.g., a card, a stick, or a key drive) , a random access memory (RAM) , a read only memory (ROM) , a programmable ROM (PROM) , an erasable PROM (EPROM) , an electrically erasable PROM (EEPROM) , a register, a removable disk, and any other suitable medium for storing software and / or instructions that may be accessed and read by a computer. The computer-readable medium may also include, by way of example, a carrier wave, a transmission line, and any other suitable medium for transmitting software and / or instructions that may be accessed and read by a computer. The computer-readable medium may reside in a processing system, external to the processing system, or distributed across multiple entities including the processing system. The computer-readable medium may be embodied in a computer program product. By way of example, a computer program product may include a computer-readable medium in packaging materials. The computer-readable medium may include software or firmware. Those skilled in the art will recognize how best to implement the described functionality presented throughout this disclosure depending on the particular application and the overall design constraints imposed on the overall system.
[0072] Any circuitry included in the processor (s) is merely provided as an example, and other means for carrying out the described functions may be included within various aspects of the present disclosure, including but not limited to the instructions stored in the computer-readable medium, or any other suitable apparatus or means described herein, and utilizing, for example, the processes and / or algorithms described herein in relation to the example flow diagram.
[0073] Within the present disclosure, the word “exemplary” is used to mean “serving as an example, instance, or illustration. ” Any implementation or aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects of the disclosure. Likewise, the term “aspects” does not require that all aspects of the disclosure include the discussed feature, advantage or mode of operation. The term “coupled” is used herein to refer to the direct or indirect coupling between two objects. For example, if object A physically touches object B, and object B touches object C, then objects A and C may still be considered coupled to one another-even if they do not directly physically touch each other. The terms “circuit” and “circuitry” are used broadly, and intended to include both hardware implementations of electrical devices and conductors that, when connected and configured, enable the performance of the functions described in the present disclosure, without limitation as to the type of electronic circuits, as well as software implementations of information and instructions that, when executed by a processor, enable the performance of the functions described in the present disclosure.
[0074] One or more of the components, steps, features and / or functions illustrated in the figures may be rearranged and / or combined into a single component, step, feature or function or embodied in several components, steps, or functions. Additional elements, components, steps, and / or functions may also be added without departing from novel features disclosed herein. The apparatus, devices, and / or components illustrated in the figures may be configured to perform one or more of the methods, features, or steps described herein. The novel algorithms described herein may also be efficiently implemented in software and / or embedded in hardware.
[0075] It is to be understood that the specific order or hierarchy of steps in the methods disclosed is an illustration of exemplary processes. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the methods may be rearranged. The accompanying method claims present elements of the various steps in a sample order, and are not meant to be limited to the specific order or hierarchy presented unless specifically recited therein.
[0076] The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but are to be accorded the full scope consistent with the language of the claims, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more. ” Unless specifically stated otherwise, the term “some” refers to one or more. A phrase referring to “at least one of” a list of items refers to any combination of those items, including single members. As an example, “at least one of: a, b, or c” is intended to cover: a; b; c; a and b; a and c; b and c; and a, b and c. All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. No claim element is to be construed under the provisions of 35 U.S.C. §112, sixth paragraph, unless the element is expressly recited using the phrase “means for” or, in the case of a method claim, the element is recited using the phrase “step for. ”
[0077] One skilled in the art would understand that various features of different embodiments may be combined or modified and still be within the spirit and scope of the present disclosure.
Claims
1.An apparatus comprising:a plurality of hubs configured to serve as a network interface for a remote user community; anda gateway coupled to the plurality of hubs, the gateway configured to execute a network load balancing strategy using a network load of cloud terminal resources to select one hub from the plurality of hubs.2.The apparatus of claim 1, further comprising a plurality of terminals coupled to the plurality of hubs, the plurality of terminals configured to provide access to services, resource or data to the remote user community.3.The apparatus of claim 2, wherein the plurality of hubs is further configured to serve as the network interface between the remote user community and the plurality of terminals.4.An apparatus for dual layer load balancing, the apparatus comprising:means for executing a first layer network load balancing strategy for a client server task using a network load of each of a plurality of hubs;means for obtaining a network load of cloud terminal resources in a hub center on a hub-terminal side for the client service task; andmeans for executing a second layer network load balancing strategy for the client service task using the network load of the cloud terminal resources to select one hub.5.The apparatus of claim 4, further comprising means for obtaining the network load of the each of the plurality of hubs on a user-hub side for the client service task.6.The apparatus of claim 5, wherein the second layer network load balancing strategy calculates an average busy index for the each of the plurality of hubs.7.The apparatus of claim 5, wherein the second layer network load balancing strategy calculates an unbalance index for the each of the plurality of hubs.8.The apparatus of claim 5, wherein the second layer network load balancing strategy selects one of the plurality of hubs with a minimum unbalance index.9.The apparatus of claim 5, further comprising:means for selecting a terminal in the one hub for handling the client service task; andmeans for obtaining a requested bandwidth estimate for the client service task.10.A method comprising:executing a first layer network load balancing strategy for a client server task using a network load of each of a plurality of hubs;obtaining a network load of cloud terminal resources in a hub center on a hub-terminal side for the client service task; andexecuting a second layer network load balancing strategy for the client service task using the network load of the cloud terminal resources to select one hub.11.The method of claim 10, wherein the second layer network load balancing strategy calculates an average busy index for the each of the plurality of hubs.12.The method of claim 10, wherein the second layer network load balancing strategy calculates an unbalance index for the each of the plurality of hubs.13.The method of claim 10, wherein the second layer network load balancing strategy selects one of the plurality of hubs with a minimum unbalance index.14.The method of claim 10, wherein the first layer network load balancing strategy constrains a sum of a requested bandwidth and a total used bandwidth to be no greater than a scaled maximum bandwidth.15.The method of claim 10, further comprising obtaining the network load of the each of the plurality of hubs on a user-hub side for the client service task.16.The method of claim 15, further comprising selecting a terminal in the one hub for handling the client service task.17.The method of claim 16, further comprising obtaining a requested bandwidth estimate for the client service task.18.The method of claim 17, further comprising:uploading a required input data; andsubmitting a cloud terminal resource request for the client service task.19.The method of claim 18, wherein the client service task is in a cloud-based information processing system.20.The method of claim 18, wherein the cloud terminal resources include one of the following: a mobile device, an automotive electronics device, an Internet of Things (IOT) device or computer device.
Citation Information
Patent Citations
Load balancing clustered system and method for providing services by using load balancing clustered system
CN103166870A
Highly available hybrid cloud connection system
CN109428937A
Network load balancing method and device and electronic equipment
CN115701175A
Cloud load balancing system and cloud load balancing method
CN116248683A
Methods and systems for load balancing using forecasting and overbooking techniques
US20110078318A1