Systems and methods for prioritizing data packets based on application context, user state, and user role

By using computer software systems running on wireless communication devices to adjust data packet priorities based on application scenarios, user status, and user roles, the problem of low service quality in Wi-Fi networks under congestion conditions is solved, achieving more efficient data packet transmission and optimized user experience.

CN115484637BActive Publication Date: 2025-10-17SHANGHAI SHENGWANG TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202210202505.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-05-31
Filing Date
2022-03-03
Publication Date
2025-10-17
Estimated Expiration
2042-03-03

AI Technical Summary

Technical Problem

In congested situations, existing Wi-Fi networks use overly general methods to classify data packets, failing to consider factors such as application scenarios, user roles, and user status, resulting in poor service quality.

Method used

By using a computer software system running on a wireless communication device, the priority of data packets is adjusted according to the application scenario, user status, and user role. This includes a data packet priority adjuster, a user role processor, and an application interface module, to dynamically adjust the priority of data packets to optimize transmission.

Benefits of technology

It improves the service quality of Wi-Fi networks under congested conditions, especially in application scenarios such as online education and video streaming, and optimizes the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115484637B_ABST
    Figure CN115484637B_ABST
Patent Text Reader

Abstract

A computer software application is provided that runs on a wireless communication device, determines an application context as being emergency or non-emergency, and determines a user status as being relevant, irrelevant, or absent. The application context and user status information are sent to a wireless network device. The wireless network device determines a user role for different wireless communication devices. When there is downlink congestion to the wireless communication device, the priority of data packets sent to the wireless communication device can be adjusted based on the application context, user status, and user role. The priority is lowered when the application context is non-emergency, the user role is a listener, and the user status is irrelevant or absent.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to U.S. patent application No. 17 / 334,911, filed May 31, 2021. Technical Field

[0003] The present invention generally relates to the field of wireless communications, and more particularly, to a system and method for prioritizing data packets on a congested wireless network. More specifically, the present invention relates to a system and method for prioritizing data packets on a congested wireless network based on application scenario, user status, and user role. Background Art

[0004] IEEE 802.11e (also known as IEEE 802.11e-2005) is an amendment to the IEEE 802.11 communications standard. It defines a set of Quality of Service (QoS) enhancements for wireless local area network (LAN) computer software applications through modifications to the Media Access Control (MAC) layer. The IEEE 802.11e standard is crucial for delay-sensitive applications such as voice over wireless LANs (WLAN) and streaming multimedia. The Wi-Fi Multimedia (WMM) standard, a subset of the IEEE 802.11e wireless LAN specification, improves the Quality of Service (QoS) of Wi-Fi wireless networks by prioritizing packets according to four categories. Network administrators can change the priorities as needed.

[0005] The four categories of packets, from highest to lowest priority, are voice packets, video packets, best-effort packets, and background packets. Voice packets are assigned the highest priority to enable and deliver Voice over IP (VoIP) calls with minimal latency and the highest possible quality. Video packets are assigned the second-highest priority to support the delivery of high-quality video streams, such as Standard Definition Television (SDTV) or High Definition Television (HDTV) over a WLAN. Best-effort packets are packets from legacy devices or applications or devices without QoS standards. Background packets are packets for file downloads, print jobs, and other usage traffic that is not affected by increased latency.

[0006] like Figure 1As shown, the computer software application data packets 102 are generally placed in four separate data packet transmission queues 104, 106, 108, and 110, namely, a voice packet queue, a video packet queue, a best effort packet queue, and a background packet queue in a Wi-Fi network device (e.g., a router or a cable modem). The data packets 112, 114, 116, and 118 in the queues are transmitted over the air medium to target wireless communication devices connected to the Wi-Fi network device according to the priority order of the respective queues at 122. The collision resolution algorithm 100 responsible for making the traffic priority ordering is probabilistic and depends on two timing parameters, which vary according to different access categories (ACs). The two timing parameters are referred to as the minimum interframe space (AIFSN) and the random backoff window (RBW). In the case of overflow traffic (also referred to as congestion), data packets with higher priority are more likely to be successfully transmitted over the Wi-Fi network.

