An access point (ap) including a control module and a scheduling module. The control module defines a plurality of basic service sets (BSSs) for the ap. Each of the BSSs has an identifier, corresponds to a class of service, and predetermined service parameters based on the class of service. The scheduling module schedules communications between the BSSs and a plurality of client stations based on (i) the identifiers and (ii) the predetermined service parameters and determines quality of service for the communications based on (i) the identifiers and (ii) the predetermined service parameters. A first scheduler schedules first transmit times for the BSSs to transmit data from the ap to the client stations within time slots determined according to the predetermined service parameters. A second scheduler schedules second transmit times for the client stations, to transmit data from the client stations to the ap, based on the predetermined service parameters.
|
23. An access point (ap) comprising:
a control module configured to define a plurality of basic service sets for the ap,
wherein each of the basic service sets corresponds to a class of service, and
wherein each of the basic service sets has service parameters associated with the class of service; and
a scheduling module including
a first scheduler configured to schedule first transmit times for the basic service sets to transmit data from the ap to client stations within time slots determined according to the service parameters of the basic service sets; and
a second scheduler configured to schedule second transmit times for the client stations associated with the basic service sets, to transmit data from the client stations to the ap, based on the service parameters of the basic service sets.
13. A method for improving quality of service in wireless networks, the method comprising:
defining a plurality of basic service sets for an access point (ap),
wherein each of the basic service sets has an identifier,
wherein each of the basic service sets corresponds to a class of service,
wherein each of the basic service sets has predetermined service parameters, and
wherein the predetermined service parameters for the basic service sets are based on the class of service associated with the basic service sets;
scheduling communications between the ap and a plurality of client stations based on (i) the identifiers and (ii) the predetermined service parameters of the basic service sets; and
determining quality of service for the communications based on (i) the identifiers and (ii) the predetermined service parameters,
wherein scheduling the communications includes
scheduling first transmit times for the basic service sets to transmit data from the ap to the client stations within time slots determined according to the predetermined service parameters of the basic service sets, and
scheduling second transmit times for the client stations associated with the basic service sets, to transmit data from the client stations to the ap, based on the predetermined service parameters of the basic service sets.
1. An access point (ap), comprising:
a control module configured to define a plurality of basic service sets for the ap,
wherein each of the basic service sets has an identifier,
wherein each of the basic service sets corresponds to a class of service,
wherein each of the basic service sets has predetermined service parameters, and
wherein the predetermined service parameters for the basic service sets are based on the class of service associated with the basic service sets; and
a scheduling module configured to
schedule communications between the basic service sets of the ap and a plurality of client stations based on (i) the identifiers and (ii) the predetermined service parameters of the basic service sets, and
determine quality of service for the communications based on (i) the identifiers and (ii) the predetermined service parameters,
wherein the scheduling module includes
a first scheduler configured to schedule first transmit times for the basic service sets to transmit data from the ap to the client stations within time slots determined according to the predetermined service parameters of the basic service sets; and
a second scheduler configured to schedule second transmit times for the client stations associated with the basic service sets, to transmit data from the client stations to the ap, based on the predetermined service parameters of the basic service sets.
18. A computer program tangibly stored on a computer-readable storage device, the computer program comprising instructions, executable by a processor, for:
defining a plurality of basic service sets for an access point (ap),
wherein each of the basic service sets has an identifier,
wherein each of the basic service sets corresponds to a class of service,
wherein each of the basic service sets has predetermined service parameters, and
wherein the predetermined service parameters for the basic service sets are based on the class of service associated with the basic service sets;
scheduling communications between the ap and a plurality of client stations based on (i) the identifiers and (ii) the predetermined service parameters of the basic service sets; and
determining quality of service for the communications based on (i) the identifiers and (ii) the predetermined service parameters,
wherein the instructions for scheduling the communications include instructions for
scheduling first transmit times for the basic service sets to transmit data from the ap to the client stations within time slots determined according to the predetermined service parameters of the basic service sets, and
scheduling second transmit times for the client stations associated with the basic service sets, to transmit data from the client stations to the ap, based on the predetermined service parameters of the basic service sets.
2. The ap of
a service priority level for the class of service associated with each of the basic service sets,
a number of data streams for each of the basic service sets, and
unscheduled automatic power save delivery settings for each of the basic service sets.
3. The ap of
4. The ap of
define a first virtual client station for the one of the client stations,
define a second virtual client station for the one of the client stations,
associate the first virtual client station with a first one of the basic service sets based on the predetermined service parameters for the first one of the basic service sets, and
associate the second virtual client station with a second one of the basic service sets based on the predetermined service parameters for the second one of the basic service sets.
5. The ap of
determine a first quality of service for the first virtual client station (i) based on the predetermined service parameters for the first one of the basic service sets and (ii) without using a signaling mechanism between the one of the client stations and the ap, and
determine a second quality of service for the second virtual client station (i) based on the predetermined service parameters of the second one of the basic service sets and (ii) without using a signaling mechanism between the one of the client stations and the ap.
6. The ap of
determine a quality of service for a data stream between one of the client stations and one of the basic service sets using the predetermined service parameters for the one of the basic service sets instead of using a signaling mechanism between the one of the client stations and the ap, and
provide the quality of service to the one of the client stations without using the signaling mechanism when the one of the client stations associates with the one of the basic service sets.
7. The ap of
8. The ap of
9. The ap of
10. The ap of
11. A wireless network comprising:
the ap of
the client stations,
wherein each of the client stations comprises a client station scheduling module configured to
schedule communication between the ap and each of the client stations based on the identifiers, and
determine a quality of service for the communication based on (i) the identifiers and (ii) the predetermined service parameters.
12. The wireless network of
14. The method of
a service priority level for the class of service associated with each of the basic service sets,
a number of data streams for each of the basic service sets, and
unscheduled automatic power save delivery settings for each of the basic service sets.
15. The method of
16. The method of
transmitting data simultaneously to the client stations identified by one of the identifiers; and
transmitting the data using a multicast basic service set identifier.
17. The method of
using a first class of service and a second class of service for one of the client stations;
defining a first virtual client station for the one of the client stations;
defining a second virtual client station for the one of the client stations;
associating the first virtual client station with a first one of the basic service sets based on the service parameters for the first one of the basic service sets;
associating the second virtual client station with a second one of the basic service sets based on the service parameters for the second one of the basic service sets;
determining a first quality of service for the first virtual client station (i) based on the service parameters for the first one of the basic service sets and (ii) without using a signaling mechanism between the one of the client stations and the ap; and
determining a second quality of service for the second virtual client station (i) based on the service parameters of the second one of the basic service sets and (ii) without using a signaling mechanism between the one of the client stations and the ap.
19. The computer program of
a service priority level for the class of service associated with each of the basic service sets,
a number of data streams for each of the basic service sets, and
unscheduled automatic power save delivery settings for each of the basic service sets.
20. The computer program of
21. The computer program of
transmitting data simultaneously to the client stations identified by one of the identifiers; and
transmitting the data using a multicast basic service set identifier.
22. The computer program of
using a first class of service and a second class of service for one of the client stations;
defining a first virtual client station for the one of the client stations;
defining a second virtual client station for the one of the client stations;
associating the first virtual client station with a first one of the basic service sets based on the service parameters for the first one of the basic service sets;
associating the second virtual client station with a second one of the basic service sets based on the service parameters for the second one of the basic service sets;
determining a first quality of service for the first virtual client station (i) based on the service parameters for the first one of the basic service sets and (ii) without using a signaling mechanism between the one of the client stations and the ap; and
determining a second quality of service for the second virtual client station (i) based on the service parameters of the second one of the basic service sets and (ii) without using a signaling mechanism between the one of the client stations and the ap.
24. The ap of
25. The ap of
provide a quality of service to one of the client stations without using a signaling mechanism between the ap and the one of the client stations when the one of the client stations associates with one of the basic service sets, and
provide the quality of service based on (i) the class of service used by the one of the client stations and (ii) the service parameters for the one of the basic service sets.
26. The ap of
define a first virtual client station for the one of the client stations,
define a second virtual client station for the one of the client stations,
associate the first virtual client station with a first one of the basic service sets based on the service parameters for the first one of the basic service sets, and
associate the second virtual client station with a second one of the basic service sets based on the service parameters for the second one of the basic service sets.
27. The ap of
determine a first quality of service for the first virtual client station (i) based on the service parameters for the first one of the basic service sets and (ii) without using a signaling mechanism between the one of the client stations and the ap, and
determine a quality of service for the second virtual client station (i) based on the service parameters of the second one of the basic service sets and (ii) without using a signaling mechanism between the one of the client stations and the ap.
28. The ap of
determine a quality of service for a data stream between one of the client stations and one of the basic service sets using the service parameters for the one of the basic service sets instead of using a signaling mechanism between the one of the client stations and the ap, and
provide the quality of service to the one of the client stations without using the signaling mechanism when the one of the client stations associates with the one of the basic service sets.
29. The ap of
30. The ap of
31. The ap of
|
This application claims the benefit of U.S. Provisional Application No. 60/738,267, filed on Nov. 18, 2005. The disclosure of the above application is incorporated herein by reference in its entirety.
The present invention relates to wireless networks, and more particularly to systems and methods for improving quality of service in wireless networks.
IEEE sections 802.11, 802.11(a), 802.11(b), 802.11(g), 802.11(h), 802.11(n), 802.16, 802.20, which are incorporated herein by reference in their entirety, define ways for configuring wireless networks and network devices. According to these standards, a wireless Ethernet network device may operate in an ad-hoc mode or an infrastructure mode.
Referring now to
In the infrastructure mode, the AP 24 and the client stations 20 that use the AP 24 constitute a basic service set (BSS). A wireless network can comprise multiple BSS's. Each BSS is identified by a unique identifier for the AP in the BSS, called a BSSID. Typically, the AP transmits a beacon to inform the client stations in the BSS that the AP is ready to communicate with the client stations. The beacon includes the BSSID for the AP. The client stations in the BSS, in turn, communicate with the AP using the BSSID.
Referring now to
Most modern wireless networks comprise different types of network devices as client stations. For example, in the wireless network shown in
Different types of client stations may utilize different applications running on the network and may generate different data streams. For example, the client station 20-1 may generate data streams comprising video and audio data. The client station 20-2 may generate data streams comprising audio data. The client station 20-M may generate data streams comprising text files, etc. Thus, different types of data streams may concurrently flow through the network.
Network users generally expect their individual applications to run smoothly regardless of other applications that concurrently utilize the network. Networks, however, have finite resources. For example, bandwidth of a network is limited. Therefore, networks typically service data streams of different applications at different priority levels to optimize network resources and deliver optimum performance to network users. For example, a network may service data streams of a video-conferencing application at a higher priority than data streams of an audio application or an email application.
Additionally, the network employs admission control mechanisms to ensure that resources are not over-stretched. Admission control mechanisms allow applications to join the network only when available resources are adequate to optimally run the applications.
The priority given to data streams, however, should be such that a data stream given a low priority is not substantially delayed or entirely lost. Quality of service (QOS) refers to an ability of a network to provide a particular level of service to a selected data stream. IEEE section 802.11e defines QOS mechanisms for wireless networks and is incorporated herein by reference in its entirety.
QOS mechanisms in wireless networks generally comprise scheduling mechanisms and signaling mechanisms that an access point uses to service applications used by client stations. Scheduling mechanisms ensure that different data streams in a network receive adequate priority to link to the network. Scheduling mechanisms are incorporated along with complimentary admission control mechanisms. Signaling mechanisms notify the network of a priority and characteristics of a data stream. Signaling mechanisms typically use protocols that request and establish a link to the network for a data stream.
For example, a signaling mechanism called resource reservation protocol (RSVP) enables an application to request the network for a specific level of service for a data stream and to dynamically reserve a part of network bandwidth for the data stream. Thus, the client station 20-1 may request the AP 24 a priority_1 for data streams of the video-conferencing application. The client station 20-2 may request the AP 24 a priority_2 for data streams of the audio application, where priority_2 is a lower priority level than priority_1, etc.
Signaling mechanisms, however, burden network traffic. Additionally, signaling mechanisms use protocols that are preconfigured based on factors such as network resources, user demand, etc. Thus, signaling mechanisms lack flexibility and scalability. Additionally, signaling mechanisms need end-to-end support. That is, all devices need to implement the same signaling stack. The disparate nature of devices, however, precludes wide-spread adaptation of a single signaling protocol.
Scheduling of data streams in wireless networks may be improved by pre-configuring client stations with pre-set stream descriptors and service priority levels. The service priority levels can be pre-set based on a class of service a client station requires. The traffic characteristics of data streams can be set based on the perceived general behavior of network connections.
An AP may decipher a service priority level and stream descriptors from a data stream received from the client station. The AP can service the data stream according to that priority level and stream descriptors. This scheme, however, may be problematic since different original equipment manufacturers (OEM's) may assign service priority levels and stream descriptors to network devices (client stations) differently.
An access point (AP) comprises a control module that defines N basic service set identifiers (BSSID's) each corresponding to a class of service and having M service parameters, where N and M are integers greater than one. The AP comprises an AP scheduling module that schedules communication between the AP and a plurality of client stations based on the N BSSID's and that determines a quality of service for the communication based on the N BSSID's and the M service parameters. The M service parameters comprise service priority levels, a number of data streams, and unscheduled automatic power save delivery settings for the N BSSID's.
In another feature, a wireless network comprises the AP and further comprises P client stations, where P is an integer greater than one. Each of the P client stations comprises a client station scheduling module that schedules communication between the AP and the P client stations based on the N BSSID's and that determines a quality of service for the communication based on the N BSSID's and the M service parameters. The P client stations selectively communicate with the AP using more than one of the N BSSID's.
In another feature, the AP further comprises a multicast BSSID that is used to transmit data simultaneously to client stations identified by one of the N BSSID's.
In another feature, the control module selectively divides the N BSSID's into multiple BSSID's each having one data stream.
In still other features, a method for improving quality of service in wireless networks comprises defining N basic service set identifiers (BSSID's) for an access point (AP) wherein each one of the N BSSID's corresponds to a class of service and has M service parameters, where N and M are integers greater than one. The method comprises scheduling communication between the AP and a plurality of client stations based on the N BSSID's.
In another feature, the method comprises determining a quality of service for the communication based on the N BSSID's and the M service parameters. The M service parameters comprise service priority levels, a number of data streams, and unscheduled automatic power save delivery settings for the N BSSID's. The method comprises the client stations selectively communicating with the AP based on more than one of the N BSSID's.
In another feature, the method further comprises transmitting data simultaneously to client stations identified by one of the N BSSID's based on a multicast BSSID.
In another feature, the method further comprises selectively dividing the N BSSID's into multiple BSSID's each having one data stream.
In still other features, an access point (AP) comprises control means for defining N basic service set identifiers (BSSID's) each corresponding to a class of service and having M service parameters, where N and M are integers greater than one. The AP comprises AP scheduling means for scheduling communication between the AP and a plurality of client stations based on the N BSSID's and for determining a quality of service for the communication based on the N BSSID's and the M service parameters. The M service parameters comprise service priority levels, a number of data streams, and unscheduled automatic power save delivery settings for the N BSSID's.
In another feature, a wireless network comprises the AP and further comprises P client stations, where P is an integer greater than one. Each of the P client stations comprises client station scheduling means for scheduling communication between the AP and the P client stations based on the N BSSID's and for determining a quality of service for the communication based on the N BSSID's and the M service parameters. The P client stations selectively communicate with the AP using more than one of the N BSSID's.
In another feature, the AP further comprises multicast BSSID means for transmitting data simultaneously to client stations identified by one of the N BSSID's.
In another feature, the control means selectively divides the N BSSID's into multiple BSSID's each having one data stream.
In still other features, a computer method for improving quality of service in wireless networks comprises defining N basic service set identifiers (BSSID's) for an access point wherein each one of the N BSSID's corresponds to a class of service and has M service parameters, where N and M are integers greater than one. The computer method comprises scheduling communication between the AP and a plurality of client stations based on the N BSSID's.
In another feature, the computer method comprises determining a quality of service for the communication based on the N BSSID's and the M service parameters. The M service parameters comprise service priority levels, a number of data streams, and unscheduled automatic power save delivery settings for the N BSSID's.
In another feature, the computer method further comprises client stations selectively communicating with the AP based on more than one of the N BSSID's.
In another feature, the computer method further comprises transmitting data simultaneously to client stations identified by one of the N BSSID's based on a multicast BSSID.
In another feature, the computer method further comprises selectively dividing the N BSSID's into multiple BSSID's each having one data stream.
In still other features, a client station comprises a scheduling module that schedules communication between the client station and an access point (AP) based on N basic service set identifiers (BSSID's), where N is an integer greater than one, and a quality of service (QOS) determining module that determines QOS for the communication based on the N BSSID's and M service parameters, where M is an integer greater than one.
In another feature, the client station selectively communicates with the AP using more than one of the N BSSID's.
In another feature, the M service parameters comprise service priority levels, a number of data streams, and unscheduled automatic power save delivery settings for the N BSSID's.
In another feature, a wireless network comprises the client station and further comprises the AP wherein the AP comprises a control module defines the N BSSID's each corresponding to a class of service and having the M service parameters and an AP scheduling module that schedules communication between the AP and a plurality of client stations based on the N BSSID's and that determines a quality of service for the communication based on the N BSSID's and the M service parameters.
In another feature, the AP further comprises a multicast BSSID that is used to transmit data simultaneously to client stations identified by one of the N BSSID's. The control module of the AP selectively divides the N BSSID's into multiple BSSID's each having one data stream.
In still other feature, a method for improving quality of service in wireless networks comprises scheduling communication between the client station and an access point (AP) based on N basic service set identifiers (BSSID's), where N is an integer greater than one, and determining a quality of service for the communication based on the N BSSID's and M service parameters, where M is an integer greater than one.
In another feature, the method further comprises selectively communicating with the AP using more than one of the N BSSID's.
In another feature, the M service parameters comprise service priority levels, a number of data streams, and unscheduled automatic power save delivery settings for the N BSSID's.
In another feature, the method further comprises defining the N BSSID's for the AP wherein each one of the N BSSID's corresponds to a class of service and has the M service parameters, where N and M are integers greater than 1, scheduling communication between the AP and a plurality of client stations based on the N BSSID's, and determining a quality of service for the communication based on the N BSSID's and the M service parameters.
In another feature, the method further comprises transmitting data simultaneously to client stations identified by one of the N BSSID's based on a multicast BSSID.
In another feature, the method further comprises selectively dividing the N BSSID's into multiple BSSID's each having one data stream.
In still other features, a client station comprises scheduling means for scheduling communication between the client station and an access point (AP) based on N basic service set identifiers (BSSID's), where N is an integer greater than one, and quality of service (QOS) determining means for determining QOS for the communication based on the N BSSID's and M service parameters, where M is an integer greater than one.
In another feature, the client station selectively communicates with the AP using more than one of the N BSSID's.
In another feature, the M service parameters comprise service priority levels, a number of data streams, and unscheduled automatic power save delivery settings for the N BSSID's.
In another feature, a wireless network comprises the client station and further comprises the AP wherein the AP comprises control means for defining the N BSSID's each corresponding to a class of service and having the M service parameters, and AP scheduling means for scheduling communication between the AP and a plurality of client stations based on the N BSSID's and for determining a quality of service for the communication based on the N BSSID's and the M service parameters.
In another feature, the AP further comprises multicast BSSID means for transmitting data simultaneously to client stations identified by one of the N BSSID's.
In another feature, the control means selectively divides the N BSSID's into multiple BSSID's each having one data stream.
In still other features, a computer method for improving quality of service in wireless networks, comprising scheduling communication between the client station and an access point (AP) based on N basic service set identifiers (BSSID's), where N is an integer greater than one, and determining a quality of service for the communication based on the N BSSID's and M service parameters, where M is an integer greater than one.
In another feature, the computer method further comprises selectively communicating with the AP using more than one of the N BSSID's.
In another feature, the M service parameters comprise service priority levels, a number of data streams, and unscheduled automatic power save delivery settings for the N BSSID's.
In another feature, the computer method further comprises defining the N BSSID's for the AP wherein each one of the N BSSID's corresponds to a class of service and has the M service parameters, where N and M are integers greater than 1, scheduling communication between the AP and a plurality of client stations based on the N BSSID's, and determining a quality of service for the communication based on the N BSSID's and the M service parameters.
In another feature, the computer method further comprises transmitting data simultaneously to client stations identified by one of the N BSSID's based on a multicast BSSID.
In another feature, the computer method further comprises selectively dividing the N BSSID's into multiple BSSID's each having one data stream.
In still other features, the systems and methods described above are implemented by a computer program executed by one or more processors. The computer program can reside on a computer readable medium such as but not limited to memory, non-volatile data storage and/or other suitable tangible storage mediums.
Further areas of applicability of the present invention will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples, while indicating the preferred embodiment of the invention, are intended for purposes of illustration only and are not intended to limit the scope of the invention.
The present invention will become more fully understood from the detailed description and the accompanying drawings, wherein:
The following description of the preferred embodiment(s) is merely exemplary in nature and is in no way intended to limit the invention, its application, or uses. For purposes of clarity, the same reference numbers will be used in the drawings to identify similar elements. As used herein, the term module, circuit and/or device refers to an Application Specific Integrated Circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality. As used herein, the phrase at least one of A, B, and C should be construed to mean a logical (A or B or C), using a non-exclusive logical or. It should be understood that steps within a method may be executed in different order without altering the principles of the present invention.
An access point (AP) is divided into multiple virtual access points. Client stations of a particular type are associated with a dedicated virtual AP to form multiple basic service sets (BSS's). A distinct BSS identifier (BSSID) is assigned to each individual BSS. Service parameters for each BSS are predetermined. The AP is pre-programmed with the service parameters. The AP communicates with a client station in a BSS based on the service parameters for that BSS. The AP provides a quality of service (QOS) to a data stream to and from client stations in a BSS using the service parameters for the BSS instead of using a signaling mechanism.
Referring now to
Each of the virtual APs has a unique basic service set identifier (BSSID). The BSSID's may be simple descriptive strings announcing the type of the virtual AP. For example, the video AP 62 may have a BSSID of Mynet.video (or BSSID1), the audio AP 64 may have a BSSID of Mynet.audio (or BSSID2), the data AP 66 may have a BSSID of Mynet.data (or BSSID3), etc.
Multiple client stations 70 in the network 50 are divided into different groups based on a class of service of each client station. For example, video client stations video.client1 72-1, video.client2 72-2, etc., (collectively video client stations 72) associate with Mynet.video virtual AP 62. Audio client stations audio.client1 74-1, audio.client2 74-2, etc., (collectively audio client stations 74) associate with Mynet.audio virtual AP 64. Data client stations data.client1 76-1, data.client2 76-2, etc., (collectively data client stations 76) associate with Mynet.data virtual AP 66, etc.
Multiple BSS's are formed wherein each BSS comprises one virtual AP and one group of client stations. For example, BSS1 80-1 comprises the video AP 62 and the video client stations 72. BSS2 80-2 comprises the audio AP 64 and the audio client stations 74. BSS3 80-3 comprises the data AP 66 and the data client stations 76, etc. BSS1 80-1, BSS2 80-2, BSS3 80-3, etc., are hereinafter collectively referred to as BSS 80.
Each BSS 80 is assigned the BSSID of the respective virtual AP. For example, BSS1 80-1 is assigned the BSSID Mynet.video, BSS2 80-2 is assigned the BSSID Mynet.audio, BSS3 80-3 is assigned the BSSID Mynet.data, etc. The AP 60 uses the BSSID's instead of signaling mechanisms to communicate with client stations 70 in BSS 80.
Referring now to
If bandwidth of network 50 is 100 Mbps and if a throughput rate of video.client1 71-1 such as a high-definition TV is 25 Mbps, then a number of data streams for BSSID1 may be set equal to 2. This setting will allocate 50 Mbps (I.e., 2×25 Mbps) of the 100 Mbps network bandwidth for BSSID1. This bandwidth allocation will be sufficient for two client stations video.client1 72-1 and video.client2 72-2 in BSS1 80-1 to receive QOS from the network 50. That is, the client stations video.client1 72-1 and video.client2 72-2 in BSS1 80-1 will perform optimally without any data loss. In other words, each client station 72 in BSS1 80-1 will be guaranteed QOS from the network 50.
Different categories of classes of service can be created based on types of network devices (e.g., video, audio, etc.). Service parameters such as service level priorities for data streams, throughput rates, etc., for each service class can be set in the service table 90.
Referring now to
Based on the BSSID, the classification engine 102 routes the input data to one of the virtual queues 104. The virtual queue 104 routes the data to a virtual AP that corresponds to the BSSID. The level-1 scheduler 106 schedules service for the BSS's 80. The level-2 scheduler 108 schedules service for the client stations 70 within each BSS 80 according to the service parameters in the service table 90.
For the upstream data, from the client to the AP 60 or for peer-to-peer data between two clients, the AP 60 uses service parameters of a traffic class and a scheduler state to announce transmission opportunities (TxOPs) so a client station 70 can transmit during these TxOPs.
Quality of service (QOS) may be achieved in two ways: distributed QOS or QOS by centralized scheduling. In the distributed QOS approach, the service table 90 serves as an access control list. Specifically, service parameters such as number of BSS's 80, maximum number of data streams per BSS 80, etc., are used to limit the number of client stations 70 in a BSS 80 that can access the network 50. Limiting the number of data streams per BSSID facilitates admission control. That is, the number of data streams per BSSID determines the number of client stations that can be added to a particular BSS 80.
When a new network device (i.e., a new client station 70) is added to the network 50, the device is added to an appropriate BSS 80 based on the type of the device (e.g., video, audio, etc.), that is, based on the class of service the device requires. The virtual AP for the BSS 80 to which the new client station 70 is added automatically services the client station 70 based on the service parameters for the BSS 80 without requiring any signaling mechanism. The added client station 70 receives the QOS guaranteed for the BSS 80 to which the client station 70 is added. No network reconfiguration or modification is required to properly service the newly added device.
For example, when a new video device is added to the network 50, the new video device is added as a client station video.client(n) to Mynet.video BSS 80-1. The video AP 62 automatically services video.client(n) according to the service parameters set for Mynet.video BSS 80-1 in the service table 90. Video.client(n) automatically receives the QOS guaranteed to Mynet.video BSS 80-1.
Additionally, arbitrary client stations 70 that do not conform to the parameter settings in the service table 90 are denied access to the network 50. Specifically, based on the number of data streams is set for a BSS 80, an arbitrary client station 70 that is not part of a BSS 80 is denied access to the network 50. Thus, traffic between the AP 60 and the client stations 70 is controlled by limiting the number of client stations 70 per BSS 80 in the service table 90.
In centralized scheduling, the service table 90 is used to program a scheduler or a set of schedulers in the AP 60. The virtual AP's communicate with the respective BSS's 80 using the BSSID's of the respective BSS's 80. Each virtual AP services the client stations 70 within that BSS 80 using the BSSID of the BSS 80 and the service parameters in the service table 90 for that BSS 80. The virtual AP's do not use any signaling mechanisms to service the client stations 70. Instead, each virtual AP schedules traffic to and from the client stations 70 in a BSS 80 based on the BSSID of the BSS 80 and based on the service parameters for the service class of the BSS 80.
Specifically, the level-1 scheduler 106 and the level-2 scheduler 108 schedule service for the data streams of the client stations 70 in the BSS's 80. The level of priority for the service that a data stream of a client station 70 receives is based on the service parameters in the service table 90 for the BSS 80 that comprises the client station 70. The level-1 scheduler 106 schedules service for the BSS's 80. The level-2 scheduler 108 schedules service for the client stations 70 within each BSS 80 according to the service parameters in the service table 90. A scheduler essentially creates transmit opportunities for virtual AP's to transmit data to client stations 70 within time slots reserved for each BSS 80 according to the service table 90. Level-1 and level-2 schedulers can be combined into one scheduler, and traffic can be scheduled in multiple ways.
Referring now to
The level-2 scheduler 108 schedules times for individual client stations 70 within the respective BSS's 80. For example, assuming transmission begins with client1 72-1 in BSS1 80-1 as indicated by an arrow marked “B” in
Referring now to
For example, Client1 72-1 in BSS1 80-1 transmits a request 120 for data to the virtual AP 62. When Client1 72-1 gains priority based on the round-robin scheduling scheme, Client1 72-1 receives data 122 from the virtual AP 62. Similarly, Client2 72-2 in BSS1 80-1 transmits a request 124 for data to the virtual AP 62. When Client2 72-2 gains priority based on the round-robin scheduling scheme, Client2 72-2 receives data 126 from the virtual AP 62, etc.
Additionally, unscheduled automatic power save delivery settings for client stations 70 can also be defined in the service table 90. Generally, a client station 70 may go to sleep and request service upon waking up. Typically, a client station 70 informs an AP 60 when the client station 70 is going to sleep and when the client station 70 will wake up.
A parameter can be defined in the service table 90 to limit the number times a client station 70 may wake up. That is, a client station 70 in a BSS 80 may be programmed to sleep longer than normal. In other words, although a client station 70 in a BSS 80 wakes up, the virtual AP corresponding to the BSS 80 may ignore a request from the client station 70 if that virtual AP is not currently scheduled to service the BSS 80. The virtual AP services the client station 70 only when the virtual AP is scheduled to service the BSS 80 that comprises that client station 70.
The round-robin scheduling scheme for level-1 scheduler 106 and level-2 scheduler 108 can be predetermined, and the AP 60 can be pre-programmed accordingly. The round-robin scheduling scheme does not use a signaling mechanism such as RSVP protocol to schedule and guarantee QOS.
Instead, the round-robin scheduling scheme uses the BSSID of a BSS 80 and the service parameters for the BSS 80 in the service table 90 to guarantee QOS for the BSS 80 and to the client stations 70 within that BSS 80. Additionally, the round-robin scheduling scheme limits access to a service class by limiting a number of client stations 70 that can join a BSS 80 based on service parameters such as the number of data streams per BSS 80 set in the service table 90.
Referring now to
The AP 60 treats Client 4 as two virtual client stations with two virtual MAC addresses. A virtual client station using a video application is serviced by the video AP 61, and a virtual client station downloading a text file is serviced by the data AP 66. Each virtual client station is serviced by the respective virtual AP according to the schedule set for the respective virtual AP in the service table 90. A module such as a service client may be installed in an appropriate layer of an operating system of a computer such as Client4 to emulate multiple virtual clients as described herein.
When a consumer buys a new network device such as a high definition TV, the consumer may add the TV to the network 50 as follows. The consumer powers up the TV. The consumer uses a remote control to bring up a network configuration menu on the TV screen. From the menu, the consumer selects a virtual AP of an appropriate BSS 80 based on the service class of the device being added. For example, to add the TV, the consumer may select a video AP 62 that may be entitled Mynet.video. The TV joins the network as Mynet.video.client1 or Mynet.video.client2.
The selection of Mynet.video.client1 or Mynet.video.client2 automatically associates the TV with the video AP 62. The TV receives a quality of service that is guaranteed to the video AP 62 based on the parameter settings in the service table 90 for video AP 62. The number of data streams for the video AP 62 in the service table 90 determines whether the consumer can add the TV to the network 50. The TV is precluded from joining the network 50 if available bandwidth is insufficient to provide adequate QOS to the TV. Thus, the number of data streams setting serves as an admission control feature that limits the number of devices that can access the network 50.
If a network 50 has multiple TV's, an additional BSSID called a multicast BSSID may be added to the service table 90. The multicast BSSID functions like a TV broadcast station. The number of channels that a multicast BSSID can transmit is limited to the number of data streams pre-set for the video AP 61. Multiple TV's can queue into one of the data streams.
Occasionally, a consumer may wish to view an identical channel on more than one TV, or two viewers may wish to watch an identical data stream on two TV's. A simple multicast, however, is not sufficient when the two TVs are located in different environments and receive different network performance. In that case, a content-based differentiation is needed to route identical data to more than one client station. This is achieved by subdividing the video AP 62 into multiple BSSID's such as Mynet.video1, Mynet.video2, etc., and by assigning one data stream per BSSID.
For example, a first BSSID and a first of the two data streams for the video AP 62 may be assigned to mynet.video1 that services a first TV. A second BSSID and a second of the two data streams for the video AP 62 may be assigned to Mynet.video2 that services a second TV. The TV connected to mynet.video1 and the TV connected to Mynet.video2 will display the same channel. Service priority levels for Mynet.video1 and Mynet.video2 may be set differently.
When the number of TV's seeking access to the network 50 exceeds the total number of data streams pre-set for the video AP 62, the additional TV may be denied access to the network. Alternatively, the additional TV may attempt to join either the mynet.video1 virtual AP or the mynet.video2 virtual AP. The consumer may accomplish this by trying to select an appropriate AP in the network configuration menu of the TV using the remote control for the TV. If Mynet.video1 and Mynet.video2 are unavailable, the additional TV may join the network after one of Mynet.video1 and Mynet.video2 becomes available.
Referring now to
In step 144, a round-robin scheduling scheme for BSS's 80 and client stations 70 is programmed in a level-1 scheduler 106 and a level-2 scheduler 108 based on a set of service parameters in a service table 90. The MAC module 100 determines the BSSID in the header of the input data in step 146.
The MAC module 100 determines whether the BSSID matches a BSSID of a video AP 62 in step 154. If true, a level-1 scheduler 106 determines whether BSS1 80-1 is currently scheduled for service in step 156 based on the round-robin scheduling scheme. If true, a level-2 scheduler 108 determines whether the client station 72 requesting service is currently scheduled for service in step 158 based on the round-robin scheduling scheme. If true, the video AP 62 services the client station 72 in step 160, and the method 140 returns to step 146. If any of the results in steps 154, 156, or 158 are false, the method 140 proceeds to step 162.
The MAC module 100 determines whether the BSSID matches a BSSID of an audio AP 64 in step 162. If true, a level-1 scheduler 106 determines whether BSS2 80-2 is currently scheduled for service in step 164 based on the round-robin scheduling scheme. If true, a level-2 scheduler 108 determines whether the client station 74 requesting service is currently scheduled for service in step 166 based on the round-robin scheduling scheme. If true, the audio AP 64 services the client station 74 in step 168, and the method 140 returns to step 146. If any of the results in steps 162, 164, or 166 are false, the method 140 proceeds to step 170.
The MAC module 100 determines whether the BSSID matches a BSSID of a data AP 66 in step 170. If true, a level-1 scheduler 106 determines whether BSS3 80-3 is currently scheduled for service in step 172 based on the round-robin scheduling scheme. If true, a level-2 scheduler 108 determines whether the client station 76 requesting service is currently scheduled for service in step 174 based on the round-robin scheduling scheme. If true, the data AP 66 services the client station 76 in step 176, and the method 140 returns to step 146. If any of the results in steps 170, 172, or 174 are false, the method 140 returns to step 146.
Referring now to
The HDTV 420 may communicate with mass data storage 427 that stores data in a nonvolatile manner such as optical and/or magnetic storage devices. The HDD may be a mini HDD that includes one or more platters having a diameter that is smaller than approximately 1.8″. The HDTV 420 may be connected to memory 428 such as RAM, ROM, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage. The HDTV 420 also may support connections with a WLAN via a WLAN network interface 429.
Referring now to
The cellular phone 450 may communicate with mass data storage 464 that stores data in a nonvolatile manner such as optical and/or magnetic storage devices for example hard disk drives HDD and/or DVDs. The HDD may be a mini HDD that includes one or more platters having a diameter that is smaller than approximately 1.8″. The cellular phone 450 may be connected to memory 466 such as RAM, ROM, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage. The cellular phone 450 also may support connections with a WLAN via a WLAN network interface 468.
Referring now to
The set top box 480 may communicate with mass data storage 490 that stores data in a nonvolatile manner. The mass data storage 490 may include optical and/or magnetic storage devices for example hard disk drives HDD and/or DVDs. The HDD may be a mini HDD that includes one or more platters having a diameter that is smaller than approximately 1.8″. The set top box 480 may be connected to memory 494 such as RAM, ROM, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage. The set top box 480 also may support connections with a WLAN via a WLAN network interface 496.
Referring now to
The media player 500 may communicate with mass data storage 510 that stores data such as compressed audio and/or video content in a nonvolatile manner. In some implementations, the compressed audio files include files that are compliant with MP3 format or other suitable compressed audio and/or video formats. The mass data storage may include optical and/or magnetic storage devices for example hard disk drives HDD and/or DVDs. The HDD may be a mini HDD that includes one or more platters having a diameter that is smaller than approximately 1.8″. The media player 500 may be connected to memory 514 such as RAM, ROM, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage. The media player 500 also may support connections with a WLAN via a WLAN network interface 516. Still other implementations in addition to those described above are contemplated.
Those skilled in the art can now appreciate from the foregoing description that the broad teachings of the present invention can be implemented in a variety of forms. Therefore, while this invention has been described in connection with particular examples thereof, the true scope of the invention should not be so limited since other modifications will become apparent to the skilled practitioner upon a study of the drawings, the specification and the following claims.
Patent | Priority | Assignee | Title |
11258882, | Jul 18 2012 | Canon Kabushiki Kaisha | Information processing device, method, and storage medium for prioritized content acquisition |
11382132, | Dec 08 2014 | Marvell Asia Pte Ltd | Methods and devices for communicating in a wireless network with multiple virtual access points |
11743945, | Dec 08 2014 | Marvell Asia Pte Ltd | Methods and devices for communicating in a wireless network with multiple virtual access points |
8209431, | Nov 18 2005 | CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD | System and method for improving quality of service for wireless LANs |
8406207, | Jul 02 2010 | AT&T MOBILITY II LLC | Digital surveillance |
8447858, | Nov 18 2005 | CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD | System for improving quality of service for wireless LANS |
8634389, | Jul 02 2010 | AT&T MOBILITY II LLC | Digital surveillance |
8964619, | Jan 30 2009 | Microsoft Technology Licensing, LLC | Network assisted power management |
9210565, | Apr 07 2010 | Huawei Technologies Co., Ltd. | Multicast control method and apparatus |
9215745, | Dec 09 2005 | Fortinet, LLC | Network-based control of stations in a wireless communication network |
9277532, | Sep 18 2012 | Alcatel Lucent | Methods for allocating and scheduling uplink and downlink transmissions and apparatuses thereof |
9380587, | Nov 18 2005 | CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD | System for improving quality of service for wireless LANs |
Patent | Priority | Assignee | Title |
7006472, | Aug 28 1998 | Nokia Technologies Oy | Method and system for supporting the quality of service in wireless networks |
7068633, | Jul 14 2000 | AT&T Properties, LLC; AT&T INTELLECTUAL PROPERTY II, L P | Enhanced channel access mechanisms for QoS-driven wireless lans |
7272119, | Nov 02 2000 | Sharp Kabushiki Kaisha | Methods and systems for quality of service in networks comprising wireless devices |
7330472, | Oct 26 2001 | Sharp Kabushiki Kaisha | System and method for hybrid coordination in a wireless LAN |
7355998, | Sep 01 2004 | InterDigital Technology Corporation | Support for multiple access point switched beam antennas |
7400576, | Nov 26 2002 | NEC Corporation | Method and system for QoS control using wireless LAN network, its base station, and terminal |
7675890, | Sep 10 2003 | Delta Networks, Inc. | QoS based load-balance policy for WLAN |
7701912, | Apr 18 2000 | Cisco Technology, Inc | System and method for concurrently utilizing multiple system identifiers |
20030081583, | |||
20040078566, | |||
20040095914, | |||
20040097236, | |||
20040106403, | |||
20040214572, | |||
20060165103, | |||
20070206527, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Mar 27 2006 | MARVELL SEMICONDUCTOR, INC | MARVELL INTERNATIONAL LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 017731 | /0346 | |
Mar 27 2006 | VENKATRAMAN, MAHESH | MARVELL SEMICONDUCTOR, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 017735 | /0011 | |
Mar 28 2006 | Marvell International Ltd. | (assignment on the face of the patent) | / | |||
Dec 31 2019 | MARVELL INTERNATIONAL LTD | CAVIUM INTERNATIONAL | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 052918 | /0001 | |
Dec 31 2019 | CAVIUM INTERNATIONAL | MARVELL ASIA PTE, LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 053475 | /0001 |
Date | Maintenance Fee Events |
Feb 09 2015 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jan 31 2019 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Jan 31 2023 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Aug 09 2014 | 4 years fee payment window open |
Feb 09 2015 | 6 months grace period start (w surcharge) |
Aug 09 2015 | patent expiry (for year 4) |
Aug 09 2017 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 09 2018 | 8 years fee payment window open |
Feb 09 2019 | 6 months grace period start (w surcharge) |
Aug 09 2019 | patent expiry (for year 8) |
Aug 09 2021 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 09 2022 | 12 years fee payment window open |
Feb 09 2023 | 6 months grace period start (w surcharge) |
Aug 09 2023 | patent expiry (for year 12) |
Aug 09 2025 | 2 years to revive unintentionally abandoned end. (for year 12) |