A bandwidth control method and system

By determining the screen projection bandwidth requirements based on the screen projection information and distributing the wireless network bandwidth, the lag caused by improper bandwidth control during the wireless screen projection process is solved, and the user experience is improved.

CN115550184BActive Publication Date: 2025-03-28EXANDS INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211069759.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-02
Publication Date
2025-03-28
Estimated Expiration
2042-09-02

AI Technical Summary

Technical Problem

During the wireless screen projection process, improper control of network bandwidth can easily lead to lag and affect user experience.

Method used

The network fluency is ensured by determining the projection bandwidth requirements based on the projection information and allocating the wireless network bandwidth according to the projection bandwidth requirements and non-casting bandwidth requirements.

Benefits of technology

It effectively solves the problem of network lag caused by different bandwidth requirements, improves the user experience, and ensures network fluency when different bandwidths run at the same time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115550184B_ABST
    Figure CN115550184B_ABST
Patent Text Reader

Abstract

The embodiments of the present specification provide a bandwidth control method and system, the method comprising determining a screen projection bandwidth requirement based on screen projection information; and determining a bandwidth allocation of a wireless network of a device based on the screen projection bandwidth requirement.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technology, and in particular to a bandwidth control method and system. Background Art

[0002] With the development of smart devices and communication technologies, wireless screen projection technology has been widely used. Currently, mainstream screen projection technologies are all based on Wi-Fi. When wireless screen projection is used, network bandwidth is required. When the network bandwidth is used for two or more methods at the same time (for example, browsing the web while projecting the screen), due to the different bandwidth requirements of the two, improper bandwidth control can easily cause lag.

[0003] Therefore, it is necessary to provide a bandwidth control method to ensure the smoothness of the network when different bandwidths are running simultaneously and improve the user experience. Summary of the invention

[0004] One of the embodiments of this specification provides a bandwidth control method. The bandwidth control method includes: determining a screen projection bandwidth requirement based on screen projection information; and determining a bandwidth allocation of a wireless network of a device based on the screen projection bandwidth requirement.

[0005] In some embodiments, determining the screen projection bandwidth requirement based on the screen projection information includes: determining the screen projection bandwidth requirement based on the content type of the current display window and the distribution characteristics of the screen projection traffic in the historical records.

[0006] In some embodiments, determining the bandwidth allocation of the wireless network of the device based on the screen projection bandwidth requirement includes: determining the non-screen projection bandwidth requirement; and determining the bandwidth allocation of the wireless network of the device based on the screen projection bandwidth requirement and the non-screen projection bandwidth requirement.

[0007] In some embodiments, the determination of the bandwidth allocation of the wireless network of the device includes: the bandwidth allocated to non-screen projection bandwidth requirements includes at least a first bandwidth and a second bandwidth, wherein the first bandwidth is the bandwidth corresponding to the first time period, and the second bandwidth is the bandwidth corresponding to the second time period; the first time period and the second time period are adjacent; the bandwidth difference between the first bandwidth and the second bandwidth is greater than a preset bandwidth threshold, and the time length of the first time period is less than a preset time threshold.

[0008] One of the embodiments of this specification provides a bandwidth control system. In some embodiments, the bandwidth control system includes: a first determination module for determining a screen projection bandwidth requirement based on screen projection information; and a second determination module for determining a bandwidth allocation of a wireless network of a device based on the screen projection bandwidth requirement.

[0009] In some embodiments, the first determination module is further used to determine the screen projection bandwidth requirement based on the content type of the current display window and the distribution characteristics of the screen projection traffic in the historical records.

[0010] In some embodiments, the second determination module is further used to: determine a non-screen projection bandwidth requirement; and determine a bandwidth allocation for a wireless network of the device based on the screen projection bandwidth requirement and the non-screen projection bandwidth requirement.

[0011] In some embodiments, the determination of the bandwidth allocation of the wireless network of the device includes: the bandwidth allocated to non-screen projection bandwidth requirements includes at least a first bandwidth and a second bandwidth, wherein the first bandwidth is the bandwidth corresponding to the first time period, and the second bandwidth is the bandwidth corresponding to the second time period; the first time period and the second time period are adjacent; the bandwidth difference between the first bandwidth and the second bandwidth is greater than a preset bandwidth threshold, and the time length of the first time period is less than a preset time threshold.

[0012] One of the embodiments of this specification provides a bandwidth control device, including a processor, wherein the processor is used to execute a bandwidth control method.

[0013] One of the embodiments of this specification provides a computer-readable storage medium, wherein the storage medium stores computer instructions. When a computer reads the computer instructions in the storage medium, the computer executes a bandwidth control method. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] This specification will be further described in the form of exemplary embodiments, which will be described in detail by the accompanying drawings. These embodiments are not restrictive, and in these embodiments, the same number represents the same structure, wherein:

[0015] Figure 1 is a schematic diagram of an application scenario of a bandwidth control system according to some embodiments of this specification;

[0016] Figure 2 is a module diagram of a bandwidth control system according to some embodiments of this specification;

[0017] Figure 3 is an exemplary flow chart of a bandwidth control method according to some embodiments of this specification;

[0018] Figure 4 is an exemplary structural diagram of a distribution feature determination model according to some embodiments of this specification;

[0019] Figure 5 It is an exemplary flow chart of a bandwidth allocation method according to some embodiments of the present specification. DETAILED DESCRIPTION

[0020] In order to more clearly illustrate the technical solutions of the embodiments of this specification, the following is a brief introduction to the drawings required for the description of the embodiments. Obviously, the drawings described below are only some examples or embodiments of this specification. For ordinary technicians in this field, this specification can also be applied to other similar scenarios based on these drawings without creative work. Unless it is obvious from the language environment or otherwise explained, the same reference numerals in the figures represent the same structure or operation.

[0021] It should be understood that the "system", "device", "unit" and / or "module" used herein are a method for distinguishing different components, elements, parts, portions or assemblies at different levels. However, if other words can achieve the same purpose, the words can be replaced by other expressions.

