The present application claims the benefit of U.S. Provisional Patent Application No. 61/331,919, entitled “DYNAMIC MULTIPLE ACCESS PROTOCOL FOR USE IN AN AUDIENCE RESPONSE SYSTEM,” filed on May 6, 2010, which is hereby incorporated by reference herein in its entirety.
The present disclosure relates generally to communication systems and, more particularly, to a dynamic multiple access technique for use in an audience response system.
The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise quality as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
Audience response systems (ARS), in which group members use handsets to vote on topics, answer questions, confirm attendance, etc., are commonly used today to facilitate group interaction. Audience response systems can be employed for a variety of purposes and in various types of group environments. As one example, audience response systems are used by teachers in a classroom setting (e.g., to take attendance, or to administer tests and quizzes), and research indicates that there are various benefits to using audience response systems in such a setting. For instance, audience response systems reduce the effect of crowd psychology because, unlike hand raising, audience response systems may prevent students from seeing the answers of other students. For similar reasons, audience response systems may reduce instances of cheating in the classroom. Furthermore, audience response systems typically allow faster tabulation and display of answers and a more efficient tracking of individual responses and other data (e.g., response times of individual students). Additionally, audience response systems in classrooms have been shown to improve attentiveness, increase knowledge retention and generally create a more enjoyable classroom environment and a more positive learning experience.
In a typical audience response system architecture, multiple handsets associated with different users communicate wirelessly via a common wireless channel (e.g., using radio frequency or infrared communication technology) with one or more wireless aggregation points that generally collect and, possibly, process the data communicated by the audience via the handsets. A wireless aggregation point is typically (but not always) communicatively coupled to a control station, such as a personal computer, that runs a program that generally controls the operation of the audience response system. That is, the control station may be used to process information received from the handsets and to determine what information is sent to the handsets.
In order for an audience response system to function properly and effectively, the handsets typically need to share the common wireless channel without interfering with one another. Moreover, it is typically preferable that the handsets share the wireless channel in such a way as to maximize the capacity of the wireless channel. That is, it is usually desirable to reduce the instances of more than one handset trying to transmit data via the wireless channel at the same time, while also reducing the time that the wireless channel is idle (e.g., when at least one handset has data to transmit to the wireless aggregation point, but no handset is transmitting any data).
In order to share and/or maximize the capacity of the wireless channel, various multiple access schemes (also referred to as channel access schemes) have been developed. The most common multiple access schemes are the Time Division Multiple Access (TDMA) scheme and the Carrier Sense Multiple Access (CSMA) scheme. However, as will be described in more detail below, both TDMA and CSMA may lead to a suboptimal use of the wireless channel.
In an audience response system operating in accordance with the TDMA scheme, the wireless channel is divided into multiple time slots, and the time slots are assigned to particular handsets. Each handset can only transmit data via the wireless channel during the time slots (or a time slot) assigned to that handset. Consequently, an advantage of the TDMA scheme is that it ensures that no two handsets transmit data to the wireless aggregation point at the same time. However, if one handset does not have any data to transmit via the wireless channel during its assigned time slot, no other handset will be able to use that time slot, even if another handset does have data to transmit via the wireless channel. As a result, TDMA may lead to unused time slots, or “dead time,” resulting in suboptimal throughput in the wireless channel.
With respect to CSMA, although there exist various CSMA-like schemes, generally, a handset operating in accordance with the CSMA scheme checks for presence or absence of other traffic on the wireless channel before transmitting data via the channel. If there is no other traffic (i.e., the wireless channel is sensed idle), the handset will transmit its data via the wireless channel. Otherwise, the handset will “back off” and attempt to transmit its data via the wireless channel at a later time. If, at that later time, the wireless channel is sensed idle, the handset will transmit its data via the wireless channel. Otherwise, the handset will back off again and attempt to transmit its data via the wireless channel at another time. This process may continue until the handset finds a time when the wireless channel is idle and transmits its data via the wireless channel then.
As compared to TDMA, the CSMA scheme is more responsive to the amount of data that the individual handsets need to transmit. For example, under the CSMA scheme, a handset will not monopolize the wireless channel if that handset does not have any data to transmit via the wireless channel. However, CSMA may lead to suboptimal performance when, as often happens in a classroom setting, multiple handsets attempt to transmit information via the wireless channel at the same time (e.g., when a teacher poses a question to the class, and multiple students respond at approximately the same time). In such a scenario, multiple handsets attempting to transmit data via the wireless channel may sense an idle wireless channel and transmit their respective data, causing “collisions” and loss of data. At least some (if not all) handsets may have to retransmit their respective data, and data delivery may be delayed (resulting in higher latency).
Therefore, existing multiple access schemes such as TDMA and CSMA may result in a suboptimal use of the capacity of the wireless channel, at least with respect to throughput and latency.
The present disclosure generally describes a dynamic multiple access scheme for use in an audience response system.
In one embodiment, a method for communicating via a wireless communication channel for use in an audience response system is provided. The audience response system includes a wireless aggregation point and multiple handsets configured to communicatively couple to the wireless aggregation point via the wireless communication channel. The method includes receiving an input from a user at a given handset. The method further includes receiving a beacon data unit at the given handset via the wireless aggregation point. The beacon data unit specifies multiple time slots during which any one of the multiple handsets can transmit data to the wireless aggregation point. However, the beacon data unit does not assigning any particular time slots to any particular handsets. The method further includes selecting one of the multiple time slots specified in the beacon data unit. The method further includes transmitting data related to the input received from the user at the given handset from the given handset to the wireless aggregation point during the selected time slot.
In another embodiment, a wireless handset for use in an audience response system is provided. The audience response system includes a wireless aggregation point and multiple handsets configured to communicatively couple to the wireless aggregation point. The wireless handset includes a user interface configured to receive an input from a user. The wireless handset further includes a communication interface configured to receive a beacon data unit via the wireless aggregation point. The beacon data unit specifies multiple time slots during which any handset can transmit data to the wireless aggregation point, but the beacon data unit does not assign any particular time slots to any particular handsets. The communication interface is further configured to transmit data related to the input received from the user to the wireless aggregation point during a selected time slot. The wireless handset further includes a time slot selector configured to select the selected time slot.
In another embodiment, an audience response system includes a wireless aggregation point and multiple handsets communicatively coupled to the wireless aggregation point. The at least one handset includes a user interface configured to receive an input from a user. That handset further includes a communication interface configured to receive a beacon data unit via the wireless aggregation point. The beacon data unit specifies multiple time slots during which any handset can transmit data to the wireless aggregation point, but the beacon data unit does not assign any particular time slots to any particular handsets. The communication interface is further configured to transmit data related to the input received from the user to the wireless aggregation point during a selected time slot. The handset further includes a time slot selector configured to select the selected time slot.
In another embodiment, a method for use in a computing system configured to operate with an audience response system is provided. The audience response system includes a wireless aggregation point and multiple handsets configured to communicatively couple to the wireless aggregation point via the wireless communication channel. The computing system has a processor and a memory coupled to the processor. The memory stores computer-readable instructions that are executable on the processor.
The method includes generating a first beacon data unit. The first beacon data unit specifies a first group of time slots during which any one of the handsets can transmit data to the wireless aggregation point, but the first beacon data unit does not assign any particular time slots in the first group to any particular handsets. The method further includes transmitting the first beacon data unit to the handsets. The method further includes receiving data from a handset during one of the first group of time slots. The method further includes transmitting an acknowledgement to that handset. The method further includes generating a second beacon data unit. The second beacon data unit specifies a second group of time slots during which any one of the handsets can transmit data to the wireless aggregation point, but the first beacon data unit does not assign any particular time slots in the second group to any particular handsets. The method further includes transmitting the second beacon data unit to a second handsets, receiving data from the second handset during one of the time slots in the second group, and transmitting an acknowledgement to the second handset.
Like reference numbers and designations in the various drawings indicate like elements. Furthermore, when individual elements are designated by references numbers in the form NM, these elements may be referred to collectively by N. For example,
Although the following text sets forth a detailed description of numerous different embodiments, it should be understood that the legal scope of the description is defined by the words of the claims set forth at the end of this disclosure. The detailed description is to be construed as exemplary only and does not describe every possible embodiment since describing every possible embodiment would be impractical, if not impossible. Numerous alternative embodiments could be implemented, using either current technology or technology developed after the filing date of this patent, which would still fall within the scope of the claims.
It should also be understood that, unless a term is expressly defined in this patent using the sentence “As used herein, the term ‘_’ is hereby defined to mean . . . ” or a similar sentence, there is no intent to limit the meaning of that term, either expressly or by implication, beyond its plain or ordinary meaning, and such term should not be interpreted to be limited in scope based on any statement made in any section of this patent (other than the language of the claims). To the extent that any term recited in the claims at the end of this patent is referred to in this patent in a manner consistent with a single meaning, that is done for sake of clarity only so as to not confuse the reader, and it is not intended that such claim term by limited, by implication or otherwise, to that single meaning. Finally, unless a claim element is defined by reciting the word “means” and a function without the recital of any structure, it is not intended that the scope of any claim element be interpreted based on the application of 35 U.S.C. §112, sixth paragraph.
The example audience response system 100 includes multiple handsets 114 that may be used by students 108 to answer questions (e.g., posed by a teacher 116), vote on a topic, confirm attendance, and so on. Generally, the handsets 114 may be configured to receive user input (such as answers to a multiple-choice questions) from students 108 and to transmit data indicative of the user input wirelessly over a common wireless channel 130 (e.g., using radio frequency (RF) or infrared (IR) communication technology) to one or more wireless aggregation points 102. A wireless aggregation point 102 may be coupled to a control station 106, and the control station 106, the wireless aggregation point 102, or a combination thereof may be used to process the user input data.
Additionally, in order to ensure proper delivery of data from the handsets 114 to the wireless aggregation point 102, the data communicated from the handsets 114 to the wireless aggregation point 102 is acknowledged using a suitable acknowledgment mechanism, such as those known in the art. Therefore, if a particular handset 114 transmits some data to the wireless aggregation point 102 and does not receive, within a predetermined period of time, for example, an acknowledgment (ACK) from the wireless aggregation point 102, confirming the receipt of that data, it may be inferred that the data was lost during, and the handset 114 may retransmit the data.
The phrase “wireless aggregation point” is used here broadly to denote any device (or a combination of devices) that is capable of sending information to and/or receiving information from multiple handsets (thus making the multiple handsets capable of operating simultaneously, or substantially simultaneously). Examples of a wireless aggregation point include base stations, RF USB/Serial dongles, IR USB/Serial dongles, wireless access points (as per IEEE 802.11, IEEE 802.16, or other wireless communication protocols and standard), etc. The phrase “control station” is also used here broadly to denote any device (or a combination of devices) that is capable of controlling, at least partially, the wireless aggregation point and/or the handsets 114 and processing data received from the handsets 114. It will be understood that in some embodiments, or in some modes of operation, the control station and the wireless aggregation point are not separate elements. Therefore, the phrases “wireless aggregation point” and “control station” may be used to refer to both the wireless aggregation point and the control station.
In the example audience response system 100 illustrated in
Generally, in order to enable the handsets 114 to share the wireless channel 130 efficiently, the control station 106, the wireless aggregation point 102, or a combination thereof, may send out “beacon” data units 202 (further “beacon frames 202”) to the handsets 114 in the student response system, and each beacon frame 202 identifies time slots 204 during which the handsets 114 can transmit data via the wireless channel. However, the beacon frames 202 do not assign any particular time slots 204 to any particular handsets 114 or vice versa. Instead, the handsets 114 themselves select the time slots 204 during which to transmit data.
In the example illustrated in
When a given handset 114 receives a beacon frame 202, if that handset 114 has data to transmit to the wireless aggregation point 102, the handset may select one or more of the time slots 204 specified by the received beacon frame 202 (e.g., randomly or pseudo-randomly) and transmit that data during the selected time slot 204. If the handset 114 receives an ACK for the transmitted data in a timely manner (e.g., within a predetermined ACK timeout period), it may be inferred that the data was transmitted properly. Otherwise, the handset 114 may wait to receive another beacon frame 202 from the base station and attempt to retransmit the unacknowledged data in one of the time slots 204 specified by that other beacon. This process may continue until the transmitted data is properly acknowledged, or until another event (e.g., a timeout) occurs.
In the example illustrated in
After the first beacon frame 2021 is received, handset 1144 receives input from a student. Handset 1144 waits until the next beacon frame 2022 is received and selects time slot 5 to transmit its data. Additionally, because the timeout period for receiving ACKs for data from handsets 1141 and 1145 expires prior to arrival of the second beacon frame 2022, handsets 1141 and 1145 select slots 6 and 4, respectively, specified by the second beacon frame 2022, and retransmit their data during those slots.
It will be understood that a beacon frame may include additional information. For instance, the beacon frame may include data that identifies the base station 102 from which the beacon originates. This data may help handsets 114 to validate that the beacon comes from a trusted source. Moreover, identifying the base station 102 in the beacon may allow multiple base stations 102, or multiple audience response system to operate in close proximity (e.g., in the same classroom).
The handset 314 includes a user interface 310 generally configured to receive user input from a student and to communicate data indicative of the user input to the wireless aggregation point, such as the wireless aggregation point 102 of
The handset 314 further includes a communication interface 302. The communication interface 302 is configured to receive beacon frames (such as beacon frames 202 discussed in reference to
In addition to the communication interface 302 and the user interface 310, the handset 314 may include a number of other units, or components. For example, the handset 314 may include a central processing unit (CPU) 306 and a memory 308 coupled to the CPU 306. The CPU may be configured to execute computer readable instructions stored in memory 308 in order to implement at least some of the functions of the handset 314 described above.
It will be understood that the handset 314, in some embodiments, or in some modes of operation, may not include one or more of the components 302-312 or, alternatively, may not use each of the components 302-312 for implementing a multiple access scheme described herein. Further, it will be appreciated that some of the components 302-312 may be combined or divided into more components. Still the handset 314 may include additional components that, for ease of explanation, are not shown in
When a handset, such as handset 314 in
Components of the control station 506 may include, but are not limited to a processing unit 520, a system memory 530, and a system bus 521 that couples various system components including the system memory to the processing unit 520. The system bus 521 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus.
Control station 506 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by control station 506 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, FLASH memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by control station 506. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.
The system memory 530 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 531 and random access memory (RAM) 532. A basic input/output system 533 (BIOS), containing the basic routines that help to transfer information between elements within control station 506, such as during start-up, is typically stored in ROM 531. RAM 532 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 520. By way of example, and not limitation,
The control station 506 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media discussed above and illustrated in
The control station 506 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 580. The remote computer 580 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the control station 506, although only a memory storage device 581 has been illustrated in
When used in a LAN networking environment, the control station 506 is connected to the LAN 571 through a network interface or adapter 570. When used in a WAN networking environment, the control station 506 typically includes a modem 572 or other means for establishing communications over the WAN 573, such as the Internet. The modem 572, which may be internal or external, may be connected to the system bus 521 via the input interface 560, or other appropriate mechanism. In a networked environment, program modules depicted relative to the control station 506, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
The communications connections 570, 572 allow the device to communicate with other devices. The communications connections 570, 572 are an example of communication media. The communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. A “modulated data signal” may be a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Computer readable media may include both storage media and communication media.
Generally, the control station can generate, and transmit to the handsets in the audience response system, beacon frames specifying different time slots, depending on the traffic in the audience response system. For example, if only a few handsets are active, the control station may transmit beacon frames that specify relatively few time slots of relatively long duration. On the other hand, if many of the handsets are active, the control station may transmit beacon frames that specify more time slots of with shorter duration. As a result, beacon frames transmitted to the handsets may be configured, and reconfigured, based on the activity in the audience response system.
More specifically, in some embodiments, the control system may generate a first beacon data unit specifying a first group of time slots during which any one of the handsets in the audience response system can transmit data to the wireless aggregation point, but without assigning any particular time slots to any one of the handsets (block 610). The control station may then transmit the first beacon data unit to the handsets (block 620), receive data from one of the handsets during one of the time slots specified by the first beacon data unit (block 630) and transmit an acknowledgement to that handset (640). Subsequently, the control system may generate a second beacon data unit specifying a second, different group of time slots (e.g., with a different number of time slots, or with different duration per time slot) during which any one of the handsets in the audience response system can transmit data to the wireless aggregation point, again without assigning any particular time slots to any one of the handsets (block 650). The control station may then transmit the second beacon data unit to the handsets (block 660), receive data from one of the handsets during one of the time slots specified in the second beacon data unit (block 670) and transmit an acknowledgement to that handset (block 680).
Particular embodiments of the dynamic multiple access technique have been illustrated and described. However, it would be obvious to those skilled in the art that various other changes and modifications can be made without departing from the spirit and scope of the present disclosure. For example, the dynamic multiple access technique described herein may be used with a variety of different wireless systems other than audience response systems. It is therefore intended to cover in the appended claims all such changes and modifications that are within the scope of this disclosure.
Number | Date | Country | |
---|---|---|---|
61331919 | May 2010 | US |