A method, device, storage medium and product for resource scheduling

By creating pre-allocated resources for scheduled video conferences, monitoring changes in participating terminals, and dynamically adjusting resources, the problem of low MCU resource utilization was solved, achieving efficient resource utilization and improved user experience.

CN116506570BActive Publication Date: 2026-01-06CHINA CONSTRUCTION BANK +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310544166.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-15
Publication Date
2026-01-06
Estimated Expiration
2043-05-15

AI Technical Summary

Technical Problem

In existing technologies, the utilization rate of MCU resources in online video conferencing is low, resulting in resource waste and failure to meet actual needs.

Method used

By creating pre-allocated resources for scheduled video conferences, continuously monitoring changes in the number of participating terminals, adjusting resource allocation based on these changes, reclaiming unused resources, and optimizing the use of the MCU resource pool.

Benefits of technology

It improves the utilization rate of MCU resources, ensures smooth video conferencing, avoids resource waste, and enhances user experience and system stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116506570B_ABST
    Figure CN116506570B_ABST
Patent Text Reader

Abstract

The application discloses a resource scheduling method and device, a storage medium and a product, and is applied to the field of video data processing, and the method comprises the steps of creating pre-occupied resources for a reserved video conference; continuously monitoring the variation of participating terminals of the video conference after the video conference starts for a preset time length; adjusting the pre-occupied resources according to the variation of the participating terminals; and recycling the resources occupied by the video conference after the video conference ends.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of video data processing, in particular to a resource scheduling method and device, a storage medium and a product. BACKGROUND

[0002] Online video conference is used by more and more customers because it is not limited by the office location.

[0003] However, the online video conference often needs the support of the Multi Control Unit (MCU) resource in the video conference service area, and the capacity and stability of the MCU resource is one of the important factors to determine the quality of the online video conference and the number of access conference terminals. The more terminals that access the video conference, the more MCU resources are needed.

[0004] Generally, when a one-time open online video conference is scheduled, unless there is a strict limit, it is not clear how many terminals will actually join the conference when the conference is actually conducted. In order to avoid the video conference from being unable to create because of no available resources at the scheduled time, the general practice is to pre-occupy a part of the MCU resources of the video server according to the conference time. However, when the video conference is conducted, if too many terminals join the conference, the pre-occupied resources will be exceeded. In order to ensure that the excess terminals can successfully join the conference, more resources need to be applied from the MCU for this online video conference. However, in the case of limited MCU resources, applying more resources often fails, which will result in the excess terminals being unable to join the conference. When the number of terminals that join the conference does not reach the expected number, the pre-occupied excess resources will be wasted.

[0005] Therefore, how to improve the utilization rate of limited MCU resources has become a technical problem to be solved. SUMMARY

[0006] The present application provides a resource scheduling method, device, storage medium and product to solve the technical problem of low utilization rate of MCU resources of the online video server in the prior art.

[0007] In a first aspect, to solve the above technical problem, the technical scheme of a resource scheduling method provided by an embodiment of the present application is as follows:

[0008] Pre-occupied resources are created for the scheduled video conference;

[0009] After the video conference starts for a preset time length, the change amount of the terminals that actually participate in the video conference is continuously monitored;

[0010] The pre-occupied resources are adjusted according to the change amount of the terminals that actually participate in the video conference;

[0011] When the video conference ends, the resources occupied by the video conference are recycled.

[0012] A possible implementation creates pre-occupied resources for a scheduled video conference, comprising:

[0013] According to the scheduling information of the video conference, it is determined whether the estimated total amount of resources corresponding to a first proportion of the total amount of resources required by the video conference can be met by the MCU resource pool at the start time of the video conference; wherein the MCU resource pool is composed of MCU resources of a plurality of video servers, and the scheduling information includes the start time of the video conference, the estimated conference duration, the estimated total number of participating terminals, and the importance of the conference.

[0014] If yes, the video conference is created on the video server with the highest idle rate of MCU resources among the plurality of video servers.

[0015] A possible implementation determines whether the estimated total amount of resources corresponding to a first proportion of the total amount of resources required by the video conference can be met by the MCU resource pool at the start time of the video conference, comprising:

[0016] Estimating the amount of MCU resources occupied by a single participating terminal;

[0017] Multiplying the amount of MCU resources, the estimated total number of participating terminals, and the first proportion to obtain the estimated total amount of resources;

[0018] Determining whether the idle resource amount of the MCU resource pool at the start time is greater than or equal to the estimated total amount of resources;

[0019] If yes, it is determined that the MCU resource pool meets the estimated total amount of resources at the start time of the video conference.

[0020] A possible implementation creates the video conference on the video server with the highest idle rate of MCU resources among the plurality of video servers, comprising:

[0021] Determining whether the MCU resources of the video server with the highest idle rate meet the estimated total amount of resources;

[0022] If yes, the video conference is created on the video server with the highest idle rate;

[0023] If no, the idle MCU resources of a plurality of video servers are concatenated to obtain concatenated resources that meet the estimated total amount of resources; and the video conference is created on the concatenated resources.

[0024] A possible implementation, before continuously monitoring the amount of change of participating terminals actually participating in the video conference, further comprises:

[0025] After the video conference starts for a preset time length, it is judged whether the resource amount occupied by the conference terminals actually participating in the video conference reaches the estimated total resource amount;

[0026] If not, the unoccupied resource in the preoccupied resource is recovered.

[0027] In a possible implementation, the video server comprises an application area, a recovery area and a standby area, and the proportion of the application area, the recovery area and the standby area in the MCU resource of the video server is 1.

[0028] In a possible implementation, the preoccupied resource is adjusted according to the conference terminal variation amount, comprising:

[0029] When the conference terminal variation amount is an increase, the resource is allocated to the newly added conference terminal from the recovery area;