[0022] As shown in this specification and claims, unless the context clearly indicates an exception, the words "a", "an", "an" and / or "the" do not refer to the singular and may also include the plural. Generally speaking, the terms "comprise" and "include" only indicate the inclusion of the steps and elements that have been clearly identified, and these steps and elements do not constitute an exclusive list. The method or device may also include other steps or elements.

[0023] Flowcharts are used in this specification to illustrate the operations performed by the system according to the embodiments of this specification. It should be understood that the preceding or following operations are not necessarily performed precisely in order. Instead, the steps may be processed in reverse order or simultaneously. At the same time, other operations may also be added to these processes, or one or more operations may be removed from these processes.

[0024] Figure 1 It is a schematic diagram of an application scenario of a bandwidth control system according to some embodiments of this specification.

[0025] like Figure 1 As shown, the application scenario 100 of the bandwidth control system may include a screen projection device 110 , a network 120 , a storage device 130 , a processor 140 and a terminal 150 .

[0026] The bandwidth control system can determine the screen projection bandwidth requirement based on the screen projection information by implementing the methods and / or processes disclosed in this specification, and then determine the bandwidth allocation of the wireless network of the device based on the screen projection bandwidth requirement.

[0027] The bandwidth control method shown in the bandwidth control system can be applied to terminal screen projection. Among them, screen projection can refer to the technology of displaying the information on the screen on other display devices through screen projection software by smart terminals (such as mobile phones, computers, etc.). Among them, smart terminals can be regarded as screen projection data sources, and other display devices can be regarded as screen projection presentation devices.

[0028] In some embodiments, screen projection may include data sharing and screen sharing. Among them, data sharing (also known as file projection, video projection) may be a screen projection data source sending a specific file (such as text, pictures, videos, etc.) to a screen projection presentation device, so that the screen projection presentation device plays the specific file. Screen sharing (also known as mirror projection) may refer to synchronizing the screen status of the screen projection data source with the screen projection presentation device in real time, so that the screen projection presentation device presents the screen of the screen projection data source in real time.

[0029] The screen projection device 110 may be a device that performs screen projection tasks, wherein the screen projection device 110 may have built-in screen projection software. The screen projection device 110 may be connected to a screen projection data source in communication and receive the projection information sent by the screen projection data source, and present it in the screen projection presentation device. In some embodiments, the screen projection device 110 may be an independent smart device. For example, a smart set-top box. In some embodiments, the screen projection device 110 may inherit the settings in the display device. For example, the screen projection device 110 may be a processor of a smart TV.

[0030] The network 120 may include any suitable network that provides information and / or data exchange that can facilitate the bandwidth control system. One or more components of the bandwidth control system (e.g., the screen projection device 110, the storage device 130, the processor 140, the terminal 150) may exchange information and / or data through the network 120. For example, the network 120 may send the projection information generated by the projection data source to the projection device 110. In some embodiments, the network 120 may be any one or more of a wired network or a wireless network. In some embodiments, the network 120 may include one or more network access points. For example, the network 120 may include a wired or wireless network access point. In some embodiments, the network may be a point-to-point, shared, centralized, or other topological structure or a combination of multiple topological structures.

[0031] In some embodiments, the network 120 may be configured to adjust the connection speed of each device connected to the network 120 according to the bandwidth allocation.

[0032] The storage device 130 may be used to store data, instructions, and / or any other information. In some embodiments, the storage device 130 may store data and / or information obtained from, for example, the projection device 110, the processor 140, and the like. For example, the storage device 130 may store projection information, etc. In some embodiments, the storage device 130 may be disposed in the processor 140. In some embodiments, the storage device 130 may include a mass storage device, a removable storage device, etc., or any combination thereof.

[0033] The processor 140 may refer to an execution device of the bandwidth control method, which may process data and / or information obtained from other devices or various components of the system, and execute the bandwidth control method provided in this specification according to the relevant data to determine the bandwidth allocation of the network 120. For example, the processor 140 may determine the screen projection bandwidth requirement based on the screen projection information received by the screen projection device 110, and determine the bandwidth allocation of the wireless network of the device (such as the screen projection device 110) based on the screen projection bandwidth requirement, and then control the network 120 to limit the speed of the devices connected to the network according to the bandwidth allocation. In some embodiments, the processor 140 may be a single server or a server group. In some embodiments, the processor 140 may be integrated into a bandwidth control system (such as integrated in the screen projection device 110). The processor 140 may be local or remote. The processor 140 may be implemented on a cloud platform.

[0034] Terminal 150 may refer to one or more terminal devices or software used by a user. In some embodiments, terminal 150 may be a mobile device, a tablet computer, a laptop computer, etc. or any combination thereof. In some embodiments, terminal 150 may interact with other components in a bandwidth control system through network 120.

[0035] In some embodiments, the terminal 150 may include a screen projection data source, that is, the screen information of the user at the terminal 150 can be synchronously displayed in the screen projection presentation device corresponding to the screen projection device 110 through the screen projection device 110. In some embodiments, the terminal 150 may include a screen projection presentation device. For example, the user can use the mobile terminal as the screen projection data source and the computer monitor as the screen projection presentation device, and present the image of the mobile terminal in real time on the computer monitor through the screen projection operation and the screen projection device 110 (such as a computer host).

[0036] Figure 2 It is a module diagram of a bandwidth control system according to some embodiments of this specification. In some embodiments, the bandwidth control system 200 may be a part of the processor 140 or implemented by the processor 140.

[0037] like Figure 2 As shown, the bandwidth control system 200 may include a first determination module 210 and a second determination module 220 .

[0038] The first determination module 210 can be used to determine the screen projection bandwidth requirement based on the screen projection information. In some embodiments, the first determination module 210 can also be used to determine the screen projection bandwidth requirement based on the content type of the current display window and the distribution characteristics of the screen projection traffic in the historical records. For more information about the distribution characteristics of the current display window and the screen projection traffic, see the relevant description of step 310, which will not be repeated here.