[0007] It is clear that the WMM standard helps to improve the quality of service on WLANs (e.g., Wi-Fi networks). However, the classification of data packets in WMM is too general and does not take into account more specific factors. Therefore, the quality of service under the WMM approach is still not high. Thus, there is a need for a new approach and a new system to overcome the shortcomings of the traditional approach and further improve the quality of service on congested Wi-Fi networks. In particular, it is required that the new approach and the new system can improve the quality of service by taking into account factors such as application scenarios, roles of participating users, and user states. For example, in an online class, a teacher who is a presenter plays a more important role than a student who is a listener. For another example, when a user is not present in his / her communication device, the priority of the user to receive a media stream should be set at a lower level in order to maintain or improve the experience of other users in the same Wi-Fi network. This new priority mechanism is particularly important for video streams with large data volumes. SUMMARY

[0008] In general, the present invention provides a computer software system for prioritizing data packets transmitted to a wireless communication device over a wireless connection according to various embodiments. The computer software system includes a computer software application running on the wireless communication device. The computer software application is configured to determine a user status of the wireless communication device. The user status is associated with a destination identifier of the wireless communication device. The computer software application is configured to determine an application context of the computer software application. The wireless communication device includes a processor; a memory adapted to the processor; an audio input interface adapted to the processor; an audio output interface adapted to the processor; a video input interface adapted to the processor; a video output interface adapted to the processor; a wireless network interface adapted to the processor; and an operating system adapted to the processor. The computer software system further includes an application interface module running on the wireless network device. The wireless network device is configured to create a wireless network. The wireless communication device is configured to connect to the Internet over the wireless network. The application interface module is configured to receive the user status and the application context information from the computer software application over the wireless network. The computer software system further includes a user role processor running on the wireless network device. The user role processor is further configured to determine a user role of a source wireless communication device identified by a sender identifier. In addition, the computer software system further includes a data packet priority adjuster running on the wireless network device. The data packet priority adjuster is configured to adjust a data packet priority of a data packet transmitted from the source wireless communication device to the destination wireless communication device according to at least one of the application context, the user status, and the user role, prior to transmitting the data packet to the destination wireless communication device over the wireless network, thereby forming an adjusted data packet priority. In some embodiments, the data packet can be a video data packet. When the application context is a non-urgent situation, the data packet priority adjuster is configured to lower the data packet priority, thereby forming the adjusted data packet priority. In some embodiments, the data packet priority can be one of IEEE 802.1p Type of Service, IEEE 802.11 User Precedence, and Access Category. When the application context is a non-urgent situation, the data packet priority adjuster is configured to lower the data packet priority by two levels, thereby forming the adjusted data packet priority. When the user status is irrelevant or absent, the data packet priority adjuster is configured to lower the data packet priority, thereby forming the adjusted data packet priority.In some embodiments, the data packet priority is one of IEEE 802.1p service type, IEEE 802.11 user priority, and access category; when the user status is irrelevant, the data packet priority adjuster adjusts the data packet priority by 2 levels to form an adjusted data packet priority; and when the user status is absent, the data packet priority adjuster adjusts the data packet priority by 4 levels to form an adjusted data packet priority. When the user role is a listener, the data packet priority adjuster adjusts the data packet priority to form an adjusted data packet priority. In some embodiments, the data packet priority is one of IEEE 802.1p service type, IEEE 802.11 user priority, and access category.

[0009] When the user role is a listener, the data packet priority adjuster adjusts the data packet priority by 2 levels to form an adjusted data packet priority. When the number of voice data packets from the source wireless communication device during a predetermined time window exceeds a predetermined threshold, the user role is a talker, and when the number of voice data packets from the source wireless communication device during a predetermined time window is below the predetermined threshold, the user role is a listener. The computer software application determines the user status based on a set of images captured at a video input interface of the wireless communication device and a gaze duration toward a direction of a video output interface of the wireless communication device. BRIEF DESCRIPTION OF DRAWINGS

[0010] The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.