[0030] When the conference terminal variation amount is a decrease, the resource occupied by the conference terminal leaving is recovered to the recovery area.

[0031] In a possible implementation, the resource is allocated to the newly added conference terminal from the recovery area, comprising:

[0032] It is judged whether the resource of the recovery area meets the resource requirement of the newly added conference terminal;

[0033] If not, the resource is allocated to the newly added conference terminal from the standby area.

[0034] In a possible implementation, the resource is allocated to the newly added conference terminal from the standby area, comprising:

[0035] It is judged whether the resource of the standby area meets the resource requirement of the newly added conference terminal;

[0036] If not, the resolution of the conference terminal using a resolution greater than a preset resolution in the occupied resource is compressed;

[0037] The resource saved after the resolution is compressed is allocated to the newly added conference terminal.

[0038] In a possible implementation, when the priority of the video conference is higher than a preset priority, the resource is preferentially allocated to the conference terminal participating in the video conference.

[0039] In a second aspect, an embodiment of the present application provides a resource scheduling device, comprising:

[0040] A creating unit is configured to create preoccupied resource for a reserved video conference;

[0041] A monitoring unit is configured to monitor a variation of terminals actually participating in the video conference after the video conference starts for a preset time length.

[0042] An adjusting unit is configured to adjust the pre-occupied resources according to the variation of terminals.

[0043] A recycling unit is configured to recycle the resources occupied by the video conference after the video conference ends.

[0044] In a possible implementation, the creating unit is specifically configured to:

[0045] determine, according to the reservation information of the video conference, whether a first proportion of an estimated total amount of resources can be met by a total amount of resources in an MCU resource pool at a start time of the video conference, wherein the MCU resource pool is composed of MCU resources of a plurality of video servers, and the reservation information includes the start time of the video conference, an estimated conference time length, an estimated total number of terminals, and conference importance.

[0046] If yes, the video conference is created on a video server with the highest idle rate of MCU resources among the plurality of video servers.

[0047] In a possible implementation, the creating unit is further configured to:

[0048] estimate an amount of MCU resources occupied by a single terminal.

[0049] perform a product operation on the amount of MCU resources, the estimated total number of terminals, and the first proportion to obtain the estimated total amount of resources.

[0050] determine whether an idle resource amount of the MCU resource pool at the start time is greater than or equal to the estimated total amount of resources.

[0051] If yes, it is determined that the MCU resource pool at the start time of the video conference can meet the estimated total amount of resources.

[0052] In a possible implementation, the creating unit is further configured to:

[0053] determine whether the MCU resources of the video server with the highest idle rate can meet the estimated total amount of resources.

[0054] If yes, the video conference is created on the video server with the highest idle rate of MCU resources.

[0055] If no, idle MCU resources of a plurality of video servers are cascaded to obtain cascaded resources that can meet the estimated total amount of resources, and the video conference is created on the cascaded resources.

[0056] In one possible implementation, the monitoring unit is further configured to:

[0057] After the video conference has been running for a preset duration, it is determined whether the amount of resources actually used by the participating terminals in the video conference has reached the estimated total amount of resources.

[0058] If not, then the unoccupied resources in the pre-occupied resources will be reclaimed.

[0059] In one possible implementation, the video server includes an application area, a recycling area, and a spare area, wherein the sum of the proportions of the application area, the recycling area, and the spare area to the MCU resources in the video server is 1.

[0060] In one possible implementation, the adjustment unit is further configured to:

[0061] When the change in the number of participating terminals is an increase, resources are allocated from the recycling area to the newly added participating terminals;

[0062] When the change in the number of participating terminals is decreasing, the resources occupied by the departing participating terminals are recycled to the recycling area.

[0063] In one possible implementation, the adjustment unit is further configured to:

[0064] Determine whether the resources in the recycling area meet the resource requirements of the newly added participating terminal;

[0065] If the conditions are not met, resources will be allocated from the spare area to the newly added participating terminal.

[0066] In one possible implementation, the adjustment unit is further configured to:

[0067] Determine whether the resources in the backup area meet the resource requirements of the newly added participating terminal;

[0068] If this condition is not met, then the resolution of the participating terminals that have already occupied resources will be compressed to a resolution greater than the preset resolution.

[0069] The resources saved by compressing the resolution will be allocated to the newly added participating terminals.

[0070] In one possible implementation, the adjustment unit is further configured to:

[0071] When the priority of the video conference is higher than the preset priority, resources are allocated to the participating terminals in the video conference first.

[0072] Thirdly, embodiments of the present invention also provide a resource scheduling apparatus, comprising:

[0073] At least one processor, and

[0074] Memory connected to the at least one processor;

[0075] The memory stores instructions that can be executed by the at least one processor, which executes the instructions stored in the memory to perform the method described in the first aspect above.

[0076] Fourthly, embodiments of the present invention also provide a readable storage medium, comprising:

[0077] memory,

[0078] The memory is used to store instructions that, when executed by a processor, cause the apparatus including the readable storage medium to perform the method described in the first aspect above.

[0079] Fifthly, embodiments of the present invention provide a computer program product, including a computer program that, when executed by a processor, implements the method described in the first aspect.

[0080] Through the technical solutions in one or more of the above embodiments of the present invention, the embodiments of the present invention have at least the following technical effects:

[0081] In the embodiments provided by this invention, by creating pre-occupied resources for the scheduled video conference, the smooth start of the video conference can be ensured; after the preset duration of the video conference starts, the change in the number of participating terminals in the video conference is continuously monitored; and the pre-occupied resources are adjusted according to the change in the number of participating terminals, so as to dynamically adjust the MCU resources occupied by the video conference according to the actual participation of the participating terminals, thereby improving the utilization rate of MCU resources; when the video conference ends, the resources occupied by the video conference are recovered and can be used for other video conferences, further improving the utilization rate of MCU resources. Attached Figure Description