[0039] The second determination module 220 is used to determine the bandwidth allocation of the wireless network of the device based on the projection bandwidth requirement. See the relevant description of step 320 for determining the bandwidth allocation of the wireless network of the device. In some embodiments, the second determination module 220 can be used to determine the non-projection bandwidth requirement. In some embodiments, the second determination module 220 can also be used to determine the bandwidth allocation of the wireless network of the device based on the projection bandwidth requirement and the non-projection bandwidth requirement. For more information on the determination of the non-projection bandwidth requirement, see the relevant description of step 510, which will not be repeated here.

[0040] In some embodiments, determining the bandwidth allocation of the wireless network of the device may include: the bandwidth allocated to the non-screen projection bandwidth demand includes at least a first bandwidth and a second bandwidth, wherein the first bandwidth is the bandwidth corresponding to the first time period, and the second bandwidth is the bandwidth corresponding to the second time period. In some embodiments, the first time period and the second time period are adjacent. In some embodiments, the bandwidth difference between the first bandwidth and the second bandwidth is greater than a preset bandwidth threshold. In some embodiments, the time length of the first time period is less than a preset time threshold. For more information about the first bandwidth, the first time period, the second bandwidth, the second time period, and the preset bandwidth threshold, see Figure 4 The relevant description will not be repeated here.

[0041] The embodiments of this specification also provide a broadband control device, which may include at least one processor and at least one memory. In some embodiments, the at least one memory may be used to store computer instructions. In some embodiments, the at least one processor may be used to execute at least part of the computer instructions to implement the bandwidth control method.

[0042] The embodiments of this specification also provide a computer-readable storage medium. In some embodiments, the storage medium can store computer instructions, and when the computer instructions are executed by a processor, a broadband control method can be implemented.

[0043] It should be understood that Figure 2 The system and its modules shown can be implemented in various ways. For example, in some embodiments, they are implemented by hardware, software, or a combination of software and hardware. The system and its modules of this specification can be implemented not only by hardware circuits such as very large scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, or programmable hardware devices such as field programmable gate arrays, programmable logic devices, but also by software implemented by, for example, various types of processors, and can also be implemented by a combination of the above hardware circuits and software (e.g., firmware).

[0044] It should be noted that the above description of the bandwidth control system 200 and its modules is only for convenience of description and does not limit the present specification to the scope of the embodiments. It is understandable that, after understanding the principle of the system, those skilled in the art may arbitrarily combine the modules or form a subsystem to connect with other modules without deviating from the principle. In some embodiments, Figure 2 The first determination module and the second determination module disclosed in the specification may be different modules in a system, or one module may realize the functions of the above two modules. For example, each module may share a storage module, or each module may have its own storage module. Such variations are within the protection scope of this specification.

[0045] Figure 3 FIG. 3 is an exemplary flow chart of a bandwidth control method according to some embodiments of the present specification. In some embodiments, process 300 may be executed by processor 140 .

[0046] like Figure 3 As shown, process 300 includes the following steps.

[0047] Step 310 , determining screen projection bandwidth requirements based on the screen projection information. In some embodiments, step 310 may be performed by the first determination module 210 .

[0048] The projection information may refer to the information sent by the projection data source to the projection presentation device during the projection process. The projection device may parse the projection information so that the projection presentation device displays the corresponding projection content.

[0049] In some embodiments, depending on the type of screen projection, the screen projection data source and the screen projection information of the screen projection presentation device may change.

[0050] For data sharing screen projection, the screen projection software running on the screen projection data source can send the screen projection file to be projected to the screen projection presentation device. So that the screen projection presentation device displays the screen projection file. Among them, the screen projection file can be a local file or an online file. For example, the screen projection file can be local audio, local video, online video, online live broadcast, etc. That is, for data sharing screen projection, the screen projection information can include the screen projection file.

[0051] For screen sharing type screen projection, the screen projection software running on the screen projection data source can obtain at least part of the current display window in the screen of the screen projection data source, and package the current display window and send it to the screen projection presentation device, so that the screen projection presentation device synchronously displays the current display window in the screen projection data source. That is, for screen sharing type screen projection, the screen projection information can include the current display window of the screen projection data source.

[0052] Bandwidth can refer to the amount of data that can pass through the link per unit time, which can be specifically described by the uplink speed and the downlink speed. Among them, the uplink speed can refer to the amount of data sent by the device to the network per unit time, and the downlink speed can refer to the amount of data received by the device from the network per unit time. Bandwidth requirements can refer to the data uplink speed and downlink speed requirements of application software (such as screen projection software, video software, etc.) to meet the normal operation of application software (such as normal video playback, normal document loading).

[0053] The form of the bandwidth requirement for screen projection can be determined according to the type of screen projection. For example, for data sharing screen projection, the bandwidth requirement for screen projection can refer to the downlink speed required for the screen projection presentation device to load the file to be projected. For another example, for screen sharing screen projection, the bandwidth requirement for screen projection can refer to the downlink speed required for the current display window of the projection data source to load the content and the uplink and downlink speeds on the local area network required for data transmission between the projection data source and the projection presentation device.

[0054] In some embodiments, it can be determined based on the Internet service. The Internet service can be a specific activity performed by the user when surfing the Internet. For example, Internet services can include watching movies, chatting, reading novels, etc. In some embodiments, the bandwidth requirement of the service can be determined based on the service type, service data volume, service time and other information of the Internet service. For example, when the user is watching a video, the amount of service data that may be generated can be determined based on the file size of the video, and the service time can be determined based on the time length of the video, thereby determining the bandwidth requirement of the service (bandwidth requirement and requirement time).

[0055] The bandwidth requirement for screen projection can be the sum of the bandwidth requirements of each screen projection related Internet service. For example, when the content projected by the user includes the file the user is watching and the music being played, the bandwidth requirement for screen projection can be the sum of the bandwidth requirements of the file service and the bandwidth requirements of the music service.