[0011] The technical features of the invention will be particularly pointed out in the claims, and will be better understood by reference to the description of the invention and the accompanying drawings, which form a part of this disclosure.

[0012] In all of the drawings, like reference numerals refer to like parts throughout the several views:

[0013] Figure 1 is an example block diagram of a conflict resolution algorithm for data packet priority of an application over a wireless network in the prior art.

[0014] Figure 2 is an example block diagram of a wireless communication system according to the present invention.

[0015] Figure 3 is an example block diagram of a wireless communication device according to the present invention.

[0016] Figure 4 is an example block diagram of a wireless network device and a wireless communication device according to the present invention.

[0017] Figure 5 is a data packet priority mapping table.

[0018] Figure 6 is an example flowchart of a process for determining a user role by a wireless network device according to the present invention.

[0019] Figure 7 is an example flowchart of a process for determining a user status by a computer software application running on a wireless communication device according to the present invention.

[0020] Figure 8 is an example flowchart of a process for handling application scenarios and user status by a wireless network device according to the present invention.

[0021] Figure 9 is an example flowchart of a process for adjusting the priority of a data packet by a wireless network device before the data packet is sent to a wireless communication device according to the present invention.

[0022] Figure 10 is an example flowchart of a process for providing application scenario information by a computer software application to a wireless network device according to the present invention.

[0023] Those of ordinary skill in the art will realize and understand that the various components in the above figures are not necessarily drawn to scale for the sake of simplicity in illustrating the various components. The size of some of the components in the figures can be exaggerated relative to other components to help to understand the present invention. Furthermore, the particular order in which certain elements, parts, components, modules, steps, operations, events, and / or processes are described or illustrated in this document can not be essential to the application. Those of ordinary skill in the art will realize and understand that the particular order in which certain elements, parts, components, modules, steps, operations, events, and / or processes are described or illustrated in this document can not be essential to the application. DETAILED DESCRIPTION

[0024] Figure 2FIG. 1 is an example block diagram of a wireless communication system, generally designated 200. The wireless communication system includes a group of wireless communication devices, such as 206, 208, 210, and 212, which can communicate with each other through a network 224, such as the Internet. In some embodiments, the network communication protocol is the Transmission Control Protocol (TCP) and the Internet Protocol (IP) (collectively, TCP / IP). The devices 206-212 are operated or otherwise used by users 216, 218, 220, and 222, respectively. In the present disclosure, the users 216-222 are referred to as participants and participants. The devices 206-212 are referred to as participant devices. The devices 206-208 are connected to the Internet 224 through a wireless network device 202, and the devices 210-212 are connected to the Internet 224 through a wireless network device 204. The wireless network devices 202-204, such as WiFi wireless routers or modems, create their own wireless networks, respectively. Thus, the wireless network devices 202-204 are also referred to as wireless networks in the present disclosure.

[0025] The wireless communication devices 206-212 can be laptops, tablets, smartphones, or other portable devices that can access the Internet 224 through a wireless network. Take the device 206 as an example, the devices 206-212 are shown as Figure 3