[0082] Figure 1 A flowchart of a resource scheduling method provided in an embodiment of the present invention;

[0083] Figure 2 A schematic diagram of the framework of a video conferencing system provided in an embodiment of the present invention;

[0084] Figure 3 A schematic diagram of an MCU resource pool provided in an embodiment of the present invention;

[0085] Figure 4 A network architecture diagram for online video conferencing is provided in an embodiment of the present invention;

[0086] Figure 5 A schematic diagram of video server partitioning provided in an embodiment of the present invention;

[0087] Figure 6 A schematic diagram illustrating the entire lifecycle of a video conferencing process, provided as an embodiment of the present invention;

[0088] Figure 7 This is a schematic diagram of a resource scheduling device provided in an embodiment of the present invention. Detailed Implementation

[0089] This invention provides a method, apparatus, storage medium, and product for resource scheduling, aiming to solve the technical problem of low MCU resource utilization in existing online video servers. The acquisition, storage, use, and processing of data in this application all comply with relevant national laws and regulations.

[0090] To better understand the above technical solutions, the technical solutions of the present invention will be described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the embodiments of the present invention and the specific features in the embodiments are detailed descriptions of the technical solutions of the present invention, rather than limitations on the technical solutions of the present invention. In the absence of conflict, the embodiments of the present invention and the technical features in the embodiments can be combined with each other.

[0091] Please refer to Figure 1 This invention provides a resource scheduling method, the processing procedure of which is as follows.

[0092] Step 101: Create pre-allocated resources for the scheduled video conference;

[0093] Please see Figure 2 This is a schematic diagram of the framework of a video conferencing system provided in an embodiment of the present invention.

[0094] The video conferencing system includes a scheduling server and multiple video conferencing servers (video conferencing server 1 to video conferencing server n), where n is a natural number. The scheduling server can abstract the MCU resources 1 to MCU resources n from video conferencing server 1 to video conferencing server n into an MCU resource pool, providing unified services to the outside world. For example... Figure 3 The diagram shown is a schematic diagram of an MCU resource pool provided in an embodiment of the present invention.

[0095] In some embodiments, pre-occupied resources for scheduled video conferences can be created in the following ways:

[0096] Based on the video conference reservation information, determine whether the MCU resource pool can meet the first proportion of the total resources required for the video conference at the start time. The MCU resource pool consists of the MCU resources of multiple video servers. The reservation information includes the start time of the video conference, the estimated conference duration, the estimated total number of participating terminals, and the importance of the conference. If the conditions are met, the video conference is created on the video server with the highest MCU resource idle rate among the multiple video servers.

[0097] The aforementioned first proportion can be 70%, 60%, etc., and can be preset or determined based on the proportion of participating terminals counted within a certain period of time since the start of historical video conferences to the estimated total number of participating terminals.

[0098] Participating terminals can be computers, laptops, or other devices accessing the video conference via the internet, or mobile phones, tablets, telephones, or other devices accessing the video conference via a mobile network. The party booking the meeting can use computers, video conferencing equipment, mobile devices, etc., to book or conduct the meeting; the network used can be the internet or a mobile network, with no specific restrictions.

[0099] Please see Figure 4 This is a network architecture diagram for an online video conferencing system provided in an embodiment of the present invention.

[0100] like Figure 4 As shown, the meeting booking party schedules a video conference with the video conferencing system. When scheduling, they need to fill in the scheduling information, including the start time, estimated meeting duration, estimated total number of participating terminals, and meeting importance. For example, if the meeting booking party schedules video conference 1 for 9:00 AM to 12:00 PM on May 12th, with an estimated 200 participants and a "high" importance, the video conferencing system can determine the start time of video conference 1 as 9:00 AM on May 12th, the estimated meeting duration as 3 hours, the total number of participating terminals as 200, and the meeting importance as "high." Assuming the first ratio is 70%, the system can then determine the estimated total resources required for 70% of the total resources needed for video conference 1. If these resources are sufficient, then... Figure 3 Select the video server with the highest MCU resource idle rate from video server 1 to video server n shown, and create video conference 1 on it. This completes the creation of pre-occupied resources for the scheduled video conference 1.

[0101] In the embodiments provided by the present invention, by determining, based on the video conference reservation information, that the MCU resource pool meets a first proportion of the total resources required for the video conference at the start time of the video conference, the video conference is created on the video server with the highest MCU resource idle rate among multiple video servers. This can accommodate the situation that not all participating terminals will join the video conference at the beginning, thereby saving MCU resources at the start of the conference and improving the utilization rate of MCU resources.

[0102] In some embodiments, determining whether the resource pool meets the estimated total resource amount corresponding to a first proportion of the total MCU resources required for the video conference at the start time can be achieved in the following ways:

[0103] Estimate the amount of MCU resources required by a single participating terminal; perform a product operation on the amount of MCU resources, the estimated total number of participating terminals, and the first ratio to obtain the estimated total resources; determine whether the amount of idle resources in the MCU resource pool at the start time is greater than or equal to the estimated total resources; if so, determine that the MCU resource pool meets the estimated total resources at the start time of the video conference.

[0104] The estimated MCU resource usage per participating terminal can be calculated by using mobile terminals like smartphones as the benchmark, i.e., the MCU resource usage of a computer participating in a video conference is used as the estimated MCU resource usage per participating terminal; alternatively, it can be calculated by using computers as the benchmark, i.e., the MCU resource usage of a computer participating in a video conference is used as the estimated MCU resource usage per participating terminal; or it can be a combination of smartphone and computer participating terminals, such as by weighting the estimated MCU resource usage of a smartphone and the estimated MCU resource usage of a computer according to certain weights, and using the result of the weighted calculation as the estimated MCU resource usage per participating terminal.