[0056] In some embodiments, the screen projection bandwidth requirement can be determined based on the content type of the current display window and the distribution characteristics of the screen projection traffic in the historical records. The current display window can be a specific embodiment of the aforementioned Internet access service, and the user can perform the corresponding Internet access service through the current display window. For example, the user can perform the Internet access service of watching a video through the video playback page.

[0057] The screen projection traffic may be the traffic generated during the screen projection process. For example, the screen projection traffic may include the traffic generated by the screen projection presentation device loading the file to be projected, and the traffic generated by the current display window of the screen projection data source loading the content.

[0058] The distribution characteristics of screen projection traffic may refer to changes in screen projection traffic during the screen projection process.

[0059] In some embodiments, when casting a screen, the traffic generated by casting a screen can be recorded in real time, and the traffic can be counted to determine the distribution characteristics of the casting traffic. In some embodiments, considering that the type of content in the current display window will affect the screen casting bandwidth requirements, the distribution characteristics of the casting traffic can only count the traffic generated by a single window. For example, when casting a screen, if the user changes the type of the current display window (such as switching application software, changing the browsed page, etc.), the distribution characteristics of the casting traffic need to be re-counted.

[0060] In some embodiments, the distribution characteristics of screen projection traffic may specifically include average traffic, average bandwidth occupancy, and peak width distribution.

[0061] The average flow rate may refer to the average flow rate of the screen projection flow rate generated during the screen projection period. In some embodiments, the average flow rate may be the ratio of the total screen projection flow rate generated during the screen projection period to the screen projection time.

[0062] The average bandwidth occupancy rate may refer to the ratio of the traffic generated by screen projection to the available bandwidth. The available bandwidth may refer to the total bandwidth of the network where the screen projection data source and the screen projection presentation device are located, that is, the maximum uplink and downlink speeds of the network.

[0063] The peak width distribution may refer to the time period when the traffic generated by screen projection is at the traffic peak and its time period distribution. Among them, the traffic peak may refer to the traffic when the traffic is greater than a preset threshold (such as the downlink speed is greater than 3Mb / s). The time period at the traffic peak may refer to the time period when the traffic generated by screen projection is continuously at the traffic peak, and the time period distribution refers to the occurrence of traffic peaks during the screen projection process and the duration of each occurrence.

[0064] The current display window may refer to the window that is currently activated and displayed on the desktop of the projection data source. For example, the current display window may refer to the interface of the application software currently on the mobile phone screen. For another example, the current display window may refer to the software, pop-up window, menu and other interfaces on the current computer screen.

[0065] For data sharing screen projection, when casting, the user can operate in the current display window and select the file to be cast. For example, the user can select the cast button in the video playback window to cast the video being played in the current display window to the projection presentation device.

[0066] For screen sharing, when casting, the user can control the casting software to select at least part of the current display window for casting. For example, the user can define a casting area through the casting software and cast part of the display window in the casting area to the casting presentation device.

[0067] The content type of the current display window may refer to the type of specific content presented in the current display window. For example, when a user watches a video through a browser, the current display window may be a sub-interface of the browser, and the specific content presented may be a video. The current display window may also be recorded as an online service, and the content type of the current display window may also be recorded as a type of online service.

[0068] In some embodiments, the content types of the current display window may include dynamic interfaces such as videos; static interfaces such as text and documents; interactive interfaces such as drawing boards and application software interfaces. Among them, interactive interfaces such as drawing boards and application software interfaces can be determined by the application software of the current display window, and the specific types may include the specific name of the application software.

[0069] In some embodiments, the current display window may also include interfaces of multiple application software. For example, when a conference is being broadcast live, one side of the screen may be the live video of the speaker, and the other side may be the text prepared by the speaker (such as handouts, PPT, electronic manuscript, etc.). Among them, the interfaces of multiple application software can be identified one by one. When the proportion of the screen area occupied by the interface of each application software exceeds a threshold, it can be regarded as a multi-application software interface.

[0070] In some embodiments, the type of content in the current display window can be determined based on the software actually running. For example, the application software can determine how the application software processes transmit messages to each other based on the application layer protocol, and the transmission information can be identified through the application layer protocol to determine the specific type of content presented in the current display window. Exemplarily, the application layer protocol may include the Hyper Text Transfer Protocol (HTTP) and the email transmission protocol SMTP. Among them, HTTP can be used to transmit data such as ordinary text, hypertext, audio and video used by browsers; SMTP can be used for email transmission.

[0071] Historical records may refer to records of historical projection-related data. For example, historical records may include historical projection time periods, projection types, user IDs, device IDs of projection data sources, device IDs of projection presentation devices, projection information (i.e., projection content), data volume and flow of projection content, and one or more projection-related information of the type, data volume, and flow of the current display window containing the projection content.

[0072] In some embodiments, a feature vector of historical records and a feature vector of the current projection content can be constructed based on the historical records. Based on the clustering or similarity matching method, the historical records that match the feature vector of the current projection content can be determined, and the distribution of the current projection traffic can be estimated based on the distribution of the corresponding historical projection traffic (i.e., the distribution characteristics).

[0073] The feature vector can be a vector describing information related to screen projection. For example, the feature vector of the historical record can be expressed as (a, b, c, d, e, f, g, h), which can represent a location, b user, c data volume of the screen projection content, d flow rate, e flow rate, and the current display window f data volume, g flow rate, h flow rate.

[0074] In some embodiments, each feature vector in the historical record can be clustered to obtain multiple cluster centers. For the feature vector of the current projection, the distance between the vector and each cluster center can be calculated; the cluster center with the closest distance is taken, and the average projection bandwidth demand of the cluster center is used as the bandwidth demand required for the current projection content, and the average Internet service bandwidth demand of the cluster center is used as the bandwidth demand required for the current Internet service. Among them, the clustering algorithm may include clustering algorithms such as DSSCAN and LVQ. The clustering algorithm may also include algorithms for clustering based on evaluation indicators such as accuracy (CA), Rand Index (RI), and Adjusted Rand Index (ARI).