[0026] Figure 3 FIG. 2 is an example block diagram of a wireless communication device 206. The device 206 includes a processor 302, a memory 304 with a certain capacity adapted to the processor 302, one or more user input interfaces 306 (such as touchpads, keyboards, mice, etc.) adapted to the processor 302, a voice input interface 308 (such as a microphone) adapted to the processor 302, a voice output interface 310 (such as a speaker) adapted to the processor 302, a video input interface 312 (such as a camera) adapted to the processor 302, a video output interface 314 (such as a display screen) adapted to the processor 302, and a wireless network interface 316 (such as a WiFi network interface) adapted to the processor 302. The device 206 also includes an operating system 320 (such as Windows®, Linux®, macOS®, iOS®, Android®, etc.) running on the processor 302. One or more computer software applications 322 are loaded and run on the device 206. The computer software applications 322 are run through computer software programming languages (such as C, C++, C#, Java, etc.).

[0027] Figure 4 ​​is an example block diagram of a wireless network device (indicated by 202) and wireless communication devices (indicated by 206). The wireless network device 202 (or 204) includes a wireless transmitting device 420 for transmitting data to the devices 206-208, a wireless receiving device 422 for receiving data from the devices 206-208, and a wired network interface 424 for accessing the Internet 224. The components 420-422 can be a single transceiving device component. The wireless network device 202 also includes computer software modules, such as a data packet receiver 402, a data packet priority mapper 404, a data packet priority adjuster 406, a data packet forwarder 408, an application interface module 410, and a user role processor 412. The data packet receiver 402 receives data packets received by the receiving device 422. The data packet forwarder 408 transmits data packets to the transmitting device 402 for transmission over the air medium.

[0028] The data packet priority mapper 404 maps the priority of the received data packets. In one embodiment, the mapping complies with the IEEE 802.1 le standard. Specifically, the IP header of a data packet contains a 3-bit PRI field, which represents the type of service (ToS). The data packet priority mapper 404 maps the PRI value to a user priority (UP) and four access categories (AC), as shown in Figure 5

[0029] The data packet priority adjuster 406 adjusts the mapped priority of the data packets. Factors that affect the adjustment include at least one of an application scenario, a user role, and a user status. The application scenario represents the type of application 322, such as a real-time video teleconference application, a real-time voice teleconference application, an entertainment application (such as a computer video game), an educational application (such as a school teaching application), and the like. In one embodiment, the application scenario is either urgent or non-urgent. The user role represents whether a user (such as the users 216-222) is a speaker or a listener during a communication session (such as a real-time video teleconference or a real-time class). The user roles of the users 216-222 are also the user roles of the devices 206-212, respectively. The user role is determined by the user role processor module 412. The user status represents whether a user is relevant, irrelevant, or even absent during a communication. The user statuses of the users 216-222 are also the user statuses of the devices 206-212, respectively. The application interface module 410 receives the application scenario and user status data from the application 322.

[0030] The application 322 determines the user status of the wireless communication device on which the application 322 is running. The user status can be relevant, irrelevant, or absent. Figure 7 The process by which the application 322 determines the user status is further described. Figure 7 ​A flowchart of the process by which the application 322 running on the device 206 determines the user state of the user 216 is drawn, which is generally indicated at 700. The process 700 is performed by the application 322 running on the devices 208-212 to determine the user state of the users 218-222, respectively.

[0031] At 702, the application 322 receives a set of images captured by the video input interface 314. At 704, the application 322 determines whether a person (e.g., the user 216) is present from the set of images. To do so, the application 322 performs image analysis operations to identify whether a person is present in the set of images. If the application 322 determines that no person is present in the set of images, the application 322 identifies the user state as not present at 706. At 716, the application 322 sends the user state to the application interface module 410 of the wireless network device 202. If a person is detected in the set of images, at 708, the application 322 determines the gaze orientation of the detected person in the set of images. At 710, the application 322 determines the duration of the gaze in the direction of the video output interface 314.

[0032] At 714, if the detected gaze time toward the display screen 314 is above a predetermined threshold (e.g., five minutes), the application 322 determines that the user state is relevant. In other words, the user state of the user 216 is relevant. Otherwise, at 712, the application 322 determines that the detected user state is irrelevant. In other words, the user state of the user 216 is irrelevant. In either case, at 716, the application 322 sends the user state information to the application interface module 410 of the wireless network device 202.

[0033] Figure 10 The process by which the application 322 provides the application context to the wireless network devices 202-204 is further described. Figure 10 A flowchart of the process by which the application 322 provides the application context to the wireless network device (e.g., the device 202) is drawn, which is generally indicated at 1000. At 1002, the application 322 receives a user input indicative of an application context, such as a real-time video teleconference. The user input can be a selection made in a user interface displayed on the display screen 314. Alternatively, at 1004, the application 322 receives an application context defined by a predetermined data item. In either case, the application 322 is deemed to have received the application context from the user input. At 1006, the application 322 sends the application context information to the application interface module 410 of the wireless network device 202. In some embodiments, the application context is identified as urgent or non-urgent.

[0034] The process by which the application interface module 410 processes the application context and the user state can be described with reference to Figure 8 . Figure 8 is a flowchart depicting the process, which is generally indicated at 800. At 802, the application interface module 410 running in the wireless network device 202 receives an application context from the device 206. It is noted that the application interface module 410 can also receive an application context from other wireless communication devices (e.g., the device 208) that are wirelessly connected to the wireless network device 202. Likewise, the application interface module 410 running in the wireless network device 204 can receive an application context from the devices 210-212.

[0035] At 804, the application interface module 410 associates the received application context information with the sending device 206. For example, the association is identified by the IP address of the device 206. For data packets destined for the device 206, the IP address is referred to as the target IP address, the target device identifier, and the target identifier. At 806, the application interface module 410 receives the user state of the user 216 from the device 206. Likewise, the application interface module 410 receives the user state of the user 218 from the device 208, and the application interface module 410 running on the device 204 receives the user states of the users 220-222 from the devices 210-212, respectively. At 808, the application interface module 410 associates the received user state with the device 206 by, for example, the IP address of the device 206.

[0036] Figure 6 depicts the process by which the user role processor 412 determines the user role, which is generally indicated at 600. At 602, the user role processor 412 receives a voice data packet from one of the wireless communication devices 206-212. The voice data packet includes an identifier of the sending device (i.e., the sender), such as the IP address of the device 206. At 604, within a predetermined time window (e.g., every two minutes), the user role processor 412 increments the number of voice data packets received from the sender identified by the sender identifier. At 606, the user role processor 412 determines, at the end of the time window, whether the corresponding number of voice data packets received from each sender identifier within the time window exceeds a predetermined threshold (e.g., 1000). If so, the user role processor 412 identifies the user and the device associated with the sender identifier as a talker at 608. Otherwise, the user role processor 412 identifies the user and the device as a listener at 610. The identification can be made, for example, by a data item in memory.

[0037] Each of the wireless network devices 202-204 includes a data packet priority adjuster 406 to adjust the forwarding priority of data of a data packet that is transmitted from its respective wireless network. The data packet priority adjuster 406 first determines the priority of the data packet according to the application scenario, user status, and user role, and then places the data packet into a data forwarding queue, such as the queues 104-110. The process of adjusting the priority of the data packet by the wireless network device 202 (e.g., a Wi-Fi network access point) before the data packet is transmitted to the wireless communication device 206 is described in detail below with reference to Figure 9 .

[0038] Figure 9 is a flowchart depicting the above process. The entire process is generally designated at 900. At 902, the wireless network device 202 determines that its wireless network is in a congested state. In other words, the downlink from the wireless network device 202 to its connected devices (e.g., the devices 206-208) is in a congested state. In this case, the data packet priority adjuster 406 is run to prioritize the data packet according to the application scenario, user status, and user role to achieve the intended quality of service. The congested state can be detected by a network monitoring module running in the device 202.

[0039] At 904, the data packet receiver 402 receives the data packet. For example, the sender (or source) of the data packet is the device 210, and the target receiver (or destination) is the device 206. In this case, the IP source address and the IP destination address of the data packet are the IP addresses of the devices 210 and 206, respectively. At 906, the data packet priority mapper 404 maps the priority of the received data packet. For example, the ToS priority is mapped to the UP and AC columns, as shown in the table 500 in Figure 5 .

[0040] At 908, the data packet priority adjuster 406 adjusts the priority of the data packet according to the application scenario associated with the destination of the data packet. For example, when the data packet is a video data packet and the application scenario is urgent (e.g., a real-time teleconference or a real-time class session), the Access Category (AC) and the User Precedence (UP) of the data packet remain unchanged (i.e., the adjustment value is zero) at 908, as shown in the table 500 in Figure 5 . Alternatively, the AC and UP can be increased. For another example, when the data packet is a video data packet and the application scenario is non-urgent (e.g., an entertainment application such as video playback), the data priority (e.g., the AC and UP of the data packet) is decreased by 2 (i.e., decreased by 2) at 908, as shown in the table 500 in Figure 5 . In this case, the adjusted UP is 3, and the adjusted AC is AC_VBE (best effort class).

[0041] At 910, the packet priority adjuster 406 adjusts the priority of the packet based on the user role associated with the source of the packet. The source is identified by a sender identifier, such as the source IP address of the packet. For example, when the packet is a video packet from device 210 and user 220 is the speaker, at 910, the access category and user priority of the packet (such as Figure 5 As shown in FIG. 2 , the packet remains unchanged. Alternatively, it may be increased. For another example, if the packet is a video packet from device 210 and user 220 is the listener, at 910 , the AC and UP of the packet are reduced by 2. In this case, the adjusted UP is 3, and the adjusted AC is AC_VBE (best effort service class).

[0042] At 912, the data packet priority adjuster 406 adjusts the priority of the data packet according to the user interest associated with the destination of the data packet. For example, when the data packet is a video data packet and the current status of the user 206 is interested, at 910, the access category and user priority of the data packet (such as Figure 5 (as shown) remains unchanged. Alternatively, it may be increased. For another example, if the packet is a video packet and the user 206 status is not interested, at 912, the AC and UP of the packet are reduced by 2. In this case, the adjusted UP is 3, and the adjusted AC is AC_VBE (Best Effort). Furthermore, if the user 206 is not present, at 912, the AC and UP of the packet are reduced by 4. In this case, the adjusted UP is 1, and the adjusted AC is AC_VBK (Background).

[0043] At 914, the data packets with the adjusted QoS priority are scheduled for transmission to device 206. For example, the data packets with the adjusted priority are placed in one of queues 104-110 based on the adjusted priority. In one embodiment, process 900 is applied only to video data packets. The computer software application 322, the application interface module 410, the user role processor 412, and the data packet priority adjuster 406 constitute a computer software system for adjusting the priority of data packets sent to the wireless communication device 206. The computer software application 322 is executed on the wireless communication device, and the application interface module 410, the user role processor 412, and the data packet priority adjuster 406 are executed on the wireless network device 202, which is wirelessly connected to the device 206.

[0044] In light of the above description, it will be apparent to those of ordinary skill in the art that many other modifications and variations can be made to the application. It is therefore to be understood that within the scope of the appended claims, the application can be practiced otherwise than as specifically described. For example, modules 406, 410, and 412 can be implemented as a single or multiple modules. Also, only one or two of elements 908, 910, and 912 can operate on the data packets. Also, the data packet priority adjustment can be performed only on video data packets to be transmitted over the wireless link to a receiving device such as device 206.

[0045] The above description of the application is meant to be illustrative only and is not intended to limit the application to the specific forms set forth above. Rather, the above description is meant to explain the principles of the application and its practical application to enable others skilled in the art to best utilize the application in various embodiments and with various modifications as are suited to the particular use contemplated. It is to be understood that the phraseology "one" or "a" as used herein is meant to encompass singular and plural forms of the elements being described. Conversely, the phraseology "at least one" or "one or more" as used herein is meant to encompass both singular and plural forms of the elements being described.

[0046] The scope of the application is not intended to be limited to the above description, but is instead defined by the claims. Furthermore, although the claims herein can refer to a process, it should be understood that the process can include computer- implemented steps, and to the extent that an algorithm can be implemented by a computer, the algorithm expressed by the claims is intended to define an apparatus or manufacture as well as the process. It is recognized that the scope of the application is substantially wider than is indicated by the claims. Broader claims will be presented in one or more applications claiming priority to this application. To the extent that portions of the disclosure above have not been included in the claims below, these portions are not publicly disclosed and we reserve the right to claim one or more applications in the future based on these additional disclosure portions.

Claims

1. A computer software system for prioritizing a plurality of data packets transmitted between wireless communication devices over a wireless connection based on real-time acquired information, wherein: The wireless communication device includes a source wireless communication device and a target wireless communication device, the source wireless communication device and the target wireless communication device are connected to the Internet via respective wireless network devices, the real-time acquired information includes at least one of a real-time application scenario, a real-time user status, and a real-time user role of the source wireless communication device and / or at least one of a real-time application scenario and a real-time user interest of the target wireless communication device, and the computer software system includes: a computer software application running on the source wireless communication device, the computer software application determining a real-time user state of the source wireless communication device, the real-time user state being associated with a destination identifier of the source wireless communication device, and the computer software application determining its own real-time application scenario, the source wireless communication device comprising: processor; A memory adapted to the processor; Adapting to the audio input interface of the processor; Adapting the audio output interface of the processor; A video input interface adapted to the processor; A video output interface adapted to the processor; A wireless network interface adapted to the processor; and an operating system run by the processor, an application interface module running on a wireless network device, the wireless network device establishing a wireless network, the application interface module receiving the real-time user status and the real-time application scenario information from the computer software application via the wireless network; A user role processor operable on a wireless network device, the user role processor being operable to determine a real-time user role of the source wireless communication device, the source wireless communication device being identified by a sender identifier, wherein determining the real-time user role comprises: when the number of voice packets from the source wireless communication device during a predetermined time window exceeds a predetermined threshold, the real-time user role is a speaker; and when the number is below the predetermined threshold, the real-time user role is a listener; a data packet priority mapper operable on the wireless network device, performing priority mapping on the plurality of data packets to form mapping priorities of the data packets; A data packet priority adjuster can be run on a wireless network device, wherein the data packet priority adjuster is used to adjust the mapping priority of the data packet according to the real-time acquired information to obtain the adjusted data packet priority, and then the data packet is sent to the wireless communication device through the wireless network.

2. The computer software system according to claim 1, wherein: When the real-time application scenario is non-urgent, the data packet priority adjuster lowers the data packet priority to obtain an adjusted data packet priority.

3. The computer software system according to claim 2, wherein: The data packet priority is one of three types: IEEE 802.1p service type, IEEE 802.11 user priority, and access category, wherein the IEEE 802.1p service type and the IEEE 802.11 user priority each include eight priority levels, and the access category includes a voice class, a video class, a best-effort class, and a background class; and When the real-time application scenario is non-urgent, the data packet priority adjuster lowers the data packet priority by 2 levels to obtain an adjusted data packet priority.

4. The computer software system according to claim 1, wherein: When the real-time user status is irrelevant or absent, the data packet priority adjuster lowers the data packet priority to obtain an adjusted data packet priority.

5. The computer software system according to claim 4, wherein: The data packet priority is one of three types: IEEE 802.1p service type, IEEE 802.11 user priority, and access category, wherein the IEEE 802.1p service type and the IEEE 802.11 user priority each include eight priority levels, and the access category includes a voice class, a video class, a best-effort class, and a background class; and When the real-time user status is irrelevant, the data packet priority adjuster lowers the data packet priority by 2 levels to obtain an adjusted data packet priority; or, when the real-time user status is absent, the data packet priority is lowered by 4 levels to obtain an adjusted data packet priority.

6. The computer software system according to claim 1, wherein: When the real-time user role is a listener, the data packet priority adjuster lowers the data packet priority to obtain an adjusted data packet priority.

7. The computer software system according to claim 6, wherein: The data packet priority is one of three types: IEEE 802.1p service type, IEEE 802.11 user priority, and access category, wherein the IEEE 802.1p service type and the IEEE 802.11 user priority each include eight priority levels, and the access category includes a voice class, a video class, a best-effort class, and a background class; and When the real-time user role is a listener, the data packet priority adjuster lowers the data packet priority by 2 levels to obtain an adjusted data packet priority.

8. The computer software system according to any one of claims 2 to 7, wherein the data packet is a video data packet.

9. The computer software system according to claim 1, wherein: The computer software application determines a real-time user state of the user based on a set of images captured by a video input interface of the wireless communication device and a gaze duration of the wireless communication device toward the video output interface.

Citation Information

Patent Citations

  • Prioritizing network traffic

    CN102138306A

  • Terminating Device and a Method of Operating a Terminating Device Configured to Communicate Availability Status Directly Between Terminating Devices

    US20080153538A1

  • Method, Devices and Systems for Dynamic Multimedia Data Flow Control for Thermal Power Budgeting

    US20150067377A1