[0105] It can also be estimated based on video size, such as the amount of MCU resources occupied by a 720P 60fps video stream used by the participating terminal, as the estimated amount of MCU resources occupied by a single participating terminal.

[0106] Taking the following reservation information as an example: the start time of video conference 1 is 9:00 AM on May 12th, the estimated meeting time is 3 hours, the total number of participating terminals is 200, the importance of the meeting is "important", the estimated MCU resource usage per participating terminal is 1 resource point (assuming that the MCU resource usage of a participating terminal using a 720P 60fps video stream is 1 resource point), and the first proportion is 70%.

[0107] The total resources occupied by 200 participating terminals are 200 resource points, that is, the total resources required for video conference 1 are 200 resource points. Therefore, the estimated total resources = 200 × 70% = 140. Then, it is determined whether the idle resources of the MCU resource pool at the start time of video conference 1 (9:00) are greater than the MCU resource amount corresponding to 140 resource points. If so, it is determined that the MCU resource pool can meet the MCU resource amount corresponding to 140 resource points at the start time of video conference.

[0108] The above start time can also be a period of time, such as the first 10 minutes after the video conference starts, that is, to determine whether the idle resource pool of the MCU resource pool between 9:00 and 9:10 is greater than the MCU resource quantity corresponding to 140 resource points.

[0109] Furthermore, if the MCU resources in the MCU resource pool are also converted into resource points based on the estimated amount of MCU resources occupied by a single participating terminal, then when determining whether the MCU resource pool satisfies the requirement that the amount of idle resources at the start time of video conference 1 is greater than the amount of MCU resources corresponding to 140 resource points, it can be changed to determining whether the MCU resource pool satisfies the requirement that the amount of idle resources at the start time of video conference 1 is greater than 140 resource points.

[0110] In the embodiments provided by the present invention, the amount of MCU resources occupied by a single participating terminal is estimated; and the total estimated resources are obtained by multiplying the MCU resources, the estimated total number of participating terminals, and the first ratio; then it is determined whether the amount of idle resources in the MCU resource pool at the start time is greater than or equal to the total estimated resources; if yes, it is determined that the resource pool meets the estimated total resources at the start time of the video conference, thereby enabling the rapid scheduling of MCU resources for the video conference.

[0111] In some embodiments, creating a video conference on the video server with the highest MCU resource idle rate among multiple video servers can be achieved in the following ways:

[0112] Determine if the MCU resources of the video server with the highest idle rate meet the estimated total resource amount; if so, create a video conference on the video server with the highest idle rate; if not, cascade the idle MCU resources of multiple video servers to obtain cascaded resources that meet the estimated total resource amount; create a video conference on the cascaded resources.

[0113] For example, using the aforementioned reservation information: Video Conference 1 starts at 9:00 AM on May 12th, the estimated meeting time is 3 hours, the total number of participating terminals is 200, the meeting is of "important" importance, the estimated MCU resource usage per participating terminal is 1 resource point, and the first proportion is 70%. Figure 4 The video conferencing system in the text refers to a system that provides video conferencing services.

[0114] Assuming the MCU resource pool meets the estimated total resources (140 resource points) at the start time of the video conference, and video server 3 is identified as having the highest idle rate, it is necessary to further determine whether the MCU resources of video server 3 meet the estimated total resources. If they do, video conference 1 is created on video server 3, thus completing the creation of pre-occupied resources for the scheduled video conference 1. If they do not meet the estimated total resources, the idle MCU resources of multiple video servers are cascaded based on their available MCU resources. For example, they can be sorted by the amount of idle MCU resources, and the servers with the largest amount of idle MCU resources (whose total amount of idle MCU resources is greater than or equal to the estimated total resources) are selected for cascading to obtain cascaded resources. Then, video conference 1 is created on the cascaded resources, thus completing the creation of pre-occupied resources for the scheduled video conference 1.

[0115] After creating pre-allocated resources for the scheduled video conference, you can proceed with steps 102 to 104.

[0116] Step 102: After the video conference has started for a preset duration, continuously monitor the changes in the number of participating terminals.

[0117] Step 103: Adjust the pre-allocated resources based on the changes in the number of participating terminals;

[0118] Step 104: After the video conference ends, reclaim the resources used by the video conference.

[0119] In some embodiments, before continuously monitoring changes in the number of participating terminals actually involved in the video conference, the method further includes:

[0120] After the video conference has started for a preset duration, it is determined whether the amount of resources actually used by the participating terminals has reached the estimated total amount of resources; if not, the unused resources in the pre-occupied resources are reclaimed.

[0121] The preset duration can be 5 minutes, 10 minutes, 15 minutes, etc., and there is no limit here.

[0122] For example, assuming video conference 1 starts at 9:00 AM on May 11th, the resource quantity 1 used by the participating terminals in video conference 1 can be counted at 9:10 AM on May 11th. Then, the resource quantity 1 is compared with the estimated total resource quantity. If the resource quantity 1 is greater than the estimated total resource quantity, it means that the resource quantity actually used by the participating terminals in the first 10 minutes of video conference 1 has reached the estimated total resource quantity. Otherwise, it is determined that the estimated total resource quantity has not been reached. At this time, the unused resources in the pre-occupied resources (i.e., the estimated total resource quantity - resource quantity 1) can be reclaimed. This can avoid MCU resource waste and improve MCU resource utilization efficiency.

[0123] In the embodiments provided by the present invention, after a preset duration has elapsed since the start of the video conference, it is determined whether the amount of resources actually occupied by the participating terminals in the video conference has reached the estimated total amount of resources; and if it is determined that the estimated total amount of resources has not been reached, the unoccupied resources in the pre-occupied resources are reclaimed, so that unused resources can be released in a timely manner for use by other video conferences, thereby avoiding waste of MCU resources and improving the utilization efficiency of MCU resources.