[0075] In some embodiments, it is also possible to directly determine the historical record with the highest similarity to the current projection content (such as the feature vector with the closest distance) based on the similarity between the feature vector of the current projection content and each feature vector in the historical record (such as Euclidean distance, Manhattan distance), and determine the distribution characteristics of the projection traffic of the current projection based on the distribution characteristics of the corresponding historical projection traffic.

[0076] In some embodiments, the distribution characteristics of the screen projection traffic can be obtained from the screen projection server based on the content type and user characteristics of the current display window. For example, the content type and user characteristics of the current display window can be used as relevant parameters of the feature vector for clustering or similarity comparison to determine the distribution characteristics of the screen projection traffic. As a result, the distribution characteristics of the traffic can be obtained when the application software is started, and the bandwidth can be adjusted in advance using the application software startup time to improve the efficiency of determining bandwidth requirements.

[0077] User characteristics may refer to the user's action habits during screen projection. For example, user characteristics may include the user's mouse movement and click characteristics. For another example, user characteristics may include the user's fast-forward operation when watching a video.

[0078] In some embodiments, the distribution characteristics of the screen projection traffic can be determined based on the distribution characteristics determination model. The input of the distribution characteristics determination model can be the current screen projection application related data and the historical screen projection application related data, and the output can be the distribution characteristics of the screen projection traffic. For more information about the distribution characteristics determination model, please refer to Figure 4 and its related description.

[0079] Step 320 , determining bandwidth allocation of the wireless network of the device based on the screen projection bandwidth requirement. In some embodiments, step 320 may be performed by the second determination module 220 .

[0080] The device may refer to one or more of the aforementioned projection data source, projection device, and projection presentation device. The wireless network of the device may refer to the network to which the projection data source, projection device, and projection presentation device are connected, wherein the projection can only be successful when the projection data source and projection device are in the same local area network.

[0081] Bandwidth allocation may refer to the allocation of the total bandwidth occupied by the projection data source, projection device, and other devices in the local area network. In some embodiments, bandwidth allocation may be reflected as uplink and downlink speed limits, that is, after the limit, the uplink and downlink speeds of the corresponding device cannot exceed the speed limit value.

[0082] In some embodiments, bandwidth allocation can be determined based on screen projection bandwidth requirements. For example, the bandwidth requirement and required time of screen projection can be determined from the screen projection software, and bandwidth allocation can be performed based on the bandwidth requirement and required time.

[0083] In some embodiments, when there are multiple people casting screens at the same time in a local area network, a central controller (such as an intelligent gateway integrating the present method) provided in the local area network can determine one or more devices for casting screens according to the casting information of the casting software (such as the casting time, the user currently casting screens, each casting data source, and the casting presentation device), and return corresponding information (such as the casting bandwidth requirement) to the allocated bandwidth for casting screens. For example, when a casting presentation device is cast by multiple casting data sources, the priority of each casting data source can be determined according to the user information of the casting, and after the current casting ends, the casting data source with a high priority is allowed to cast screens.

[0084] In some embodiments, bandwidth allocation can be performed by a corresponding device or a local area network gateway, wherein the local area network gateway can directly control the bandwidth allocation of each device connected to the network, and a device can only limit the bandwidth allocation of the device itself.

[0085] In some embodiments, when bandwidth allocation is dynamically determined according to different bandwidth requirements, it can be achieved through the protocol layer, that is, by controlling the data flow of each software on the protocol layer to control bandwidth allocation. Among them, each current display window has a corresponding application layer protocol, that is, each current display window can implement corresponding Internet services through the corresponding application layer protocol.

[0086] In some embodiments, a method for controlling bandwidth through an application layer protocol can be used by a LAN gateway. For example, the bandwidth of the current Internet device can be set through a LAN router, for example, the total upstream bandwidth and the total downstream bandwidth can be set. And in the background server, the uplink and downlink speeds of each device are limited according to the devices connected to the LAN. For another example, for devices that do not require speed limits (such as screen projection related devices), the identifiers of the corresponding devices (such as MAC addresses and IP addresses) can be added to the background server, and the speed limit can be modified to unlimited speed. Among them, the above process can be achieved through manual adjustment or automatic adjustment by software. For example, the second determination module 220 can generate an information table containing the identifier of the device and the corresponding speed limit recommendation, and the user or related software can limit the speed at the LAN gateway according to the information table.

[0087] In some embodiments, bandwidth allocation can also be determined based on the presentation situation of the projection device. The presentation situation may include information such as projection resolution and bit rate. Bandwidth allocation can also include restrictions on information such as projection resolution and bit rate. For example, when a 60-frame-per-second video is projected on a projection device that refreshes 120 times per second, the bit rate of the projection device can be limited. For another example, when a 1080p video is projected to a 720p display device, the resolution of the video can be limited, and the bandwidth of the video source can be limited.

[0088] In some embodiments, bandwidth allocation can be performed based on the total bandwidth of the network. For example, the total available bandwidth of the local area network can be obtained first. When the total available bandwidth is greater than the sum of the bandwidth requirements of each Internet service, bandwidth division can be omitted. When the total available bandwidth is less than the sum of the bandwidth requirements of each Internet service, bandwidth allocation can be achieved by limiting the speed of the Internet service.

[0089] In some embodiments, the total available bandwidth may vary depending on the peak bandwidth usage period at different locations, Internet surfing behaviors, number of Internet surfers, etc. For example, during the peak bandwidth usage period, the total available bandwidth for each user may be small.

[0090] In some embodiments, the total available bandwidth can be allocated according to the priority of the Internet access service. That is, the Internet access service with a high priority is allocated first, and the remaining available bandwidth is allocated to the Internet access service with a low priority. In some embodiments, the priority of the Internet access service can be determined based on the service type, data volume, time, user identity, location and other information of the Internet access service. Among them, the user identity can be determined based on user-related information (such as user ID), user Internet access habits, related monitoring images and other information. For example, when the user is a home office worker and the time is working hours, it can be known that the user's Internet access service may be related to the user's work and can be set to a higher priority.