[0124] In some embodiments, the video server includes an application area, a recycling area, and a spare area, and the sum of the proportions of the application area, the recycling area, and the spare area to the MCU resources in the video server is 1.

[0125] The application area is the preferred area for creating video conferences and also the area with the heaviest workload, accounting for K1% of the MCU resources in the video server. The recycling area is the priority area for use when there are too many participating terminals and insufficient resources after the video conference is created. At the same time, if the number of participating terminals decreases or falls below expectations, idle resources will be recycled to this area, accounting for K2% of the MCU resources in the video server. The spare area is a supplementary area when the MCU resources used by the video conference cannot even meet the needs of the recycling area, accounting for K3% of the MCU resources in the video server, where k1+k2+k3=1.

[0126] Please see Figure 5 This is a schematic diagram of a video server partitioning provided in an embodiment of the present invention.

[0127] like Figure 5 As shown, the video server can be divided into an application area, a recycling area, and a spare area, which account for 70%, 20%, and 10% of the MCU resources in the video server, respectively.

[0128] In this embodiment of the invention, by dividing the video server into an application area, a recycling area, and a standby area, and ensuring that the sum of the proportions of the application area, recycling area, and standby area to the MCU resources in the video server is 1, it is convenient to dynamically schedule the MCU resources in the video server and improve the utilization rate of MCU resources.

[0129] In some embodiments, adjusting the pre-allocated resources based on changes in the number of participating terminals can be achieved in the following ways:

[0130] When the number of participating terminals increases, resources are allocated from the recycle area to the newly added participating terminals;

[0131] In some embodiments, allocating resources from the recycle area to newly added participating terminals can be achieved in the following ways:

[0132] Determine whether the resources in the recycling area meet the resource requirements of the newly added participating terminals; if not, allocate resources from the standby area to the newly added participating terminals.

[0133] When the change in the number of participating terminals is decreasing, the resources occupied by the departing participating terminals are recycled to the recycling area.

[0134] For example, with Figure 2 For example, suppose the video conferencing system determines that at the start time of the video conference, the MCU resource pool meets the estimated total resource amount corresponding to 70% of the total resources required for the scheduled video conference 3, and determines that video server 1 is the video server with the highest MCU resource idle rate among video servers 1 to n. Therefore, it is decided to create video conference 3 on video server 1. During creation, it can first determine whether the MCU resources in the application area of ​​the video server meet the estimated total resource amount. If they do, video conference 3 is created directly in the application area; if not, it is necessary to cascade the MCU resources of other video servers.

[0135] Assuming that the application area of ​​video server 1 meets the estimated total resources, video conference 3 created in the application area of ​​video server 1 will, after the preset duration (e.g., 10 minutes) of video conference 3 begins, determine that the actual amount of resources occupied by the participating terminals in video conference 1 has not reached the estimated total resources. Therefore, the idle resources in the pre-occupied resources will be reclaimed to the reclaim area.

[0136] When a new participating terminal joins the video conference, it is determined whether the amount of idle resources in the application area is sufficient for the new participating terminal. If it is sufficient, resources are directly allocated from the application area to the new participating terminal. If it is not sufficient, resources are allocated from the recycle area to the new participating terminal. If the resources in the recycle area are also occupied by other participating terminals, resources are allocated from the spare area to the new participating terminal.

[0137] When a participating terminal leaves the video conference 3, the resources occupied by the departing terminal are reclaimed to the reclaim area.

[0138] In the embodiments provided by the present invention, after a preset time has elapsed since the start of the video conference, when the application area cannot meet the resource requirements of newly joined participating terminals, resources are allocated to the newly joined participating terminals from the recycling area. When a participating terminal leaves the video conference, the resources occupied by the departing participating terminal are recycled. This allows for real-time dynamic scheduling of MCU resources based on the participation status of participating terminals, thereby improving the utilization rate of MCU resources.

[0139] Furthermore, when the MCU resources in the recycling area cannot meet the resource requirements of newly added participating terminals, MCU resources can be allocated from the spare area to the newly added participating terminals. This can further ensure that the newly added participating terminals can join the video conference smoothly, avoiding the situation where too many participating terminals are present, preventing later participating terminals from being unable to join the video conference. This can effectively improve the stability of the video service and the user experience.

[0140] In some embodiments, allocating resources from the spare area to newly added participating terminals can be achieved in the following ways:

[0141] Determine whether the resources in the backup area meet the resource requirements of the newly added participating terminals;

[0142] If the conditions are not met, the resolution of participating terminals that have already occupied resources will be compressed to a resolution greater than the preset resolution; the resources saved by using the compressed resolution will be allocated to newly added participating terminals.

[0143] For example, suppose video conference 5 is created on video server 2. After the video conference 5 starts for a preset duration (10 minutes), the number of participating terminals has reached the estimated total number of participating terminals (300) at a certain time. At this time, the MCU resources of the application area and the spare area of ​​video server 2 have been fully occupied.

[0144] At some point later, the participating terminal 305 requests to join video conference 5. Therefore, it is determined whether the resources in the backup area meet the resource requirements of the participating terminal 305. If it is determined that they meet the requirements, MCU resources are allocated to the participating terminal 305 from the backup area.

[0145] After some time, participating terminal 320 applied to join video conference 5. The system then determined whether the resources in the spare area met the resource requirements of participating terminal 320. If it was determined that the resources were not met, the system compressed the resolution of participating terminals that were already using the resources, using a resolution greater than the preset resolution (assuming it is 720P). The resources saved by using the compressed resolution were then allocated to participating terminal 320.

[0146] After video conference 5 ends, the resources used by video conference 5 can be recovered for use in other video conferences.

[0147] In some embodiments, the above-described method of allocating resources to participating terminals that have already been compressed can be implemented only for important video conferences.

[0148] In other embodiments, when the priority of the video conference is higher than the preset priority, resources can be allocated to the participating terminals in the video conference with priority.

[0149] For example, a priority can be assigned to video conferences based on their importance. When MCU resources are scarce in the video conferencing system, resources are allocated to participating terminals with a higher priority than the preset priority, thus ensuring the smooth conduct of important video conferences.

[0150] In the embodiments provided by the present invention, when it is determined that the resources in the spare area cannot meet the resource requirements of the newly added participating terminals, the resolution of the participating terminals that have occupied resources is compressed to a resolution greater than the preset resolution. This can quickly save some resources for the newly added participating terminals, so that all participating terminals that want to join the video conference can join the video conference, thereby effectively improving the utilization rate of MCU resources and enhancing the user experience.

[0151] Please see Figure 6 This is a schematic diagram illustrating the entire lifecycle of a video conferencing process, as provided in an embodiment of the present invention. Figure 6 This example is the solution obtained by combining all the aforementioned schemes.

[0152] Video conferencing creation phase:

[0153] Step S0: Create a meeting.

[0154] The party booking the meeting makes a reservation through the video conferencing system and fills in the reservation information.

[0155] Step S1: Is the MCU resource pool sufficient?

[0156] The video conferencing system determines whether the MCU resource pool meets the total resources required for the scheduled video conferencing based on the reservation information. If it is determined that the resources meet the requirements, step S2 is executed.

[0157] Step S2: Sort idle MCU resources;

[0158] Sort the available MCU resources and select the video server for creating the video conference based on the sorting results (i.e., execute step S3).

[0159] Step S3: Select the video server for creating the video conference;

[0160] Select the video server corresponding to the most idle MCU resource and create a video conference on it. For the specific selection process, please refer to the relevant introduction in step 101, which will not be repeated here.

[0161] Step S4: MCU resource pre-occupancy;

[0162] The scheduling phase during a video conference:

[0163] Step S5: Has the video conference ended?

[0164] After the video conference officially begins, periodically check whether the video conference has ended. If it has ended, proceed to step S17; if it has not ended, it means that the video conference is in progress, and proceed to step S6.

[0165] Step S6: Monitor changes in the participating terminals;

[0166] If a new participating terminal is detected joining the meeting, or a participating terminal that has already joined leaves the video conference, it is determined that the number of participating terminals in the video conference has changed.

[0167] Step S7: Should resources be recycled?

[0168] If the change in the number of participating terminals is caused by a newly joined participating terminal, no resources need to be reclaimed, and step S9 is executed; if the change in the number of participating terminals is caused by a participating terminal leaving the video conference, resources need to be reclaimed, and step S8 is executed.

[0169] Step S8: Recycle resources;

[0170] Reclaim the MCU resources occupied by departing participants.

[0171] Step S9: Should resources be compensated?

[0172] Determine whether the MCU resources in the application area of ​​the video server that created the video conference meet the resource requirements of the newly joined participating terminal. If they do, no compensation is needed for the (application area) resources, and proceed to step S5; otherwise, resource compensation is needed for the application area, and proceed to step S10.

[0173] Step S10: Are there enough resources in the recycling area?

[0174] Determine whether the MCU resources in the reclaimed area meet the resource requirements of the newly joined participating terminal. If they do, allocate the MCU resources in the reclaimed area to the newly joined participating terminal (equivalent to using the MCU resources in the reclaimed area to compensate the application area), and execute step S11; otherwise, execute step S12.

[0175] Step S11: Use the reclaimed area resources;

[0176] After allocating the MCU resources in the recycling area to the newly joined participating terminals, proceed to step S15.

[0177] Step S12: Are there enough resources in the spare area?

[0178] Determine whether the MCU resources in the spare area meet the resource requirements of the newly joined participating terminal. If they do, allocate the MCU resources in the spare area to the newly joined participating terminal (equivalent to using the MCU resources in the spare area to compensate the application area), and execute step S13; otherwise, execute step S14.

[0179] Step S13: Use the spare area resources;

[0180] After allocating the MCU resources in the spare area to the newly joined participating terminals, proceed to step S15.

[0181] Step S14: Compress the resolution of the participating terminals to compensate for resources;

[0182] When the MCU resources in the spare area are insufficient to meet the resource requirements of newly joined participating terminals, the resolution of the participating terminals that have already participated in the video conference can be reduced to a resolution greater than the preset resolution. The saved MCU resources can then be allocated to the newly joined participating terminals, and step S15 can be executed.

[0183] Step S15: Whether to cascade MCU resources of other video servers;

[0184] If the MCU resources in the application area, recycling area, and spare area of ​​the server creating the video conference are exhausted, then cascaded MCU resources are required, and step S16 should be executed; otherwise, cascaded MCU resources are not required, and step S5 should be executed.

[0185] Step S16: Use the cascaded MCU resources;

[0186] The MCU resources of the application area in the cascaded video server will be allocated to the newly joined participating terminals.

[0187] Meeting Closing Phase:

[0188] Step S17: Release resources;

[0189] Release all MCU resources used by the video conferencing.

[0190] Step S18: End.

[0191] In the embodiments provided by this invention, by creating pre-occupied resources for the scheduled video conference, the smooth start of the video conference can be ensured; after the preset duration of the video conference starts, the change in the number of participating terminals in the video conference is continuously monitored; and the pre-occupied resources are adjusted according to the change in the number of participating terminals, so as to dynamically adjust the MCU resources occupied by the video conference according to the actual participation of the participating terminals, thereby improving the utilization rate of MCU resources; when the video conference ends, the resources occupied by the video conference are recovered and can be used for other video conferences, further improving the utilization rate of MCU resources.