[0091] In some embodiments, the bandwidth allocation may also include the duration of each bandwidth allocation. For example, a lower priority may be set for a download service. When there are other services with higher priorities, the bandwidth of the download service may be limited until the other services with higher priorities are completed.

[0092] In some embodiments, the non-screen projection bandwidth requirements of the device or other devices in the local area network can be determined first, and the bandwidth allocation can be adjusted comprehensively based on the non-screen projection bandwidth requirements. For details, see Figure 5 and its related description.

[0093] Based on the bandwidth control method provided in some embodiments of this specification, the bandwidth requirement can be determined based on the screen projection information, so as to determine different bandwidth requirements for each screen projection, realize dynamic adjustment of bandwidth allocation, and maximize the use of bandwidth resources. In addition, some embodiments of this specification use the screen projection feature vector to search in the historical screen projection feature vector, which is conducive to finding the historical screen projection data closest to the current screen projection data, so that the determined current screen projection traffic feature distribution is closer to the actual required traffic feature distribution, and improve the accuracy of bandwidth requirements.

[0094] Figure 4 It is an exemplary structural diagram of the distribution characteristic determination model method shown in some embodiments of this specification.

[0095] like Figure 4 As shown, the distribution feature determination model 400 may include an embedding layer 410 and a prediction layer 420 .

[0096] The embedding layer 410 can process the projection application related data to determine the projection feature vector. When the input of the embedding layer 410 is the current projection application related data, the output is the current projection feature vector. When the input of the embedding layer 410 is the historical projection application related data, the output is the historical projection feature vector. Among them, the embedding layer 410 can be implemented by a trained machine learning algorithm.

[0097] The prediction layer 420 can determine the distribution characteristics of the projection traffic based on the current projection feature vector and the historical projection feature vector through the prediction layer 420. In some embodiments, in order to reduce the amount of calculation and improve the model performance, the prediction layer 420 can be implemented by a clustering algorithm or a similarity matching algorithm. For details, please refer to the relevant description of step 310.

[0098] When the embedded layer 410 is working, when the embedded layer 410 inputs the current projection application related data, the embedded layer 410 can output the current projection feature vector. When the embedded layer 410 inputs the historical projection application related data, the embedded layer 410 can output the historical projection feature vector. Among them, the projection application related data may include: projection application type, content type, user characteristics, location information, application software information, current display window information and other related data.

[0099] In some embodiments, the embedding layer 410 can process the projection application related data as needed. For example, when the user performs a projection, the embedding layer 410 can determine the current projection feature vector based on the current projection application related data, and input it into the prediction layer 420 to determine the distribution characteristics of the projection traffic. After the projection is completed, the current projection feature vector is recorded as a historical projection feature vector.

[0100] In some embodiments, the embedding layer 410 can be a machine learning model such as a deep neural network (DNN) or a recurrent neural network (RNN) that can realize the estimation function.

[0101] When determining the cleanliness, the embedding layer 410 can input the projection application related data through the input layer, process the projection application related data through the hidden layer, and output the processed feature vector through the output layer.

[0102] In some embodiments, the embedding layer 410 can be jointly trained with the prediction layer 420, that is, an initial distribution feature determination model can be constructed according to the embedding layer 410 and the prediction layer 420. The initial distribution feature determination model may refer to a distribution feature determination model without setting embedding layer parameters.

[0103] During training, the training samples can be input into the initial distribution feature determination model to determine the model output, and then the parameters of the model are determined based on the loss function iterative distribution feature according to the model output and the training label until the training is completed (such as the number of iterations exceeds the number threshold, and the error between the model output and the training label is less than the error threshold). The embedding layer in the trained initial distribution feature determination model is used as the embedding layer 410. Among them, the training samples can be historical screen projection application related data, and the training labels can be the distribution characteristics of the corresponding historical screen projection traffic.

[0104] Based on this description, the distribution feature determination model provided by some embodiments can process historical related data to determine the historical projection feature vector. When determining the distribution characteristics of the projection flow of the current projection, the projection feature vector can be used to search in the historical projection feature vector, which is conducive to finding the historical projection data closest to the current projection data, so that the determined current projection flow feature distribution is closer to the actual required flow feature distribution.

[0105] Figure 5 FIG. 5 is an exemplary flow chart of a bandwidth allocation method according to some embodiments of the present specification. In some embodiments, process 500 may be executed by the second determining module 220 .

[0106] like Figure 5 As shown, process 500 may include the following steps:

[0107] Step 510, determine the non-screen projection bandwidth requirement.

[0108] Non-screen projection bandwidth requirements can refer to bandwidth requirements that are not related to screen projection and are running in devices (such as screen projection data sources and screen projection devices). For example, non-screen projection bandwidth requirements can include bandwidth requirements of background applications of screen projection data sources (such as mobile phones) (such as bandwidth requirements generated by WeChat when it is in the background standby).

[0109] Non-projection bandwidth requirements can also include bandwidth requirements of devices not related to projection in the network where the device is located. For example, in addition to the projection data source and projection device, there can be multiple terminals (such as mobile phones and computers) connected to the local area network, and the bandwidth requirements generated by the terminals are non-projection bandwidth requirements.

[0110] In some embodiments, the non-screen projection bandwidth requirement of the device can be determined by monitoring the networking status of each application software in the device. The non-screen projection bandwidth requirement of other devices can be determined by the detection data of the local area network gateway.

[0111] Step 520: Determine bandwidth allocation for the wireless network of the device based on the screen projection bandwidth requirement and the non-screen projection bandwidth requirement.

[0112] In some embodiments, in order to ensure the normal operation of screen projection, the screen projection bandwidth requirement can be limited. That is, it can be determined whether the sum of the screen projection bandwidth requirement and the non-screen projection bandwidth requirement is greater than the total bandwidth. If so, the non-screen projection bandwidth requirement is limited.