[0192] Based on the same inventive concept, one embodiment of the present invention provides a resource scheduling apparatus. Specific implementation details of the resource scheduling method of this apparatus can be found in the description of the method embodiments section; repeated details will not be repeated here. Figure 7 The device includes:

[0193] Create unit 701 to create pre-occupied resources for scheduled video conferences;

[0194] Monitoring unit 702 is used to continuously monitor the change in the number of participating terminals actually participating in the video conference after the video conference has started for a preset duration;

[0195] The adjustment unit 703 is used to adjust the pre-occupied resources according to the change in the number of participating terminals;

[0196] The recycling unit 704 is used to reclaim the resources occupied by the video conference after the video conference ends.

[0197] In one possible implementation, the creation unit 701 is specifically used for:

[0198] Based on the video conference reservation information, determine whether the multi-point control unit (MCU) resource pool can meet the estimated total resource amount corresponding to a first proportion of the total resource amount required by the video conference at the start time of the video conference; wherein, the MCU resource pool is composed of the MCU resources of multiple video servers, and the reservation information includes the start time of the video conference, the estimated conference duration, the estimated total number of participating terminals, and the importance of the conference;

[0199] If the conditions are met, the video conference will be created on the video server with the highest MCU resource idle rate among the multiple video servers.

[0200] In one possible implementation, the creation unit 701 is further configured to:

[0201] Estimated MCU resource usage per participating terminal;

[0202] The estimated total resources are obtained by multiplying the MCU resource quantity, the estimated total number of participating terminals, and the first ratio.

[0203] Determine whether the amount of idle resources in the MCU resource pool at the start time is greater than or equal to the estimated total amount of resources;

[0204] If so, determine that the MCU resource pool meets the estimated total resource quantity at the start time of the video conference.

[0205] In one possible implementation, the creation unit 701 is further configured to:

[0206] Determine whether the MCU resources of the video server with the highest idle rate meet the estimated total resource amount.

[0207] If the conditions are met, the video conference will be created on the video server with the highest idle rate.

[0208] If the conditions are not met, then the idle MCU resources of multiple video servers are cascaded to obtain cascaded resources that satisfy the estimated total resource amount; the video conference is then created on the cascaded resources.

[0209] In one possible implementation, the monitoring unit 702 is further configured to:

[0210] After the video conference has been running for a preset duration, it is determined whether the amount of resources actually used by the participating terminals in the video conference has reached the estimated total amount of resources.

[0211] If not, then the unoccupied resources in the pre-occupied resources will be reclaimed.

[0212] In one possible implementation, the video server includes an application area, a recycling area, and a spare area, wherein the sum of the proportions of the application area, the recycling area, and the spare area to the MCU resources in the video server is 1.

[0213] In one possible implementation, the adjustment unit 703 is further configured to:

[0214] When the change in the number of participating terminals is an increase, resources are allocated from the recycling area to the newly added participating terminals;

[0215] When the change in the number of participating terminals is decreasing, the resources occupied by the departing participating terminals are recycled to the recycling area.

[0216] In one possible implementation, the adjustment unit 703 is further configured to:

[0217] Determine whether the resources in the recycling area meet the resource requirements of the newly added participating terminal;

[0218] If the conditions are not met, resources will be allocated from the spare area to the newly added participating terminal.

[0219] In one possible implementation, the adjustment unit 703 is further configured to:

[0220] Determine whether the resources in the backup area meet the resource requirements of the newly added participating terminal;

[0221] If this condition is not met, then the resolution of the participating terminals that have already occupied resources will be compressed to a resolution greater than the preset resolution.

[0222] The resources saved by compressing the resolution will be allocated to the newly added participating terminals.

[0223] In one possible implementation, the adjustment unit 703 is further configured to:

[0224] When the priority of the video conference is higher than the preset priority, resources are allocated to the participating terminals in the video conference first.

[0225] It should be noted that the division of units in the embodiments of this application is illustrative and only represents one logical functional division. In actual implementation, other division methods may be used. Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated units described above can be implemented in hardware or as software functional units.

[0226] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a processor-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0227] It should be noted that the apparatus provided in this embodiment of the invention can implement all the method steps implemented in the above method embodiment and can achieve the same technical effect. Therefore, the parts and beneficial effects that are the same as those in the method embodiment will not be described in detail here.

[0228] Based on the same inventive concept, this embodiment of the invention provides a resource scheduling apparatus, comprising: at least one processor, and

[0229] Memory connected to the at least one processor;

[0230] The memory stores instructions that can be executed by the at least one processor, and the at least one processor executes the resource scheduling method described above by executing the instructions stored in the memory.

[0231] Based on the same inventive concept, embodiments of the present invention also provide a readable storage medium, comprising:

[0232] memory,

[0233] The memory is used to store instructions that, when executed by a processor, cause the apparatus including the readable storage medium to perform the resource scheduling method as described above.

[0234] The readable storage medium can be any available medium or data storage device accessible to the processor, including volatile memory or non-volatile memory, or both. By way of example, and not limitation, non-volatile memory can include read-only memory (ROM), programmable read-only memory (PROM), electrically programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory, solid-state disk (SSD), magnetic storage (e.g., floppy disk, hard disk, magnetic tape, magneto-optical disc (MO), etc.), and optical storage (e.g., CD, DVD, BD, HVD, etc.). Volatile memory can include random access memory (RAM), which can act as an external cache memory. By way of example and not limitation, RAM can be obtained in various forms, such as Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random-Access Memory (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced Synchronous DRAM (ESDRAM), and Sync Link DRAM (SLDRAM). The storage devices disclosed herein are intended to include, but are not limited to, these and other suitable types of memory.

[0235] Based on the same inventive concept, embodiments of the present invention also provide a computer program product, including a computer program that, when executed by a processor, implements the resource scheduling method described above.

[0236] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or program products. Therefore, embodiments of the present invention can take the form of entirely hardware embodiments, entirely software embodiments, or embodiments combining software and hardware aspects. Furthermore, embodiments of the present invention can take the form of machine program products implemented on one or more readable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer / processor-usable program code.

[0237] Embodiments of the present invention are described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0238] These program instructions may also be stored in a readable storage medium that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0239] These program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a process implemented by the computer / processor, thereby providing instructions that execute on the computer / processor or other programmable apparatus for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0240] Obviously, those skilled in the art can make various modifications and variations to this invention without departing from its spirit and scope. Therefore, if these modifications and variations fall within the scope of the claims of this invention and their equivalents, this invention also intends to include these modifications and variations.

Claims

1. A method of resource scheduling, the method comprising: The application comprises: creating a pre-occupied resource for a scheduled video conference; continuously monitoring a variation of terminals actually participating in the video conference after the video conference has started for a preset time length; adjusting the pre-occupied resource according to the variation of the terminals; reclaiming the resource occupied by the video conference after the video conference ends; wherein creating a pre-occupied resource for a scheduled video conference comprises: determining whether a first proportion of the total resource required by the video conference can be met by the estimated total resource of the MCU resource pool at the start time of the video conference according to the scheduling information of the video conference; wherein the MCU resource pool is composed of MCU resources of a plurality of video servers, and the scheduling information comprises the start time of the video conference, the estimated conference time length, the estimated total number of terminals, and the importance of the conference; if yes, creating the video conference on the video server with the highest idle rate of MCU resources among the plurality of video servers.

2. The method of claim 1, wherein, determining whether the first proportion of the total resource required by the video conference can be met by the estimated total resource of the MCU resource pool at the start time of the video conference comprises: estimating the amount of MCU resources occupied by a single terminal; performing a product operation on the amount of MCU resources, the estimated total number of terminals, and the first proportion to obtain the estimated total resource; judging whether the idle resource amount of the MCU resource pool at the start time is greater than or equal to the estimated total resource; if yes, determining that the first proportion of the total resource required by the video conference can be met by the estimated total resource of the MCU resource pool at the start time of the video conference.

3. The method of claim 1, wherein, creating the video conference on the video server with the highest idle rate of MCU resources among the plurality of video servers comprises: judging whether the MCU resources of the video server with the highest idle rate meet the estimated total resource; if yes, creating the video conference on the video server with the highest idle rate; if no, concatenating the idle MCU resources of a plurality of video servers to obtain concatenated resources that meet the estimated total resource; and creating the video conference on the concatenated resources.

4. The method according to any one of claims 2-3, wherein, before continuously monitoring the variation of terminals actually participating in the video conference, the method further comprises: judging whether the resource amount occupied by the terminals actually participating in the video conference reaches the estimated total resource after the video conference has started for a preset time length; if no, reclaiming the resources in the pre-occupied resource that are not occupied.

5. The method of claim 4, wherein, The video server comprises an application area, a reclaiming area, and a standby area, and the proportions of the application area, the reclaiming area, and the standby area in the MCU resources of the video server are all 1.

6. The method of claim 5, characterized in that, adjusting the pre-occupied resource according to the variation of the terminals comprises: when the variation of the terminals is an increase, allocating resources for the new terminals from the reclaiming area; when the variation of the terminals is a decrease, reclaiming the resources occupied by the terminals that leave to the reclaiming area.

7. The method of claim 6, wherein, allocating resources for the new terminals from the reclaiming area comprises: judging whether the resources of the reclaiming area meet the resource requirements of the new terminals; if no, allocating resources for the new terminals from the standby area.

8. The method of claim 7, wherein, allocating resources for the added conference terminal from a standby area, including: determining whether the resources of the standby area meet the resource requirement of the added conference terminal; if not, compressing the resolution of a conference terminal with resolution greater than a preset resolution among conference terminals that have occupied resources; allocating the saved resources after compression to the added conference terminal.

9. The method of claim 6, wherein, when the priority of the video conference is higher than a preset priority, preferentially allocating resources to conference terminals participating in the video conference.

10. An apparatus for resource scheduling, the apparatus comprising: including: a creating unit configured to create pre-occupied resources for a scheduled video conference; a monitoring unit configured to continuously monitor the variation of conference terminals actually participating in the video conference after the video conference has started for a preset time length; an adjusting unit configured to adjust the pre-occupied resources according to the variation of conference terminals; a recycling unit configured to recycle resources occupied by the video conference after the video conference ends. The creating unit is specifically configured to determine, according to reservation information of the video conference, whether a first proportion of total resources required by the video conference can meet estimated total resources corresponding to the first proportion at a starting time of the video conference in a multi-point control unit (MCU) resource pool; the MCU resource pool is composed of MCU resources of a plurality of video servers; the reservation information includes the starting time of the video conference, estimated conference duration, estimated total number of conference terminals, and conference importance; if yes, the video conference is created on a video server with the highest idle rate of MCU resources among the plurality of video servers.

11. An apparatus for resource scheduling, the apparatus comprising: including: at least one processor, and a memory connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the at least one processor executes the method according to any one of claims 1-9 by executing the instructions stored in the memory.

12. A readable storage medium, characterized by, including a memory, the memory is configured to store instructions, and when the instructions are executed by a processor, the apparatus including the readable storage medium completes the method according to any one of claims 1-9.

13. A computer program product, characterised in that, including a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1-9 is implemented.

Citation Information

Patent Citations

  • Method for implementing resource scheduling of video conference

    CN1992878A