[0113] In some embodiments, different bandwidths can be allocated to non-screen projection bandwidth requirements in time to achieve bandwidth adjustment. That is, the bandwidth allocated by the second determination module 220 to the non-screen projection bandwidth requirements includes at least the first bandwidth and the second bandwidth. Among them, the first bandwidth is the bandwidth corresponding to the first time period, and the second bandwidth is the bandwidth corresponding to the second time period; the first time period and the second time period are adjacent; the bandwidth difference between the first bandwidth and the second bandwidth is greater than the preset bandwidth threshold, and the time length of the first time period is less than the preset time threshold.

[0114] Among them, the first time period can represent a high-bandwidth time period of the non-projection bandwidth, the first bandwidth can represent the high bandwidth of the non-projection bandwidth, the second time period can represent a low-bandwidth time period of the non-projection bandwidth, and the second bandwidth can represent the low bandwidth of the non-projection bandwidth.

[0115] In some embodiments, the first time period and the second time period may correspond to the bandwidth demand in the screen projection bandwidth demand. For example, the first time period may correspond to the time when the bandwidth demand in the screen projection bandwidth demand is low, that is, the screen projection bandwidth demand is small in the first time period, and the bandwidth that can be allocated to the non-screen projection bandwidth demand in the total bandwidth is large, then the first bandwidth is large. Among them, the preset time threshold can be the duration of the low bandwidth demand.

[0116] In some embodiments, the first time period and the second time period may include multiple sub-time periods. The first time period and the second time period may be adjacent to each sub-time period in the second time period and each sub-time period in the first time period. The time length of the first time period less than the preset time threshold may mean that each sub-time period is less than the corresponding time threshold. For example, when a video is projected, the projection bandwidth demand is large when the video is loaded or the user drags the video progress bar, and the bandwidth demand is high at other times. Exemplarily, the projection screen is 30 minutes in total, and the projection bandwidth demand is small from 5 minutes to 10 minutes and 15 minutes to 25 minutes after the start time of the projection screen. Correspondingly, the first time period may include three sub-time periods, wherein the projection screen start time to 5 minutes is the first sub-time period of the first time period, 10 minutes to 15 minutes is the second sub-time period of the first time period, and 25 minutes to 30 minutes is the third sub-time period of the first time period, and the preset time threshold is 5 minutes. The second time period may include two sub-time periods. Among them, 5 minutes to 10 minutes after the start of the projection screen is the first sub-time period of the second time period, and 15 minutes to 25 minutes is the second sub-time period of the second time period.

[0117] In some embodiments, the first time period and the second time period can be determined based on the projection peak width distribution. For example, the projection peak flow duration period can be determined according to the projection peak width distribution, and the time point and time length of the second time period can be determined according to the projection peak flow duration period. Among them, the time length of the second time period can be greater than the projection peak flow duration period, and the remaining time is the first time period. To avoid delays in projection caused by untimely speed limits. Among them, the first bandwidth and the second bandwidth can be determined based on the total traffic minus the traffic at the corresponding time in the projection peak width distribution.

[0118] The bandwidth allocation method provided in some embodiments of this specification takes into account that the traffic in non-screen projection traffic is generally video and is generally cached, while screen projection cannot have delays. Therefore, the delay of screen projection can be reduced by controlling the length of the first period of high bandwidth occupancy by meeting the screen projection bandwidth requirements as much as possible. In addition, the high-bandwidth and low-bandwidth time periods allocated to non-screen projection traffic are determined based on the peak width distribution of the screen projection traffic, so that the bandwidth allocation is more reasonable, ensuring the screen projection bandwidth while ensuring that other non-screen projection applications can also be allocated appropriate bandwidth, avoiding bandwidth resource waste and maximizing bandwidth utilization.

[0119] It should be noted that the above description of processes 300 and 500 is only for illustration and description, and does not limit the scope of application of this specification. For those skilled in the art, various modifications and changes can be made to processes 300 and 500 under the guidance of this specification. However, these modifications and changes are still within the scope of this specification.

[0120] The basic concepts have been described above. Obviously, for those skilled in the art, the above detailed disclosure is only for example and does not constitute a limitation of this specification. Although not explicitly stated here, those skilled in the art may make various modifications, improvements and corrections to this specification. Such modifications, improvements and corrections are suggested in this specification, so such modifications, improvements and corrections still belong to the spirit and scope of the exemplary embodiments of this specification.

[0121] At the same time, this specification uses specific words to describe the embodiments of this specification. For example, "one embodiment", "an embodiment", and / or "some embodiments" refer to a certain feature, structure or characteristic related to at least one embodiment of this specification. Therefore, it should be emphasized and noted that "one embodiment" or "an embodiment" or "an alternative embodiment" mentioned twice or more in different positions in this specification does not necessarily refer to the same embodiment. In addition, certain features, structures or characteristics in one or more embodiments of this specification can be appropriately combined.

[0122] In addition, unless explicitly stated in the claims, the order of the processing elements and sequences described in this specification, the use of alphanumeric characters, or the use of other names are not intended to limit the order of the processes and methods of this specification. Although the above disclosure discusses some invention embodiments that are currently considered useful through various examples, it should be understood that such details are only for illustrative purposes, and the attached claims are not limited to the disclosed embodiments. On the contrary, the claims are intended to cover all modifications and equivalent combinations that are consistent with the essence and scope of the embodiments of this specification. For example, although the system components described above can be implemented by hardware devices, they can also be implemented only by software solutions, such as installing the described system on an existing server or mobile device.

[0123] Similarly, it should be noted that in order to simplify the description disclosed in this specification and thus help understand one or more embodiments of the invention, in the above description of the embodiments of this specification, multiple features are sometimes combined into one embodiment, figure or description thereof. However, this disclosure method does not mean that the features required by the subject matter of this specification are more than the features mentioned in the claims. In fact, the features of the embodiments are less than all the features of the single embodiment disclosed above.

[0124] In some embodiments, numbers describing the number of components and attributes are used. It should be understood that such numbers used in the description of the embodiments are modified by the modifiers "about", "approximately" or "substantially" in some examples. Unless otherwise specified, "about", "approximately" or "substantially" indicate that the numbers are allowed to vary by ±20%. Accordingly, in some embodiments, the numerical parameters used in the specification and claims are approximate values, which may change according to the required features of individual embodiments. In some embodiments, the numerical parameters should take into account the specified significant digits and adopt the general method of retaining digits. Although the numerical domains and parameters used to confirm the breadth of their range in some embodiments of this specification are approximate values, in specific embodiments, the setting of such numerical values ​​is as accurate as possible within the feasible range.

[0125] Each patent, patent application, patent application publication, and other materials, such as articles, books, specifications, publications, documents, etc., cited in this specification are hereby incorporated by reference in their entirety. Except for application history documents that are inconsistent with or conflicting with the contents of this specification, documents that limit the broadest scope of the claims of this specification (currently or later attached to this specification) are also excluded. It should be noted that if the descriptions, definitions, and / or use of terms in the materials attached to this specification are inconsistent or conflicting with the contents described in this specification, the descriptions, definitions, and / or use of terms in this specification shall prevail.

[0126] Finally, it should be understood that the embodiments described in this specification are only used to illustrate the principles of the embodiments of this specification. Other variations may also fall within the scope of this specification. Therefore, as an example and not a limitation, alternative configurations of the embodiments of this specification may be considered consistent with the teachings of this specification. Accordingly, the embodiments of this specification are not limited to the embodiments explicitly introduced and described in this specification.

Claims

1. A bandwidth control method, comprising: Determine the screen projection bandwidth requirements based on the screen projection information, including: Based on the types of applications being run and user characteristics, distribution characteristics of screen projection traffic are obtained from the screen projection server, wherein the user characteristics include the user's mouse movement and click characteristics, and the distribution characteristics include peak width distribution; wherein the distribution characteristics of screen projection traffic are obtained from the screen projection server based on the types of applications being run and user characteristics, specifically including: The distribution feature is obtained by a distribution feature determination model; the distribution feature determination model includes an embedding layer and a prediction layer, the input of the embedding layer includes screen projection application related data, and the output includes a screen projection feature vector; the input of the prediction layer includes a current screen projection feature vector and a historical screen projection feature vector, and the output includes the distribution feature of the screen projection traffic; Determine the screen projection bandwidth requirement based on the content type of the current display window and the distribution characteristics of the screen projection traffic in the historical records; Determine the bandwidth allocation of the wireless network of the device based on the screen projection bandwidth requirement.

2. According to the method of claim 1, determining the bandwidth allocation of the wireless network of the device based on the screen projection bandwidth requirement comprises: Determine non-screen projection bandwidth requirements; Based on the screen projection bandwidth requirement and the non-screen projection bandwidth requirement, determine the bandwidth allocation of the wireless network of the device.

3. The method according to claim 2, wherein determining the bandwidth allocation of the wireless network of the device comprises: The bandwidth allocated to non-screen projection bandwidth requirements includes at least a first bandwidth and a second bandwidth, wherein the first bandwidth is the bandwidth corresponding to a first time period, and the second bandwidth is the bandwidth corresponding to a second time period; the first time period and the second time period are adjacent; the bandwidth difference between the first bandwidth and the second bandwidth is greater than a preset bandwidth threshold, and the time length of the first time period is less than a preset time threshold.

4. A bandwidth control system, comprising: The first determination module is used to determine the screen projection bandwidth requirement based on the screen projection information, including: Based on the types of applications being run and user characteristics, distribution characteristics of screen projection traffic are obtained from the screen projection server, wherein the user characteristics include the user's mouse movement and click characteristics, and the distribution characteristics include peak width distribution; wherein the distribution characteristics of screen projection traffic are obtained from the screen projection server based on the types of applications being run and user characteristics, specifically including: The distribution feature is obtained by a distribution feature determination model; the distribution feature determination model includes an embedding layer and a prediction layer, the input of the embedding layer includes screen projection application related data, and the output includes a screen projection feature vector; the input of the prediction layer includes a current screen projection feature vector and a historical screen projection feature vector, and the output includes the distribution feature of the screen projection traffic; Determine the screen projection bandwidth requirement based on the content type of the current display window and the distribution characteristics of the screen projection traffic in the historical records; The second determination module is used to determine the bandwidth allocation of the wireless network of the device based on the screen projection bandwidth requirement.

5. The system according to claim 4, wherein the second determining module is further configured to: Determine non-screen projection bandwidth requirements; Based on the screen projection bandwidth requirement and the non-screen projection bandwidth requirement, determine the bandwidth allocation of the wireless network of the device.

6. The system according to claim 5, wherein determining the bandwidth allocation of the wireless network of the device comprises: The bandwidth allocated to non-screen projection bandwidth requirements includes at least a first bandwidth and a second bandwidth, wherein the first bandwidth is the bandwidth corresponding to a first time period, and the second bandwidth is the bandwidth corresponding to a second time period; the first time period and the second time period are adjacent; the bandwidth difference between the first bandwidth and the second bandwidth is greater than a preset bandwidth threshold, and the time length of the first time period is less than a preset time threshold.

7. A bandwidth control device, characterized in that: The apparatus comprises at least one processor and at least one memory; The at least one memory is used to store computer instructions; The at least one processor is configured to execute at least part of the computer instructions to implement the method according to any one of claims 1 to 3.

8. A computer-readable storage medium, characterized in that: The storage medium stores computer instructions, and when the computer instructions are executed by a processor, the method according to any one of claims 1 to 3 is implemented.

Citation Information

Patent Citations

  • Method and apparatus for bandwidth allocation and estimation

    CN104396215A

  • Screen projection playing method and device and storage medium

    CN112839238A