US20060293048A1 - Wireless classroom response system - Google Patents

Wireless classroom response system Download PDF

Info

Publication number
US20060293048A1
US20060293048A1 US11/476,230 US47623006A US2006293048A1 US 20060293048 A1 US20060293048 A1 US 20060293048A1 US 47623006 A US47623006 A US 47623006A US 2006293048 A1 US2006293048 A1 US 2006293048A1
Authority
US
United States
Prior art keywords
handheld
wireless network
base station
wireless
handheld unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/476,230
Inventor
Mark Swanson
William Moss
Peter Jungwirth
Dean Goodmanson
Richard Dreher
John Hickey
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renaissance Learning Inc
Original Assignee
Renaissance Learning Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=36940293&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=US20060293048(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Renaissance Learning Inc filed Critical Renaissance Learning Inc
Priority to US11/476,230 priority Critical patent/US20060293048A1/en
Assigned to RENAISSANCE LEARNING, INC. reassignment RENAISSANCE LEARNING, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HICKEY, JOHN R., DREHER, RICHARD W., GOODMANSON, DEAN A., JUNGWIRTH, PETER WILLIAM, MOSS, JR., WILLIAM L., SWANSON, MARK R.
Publication of US20060293048A1 publication Critical patent/US20060293048A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B25/00Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems
    • G08B25/007Details of data content structure of message packets; data protocols
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B25/00Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems
    • G08B25/01Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems characterised by the transmission medium
    • G08B25/016Personal emergency signalling and security systems
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B25/00Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems
    • G08B25/01Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems characterised by the transmission medium
    • G08B25/08Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems characterised by the transmission medium using communication transmission lines
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B7/00Electrically-operated teaching apparatus or devices working with questions and answers
    • G09B7/02Electrically-operated teaching apparatus or devices working with questions and answers of the type wherein the student is expected to construct an answer to the question which is presented or wherein the machine gives an answer to the question presented by a student
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/18Selecting a network or a communication service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/90Services for handling of emergency or hazardous situations, e.g. earthquake and tsunami warning systems [ETWS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/52Allocation or scheduling criteria for wireless resources based on load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/50Connection management for emergency connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Definitions

  • the invention relates generally to wireless classroom response systems, and, more particularly, to wireless classroom response systems in which each student has a handheld unit that can wirelessly send messages to a computer.
  • a wireless classroom response system includes a wireless network that is located proximate to a classroom, a base station that coordinates the activities of the wireless network, and a plurality of handheld units.
  • Each handheld unit is associated with an attendee of a class (either on a long-term or “owned basis, or on an ad-hoc or “shared” basis).
  • Each handheld unit performs a discovery process that includes the steps of randomly choosing a wireless channel, attempting to discover the presence of the wireless network on the channel, and repeating these two steps if no wireless network is discovered.
  • the wireless network may be one of many wireless networks, some of which may be located distant from the classroom in which the class that the attendee is actually attending.
  • the discovery process can also include the handheld unit making multiple beacon requests, and the base station responding to at least one of those requests by transmitting a beacon frame that includes the identity of the network for which the base station is acting as the coordinator.
  • the base station directs the handheld unit to a channel that has the least amount of traffic. This helps ensure that no single wireless channel on the network becomes overloaded with too many handheld units trying to communicate.
  • steps that the handheld unit may take in carrying out the discovery process include refraining from attempting discovery until the user (the attendee that is using the handheld unit) does something that actually requires connection to a wireless network. Once the user does do something requiring connection (such as joining a session that is currently taking place on one of the wireless networks), the handheld unit searches its memory to identify the wireless network to which it was previously connected. Once it identifies the “last good network,” it displays the name of that network to the user, and asks the user whether the user wishes to reconnect to that network. If the user indicates that the answer is “yes,” the handheld unit reconnects to that “last good network.”
  • the discovery process can be used to take either an inventory of the handheld units or to take attendance of the class.
  • the base station can “count” the handheld unit as part of an inventory of the handheld units, or it can count the attendee that is presently using that handheld unit as “present” for the class.
  • the base station includes a computer and a wireless access point communicatively linked to the computer, each of which perform “health checks” to ensure that connectivity between the two remains viable. Accordingly, the computer expects periodic check-ins from the access point. If a predetermined number of check-ins are missed, then the computer tries to restart the wireless access point. Similarly, the access point expects periodic check-ins from the computer, and if a predetermined number are missed, then the access point reboots itself.
  • the base station provides software updates to the handheld units. If, during an update, a handheld unit loses contact with a wireless network, then the handheld unit goes into a “desperate mode,” in which it connects to the first wireless network that it can find, and requests the latest available version of the software.
  • the system has a wireless network, handheld units communicatively linked to the wireless network, and a base station that is also communicatively linked to the wireless network.
  • each handheld unit has a display screen and a navigation control (e.g., navigation buttons).
  • the base station transmits questions to the handheld unit, which are displayed on the display screen of the handheld unit.
  • the user an attendee of a class
  • the navigation control is overloaded, so that the attendee can put the navigation control into a second mode, in which it can be used to jump from one question to another.
  • the handheld unit can be used as a calculator.
  • the user enters a calculation, which is then transmitted over a wireless network to the base station.
  • the base station e.g., a computer that is part of the base station
  • the handheld unit then displays the result on its display screen.
  • At least one of the handheld units can be used (e.g., by a teacher or other presenter) to perform administrative tasks, such as controlling the pace at which the base station transmits the questions or retrieving an attendee's PIN.
  • the system includes a wireless network, handheld units communicatively linked to the wireless network, and a base station communicatively linked to the wireless network.
  • the base station transmits multiple questions to the handheld units.
  • Each of the handheld units has a display screen for displaying the questions, and a non-volatile memory.
  • Each of the handheld units has an “owned” mode, in which information regarding one of the attendees (i.e., the attendee that “owns” the unit) is stored in the non-volatile memory.
  • each of the handheld units has a “shared” mode, in which no person-specific information about any of the attendees is stored in the non-volatile memory.
  • each of the handheld units is capable of broadcasting an “alert” in response to a particular input made by the user.
  • the alert is received by the base station, which then acknowledges the alert and contacts an emergency response system (e.g., via the internet or other public network).
  • the base station can transmit information about the user to the emergency response system including location information. If GPS equipment is integrated with the base station or the handheld unit, the location information can be relatively precise.
  • An operator at the emergency response system can transmit questions to the user, which show up on the handheld unit. These questions can include questions regarding the nature of the emergency. If the handheld unit is “owned,” then the base station can automatically retrieve information about the user from a database, and provide that information to the emergency response system.
  • FIG. 1 illustrates a wireless classroom response system according to an embodiment of the invention
  • FIGS. 2 & 3 illustrate a handheld unit that may be used in an embodiment of the invention
  • FIG. 4 illustrates another handheld unit that may be used in an embodiment of the invention.
  • FIG. 5 illustrates a classroom activity that is conducted in a teacher-paced, prompted mode
  • FIG. 6 illustrates a classroom activity that is conducted in a teacher-paced, unprompted mode
  • FIG. 7 illustrates a classroom activity that is conducted in a student-paced, prompted mode
  • FIGS. 8 & 9 illustrate classroom activities that are conducted in student-paced, unprompted mode
  • FIG. 10 illustrates how the handheld unit may function as a calculator in an embodiment of the invention
  • FIG. 11 illustrates a software architecture used in an embodiment of the invention
  • FIG. 12 illustrates the format of a network identification beacon payload according to an embodiment of the invention
  • FIG. 13 illustrates the format of a datagram according to an embodiment of the invention.
  • FIG. 14 illustrates the format of datagram segments according to an embodiment of the invention.
  • the response system includes a base station 11 , a plurality of handheld units 16 , and one or more wireless networks 24 .
  • the base station 11 includes a computer 12 and a one or more wireless access points (APs) 14 .
  • the computer 12 is communicatively linked to the AP 14 via universal serial bus (USB), while each AP 14 is communicatively linked to the handheld units 16 via a wireless network 24 .
  • the system 10 also includes a database 18 on which data representing questions and their corresponding answers are stored.
  • the system 10 also includes a printer 20 communicatively linked to the computer 12 , which allows an instructor or other speaker to print out results of tests or surveys taken by users of the handheld units 16 , first through sixth application programs 22 A- 22 F (generically referred to as application programs 22 ) executing on the computer 12 , which dictate how the computer 12 administers the questions transmitted to the handheld units 16 and processes the answers received in response thereto, and a service program 26 , which provides communication and routing services to the application programs 22 and the handheld units 16 .
  • the system 10 may be communicatively linked with one or more remote computers 28 via a public network 3 (e.g., the Internet). At least one of the remote computers 28 hosts a web site from which questions may be downloaded. Also, student and class data may be stored on the remote computer 28 .
  • a public network 3 e.g., the Internet
  • each AP 14 is a Universal Serial Bus (USB) device that includes a microprocessor (e.g., an ARM processor) and an 802.15.4 chip set.
  • the AP 14 carries out the functions of an 802.15.4 PAN Coordinator and also serves as the access point for devices to communicate with one of the wireless networks 24 .
  • the handheld units 16 include 802.15.4 chip sets and execute a handheld application program 17 that enables them to communicate wirelessly with the service program 26 on the computer 12 via an AP 14 . By submitting requests via the service program 26 , the handheld units 16 use services of the application programs 22 hosted on the computer 12 to obtain such things as academic content, data synchronization, real time response activities, etc. Possible embodiments of the handheld units 16 are shown in FIGS. 2, 3 & 4 .
  • Type I handheld unit the embodiment depicted in FIG. 2 will be referred to as a Type I handheld unit while the embodiment depicted in FIGS. 3 & 4 will be referred to as a Type II handheld unit.
  • Type II handheld unit the embodiment depicted in FIGS. 3 & 4 will be referred to as a Type II handheld unit.
  • the Type I handheld unit will be also referred to by the moniker “Responder.”
  • each wireless network 24 of the system 10 communicates using an open network protocol, such as the IEEE 802.15.4 standard.
  • each wireless network 24 operates as a personal area network (PAN).
  • PAN personal area network
  • each classroom may have its own wireless network 24 , with its own PC 12 and one or more APs 14 communicatively linked thereto.
  • the computer 12 is connected to the APs 14 via a USB cable.
  • the APs 14 act as wireless access points on the wireless networks 24 .
  • the application program 22 interacts with an operating system and service program 26 (both executing on the computer 12 ) to send and receive data over a communications link which, in this embodiment, is a USB interface, through an AP 14 , and over a wireless network 24 which, in this embodiment, is an IEEE 802.15.4 compliant network.
  • the application program 22 defines a service handler application programming interface (API) 23 .
  • the application program 22 sends hypertext transport protocol (HTTP) messages via the port along with markup language documents to the handheld units 16 .
  • the handheld units 16 respond as specified in the markup language documents, and those responses are received via the service handler API 23 .
  • HTTP hypertext transport protocol
  • the Handheld Unit The Handheld Unit
  • the handheld unit 16 is designed to be inexpensive, lightweight, rugged, and simple to use. It includes a microcontroller, flash memory, and a communications circuit. It executes software (in the form of firmware) that is depicted in FIG. 1 as the handheld application program 17 . It has a graphical liquid crystal display 32 and twenty-five keys to support multiple response types.
  • the keys include an ON/OFF key 34 , a group 36 of numeric keys, a group 38 of multiple choice keys, a group 40 of positive/negative keys, a group 42 of navigation keys (including up and down arrow keys, and a SELECT key), an ENTER key 46 , and a CLEAR key 47 .
  • the ON/OFF key 34 is configured so as to reduce the chance of accidental pressing (having, for example, raised ribs on the enclosure or being aligned just below flush with the enclosure).
  • the keys are grouped into functional areas. For example, the group 38 of multiple choice keys A thru E is commonly used when responding to multiple choice questions.
  • the group 36 of numeric keys, 0 thru 9 is used when responding to a question requiring a numeric reply.
  • Each group of keys has elements that indicate to the user that the keys are, in fact, part of the same group. Possible ways to accomplish this include, but are not limited to key style (shape, color, label text font/size/color, etc.) and separators in enclosure (altitude, channels, borders, etc.)
  • the operation of the handheld unit 16 will now be described.
  • the general usage pattern is as follows: the user receives a question, which is either displayed on the LCD screen 32 , or provided some other way, such as verbally or written.
  • the user presses one or more keys to formulate a response.
  • key action is invoked on key closure.
  • the user then presses the ENTER key 46 to transmit the response wirelessly to the base station 11 .
  • the handheld unit 16 has a response queue acts as a holding area for responses. The content of this queue changes when keys are pressed and is displayed prominently on the LCD 32 .
  • the actual data stored in the queue and transmitted is not necessarily what the user sees on the LCD screen 32 .
  • LCD 32 displays “True,” a single data byte can be used to represent a positive response. This is done to minimize memory use and data packet size.
  • the maximum response size is based on the size of the LCD screen 32 , the font size, and/or the amount of memory available in the microcontroller of the handheld unit 16 .
  • Pressing the ON/OFF key 34 with no other keys down toggles the device state (on or off). Pressing the CLEAR key 47 causes a response queue to be cleared. The response queue is also cleared when the handheld unit 16 is powered on.
  • the ENTER key 46 When the ENTER key 46 is pressed, the contents of the response queue are transmitted via the wireless communication circuit. During transmission, the text “Sending” is displayed on the LCD screen 32 until the next question is received from the base station 11 ( FIG. 1 ).
  • the multiple choice keys group 38 is used to enter single key responses. When one of the keys of this group is pressed, the handheld unit 16 replaces the contents of the response queue.
  • the group 40 of positive/negative keys is similarly used to enter single key responses. As with the multiple choice keys, pressing one of the positive/negative keys causes the handheld unit 16 to replace the contents of the response queue. In addition to indicating an answer of “true” or “false,” the positive/negative keys are used for Yes/No responses.
  • the handheld unit 16 also includes a “?” key 44 , may be used as a “help” key.
  • the group 36 of numeric keys is used to enter multi key responses. Positive, negative, whole, and decimal numbers may be entered. If the response queue contains a multiple choice or a positive/negative response when a numeric key is pressed, an implied CLEAR is executed first. When a key of the numeric key group 36 is pressed, the associated value is added to the rightmost position of the response queue, unless the queue is full, in which case it is ignored.
  • the group 42 of navigation keys permits the user to navigate through a user interface that is displayed on the screen 32 .
  • the user can use the navigation keys to scroll up or down and to highlight items that the user wishes to select (using the SELECT key).
  • the navigation keys allow the user to scroll through the text of the question that is currently being displayed on the screen 32 , or to navigate to an entirely different question.
  • the handheld unit overloads the arrow keys.
  • the default behavior of the arrow keys is to scroll through the text of the question currently being displayed. If the user presses the “?” key 44 , the function of the arrow keys changes, such that they permit the user to jump to the next or the previous question instead of scrolling text.
  • the handheld unit 16 manages power as follows.
  • the microprocessor sleeps as much as possible (between keypresses) to maximize device runtime.
  • the handheld unit 16 automatically powers off after 30 minutes of inactivity, regardless of key states. A continuously held-down key does not constitute activity. If one or more keys are held down accidentally by something sitting on the device or during storage or transport, the handheld unit 16 powers itself off when the timeout interval expires, and does not power on again until all keys are released and only the ON/OFF key 34 is pressed.
  • the wireless response system permits each handheld unit 16 ( FIG. 1 ) to be designated either as “shared”—used by multiple people—or as “owned”—used by only one person.
  • a handheld unit 16 When a handheld unit 16 is in shared mode, no user information is stored on it. Once the unit is powered off by one user, another user can power it on and use it without any repercussions.
  • a handheld unit 16 when a handheld unit 16 is in owned mode, it stores ownership information such as the user's name and the PIN selected by the user, in its memory. It also stores user data such as homework and notes.
  • a handheld unit 16 that is in owned mode may also use a virtual “key chain” having one or more “keys.” The virtual key chain (or simply “key chain”) stores authentication information for a particular user.
  • Each “key” may be used to authenticate the user (and the handheld unit 16 ) to a wireless network 24 and/or to one of the application programs 22 .
  • the virtual key chain is stored in a memory of the handheld unit 16 .
  • the purpose of the virtual key chain is to simplify connection of the handheld unit 16 to the wireless networks 24 and/or to the application programs 22 by automatically supplying credentials without the need for user intervention.
  • audience members can respond to a presenter using the handheld units 16 : prompted and unprompted.
  • a prompted response mode a question is displayed on the handheld units 16 , and the audience members answer the displayed question.
  • unprompted response mode the question is not presented on the handheld units 16 , but by some other method, such as a presenter reading it aloud or an audience member reading it on a handout.
  • the audience member still answers the question using the handheld unit 16 .
  • an activity is made up of one or more discrete tasks referred to as “actions.”
  • An activity can be a single action or a complex sequence of actions.
  • an activity can be something as simple as displaying a message to one of the handheld units 16 , or an activity can be something more sophisticated such as requesting a response to a multiple-choice question.
  • An activity can have a static design, such as a quiz that includes 10 actions, each action being a question, each action being performed sequentially.
  • activities may use dynamic, adaptive branching that relies on the logic of the application program 22 to inspect each response to a question and determine what the next action should be.
  • Some activities are classified as “live.” That is, they are intended to be conducted while the handheld units 16 are communicatively linked to the computer 12 .
  • the application programs 22 carry out some activities that are paced by the presenter and some activities that are paced by the audience members. Since many of the examples described herein are set in the context of a classroom environment, these two types of activities will be referred to herein as “teacher-paced” and “student-paced.” It is understood, of course, that the invention is not limited to classroom use.
  • a teacher-paced activity is one in which the class participates as a whole, and where each student responds to questions generated by an application program 22 .
  • the teacher controls the pace at which questions are transmitted to the handheld units 16 . For example, the students may be shown only one question at a time on their handheld units 16 , and the question is shown only when specified by the teacher.
  • a student-paced activity is one in which each student views questions and responds at his own speed. Students can be given individual student-paced activities, or the entire class may be given the same student-paced activity.
  • the student-paced activity may be configured so that overloading of the navigation keys (discussed above) is enabled, thereby giving students the ability to navigate back and forward through questions.
  • the application program 22 transmits a mark-up language document to the plurality of handheld units 16 .
  • the mark-up language document includes instructions for presenting a sequence 60 of questions on the handheld units 16 (for a pop quiz).
  • Each handheld unit 16 interprets the instructions contained in the mark-up language document and, accordingly, displays the first question 52 in the sequence.
  • Each student has the opportunity to respond to the first question 52 by making the appropriate input to the student's handheld unit 16 .
  • the application program 22 transmits a message to the handheld units 16 , that causes the handheld units to permit the students to advance to the second question 54 in the sequence 60 .
  • the display containing the second question 54 includes a scroll bar 55 .
  • This process continues, with the third and fourth questions 56 and 58 being enabled in succession until the teacher ends the quiz by making the appropriate input to the computer 12 .
  • one of the handheld units 16 may be placed into a “remote control” mode to allow the teacher to use that handheld unit 16 initiate a session and control the pacing of the questions via the keypad of the handheld unit 16 and one of the wireless networks 24 .
  • This remote control mode allows the teacher to leave her desk and visit with the students.
  • the presenter can put a handheld unit 16 into remote control mode and move about the audience while controlling a live activity. The presenter can pace the session, view the questions that the participants are asking, chose a question template to transmit to the audience handheld units for ad hoc Q&A sessions, etc.
  • FIG. 6 illustrates the sequence of displays shown on each handheld unit 16 for a quiz that is given in a teacher-paced, unprompted mode.
  • the sequence of actions is similar to that described in conjunction with FIG. 6 , except that the mark-up language document transmitted by the application program 22 to the handheld units 16 ( FIG. 1 ) does not include questions but rather includes one or more answer templates, such as a True/False template 72 , multiple choice template 74 and a numeric template 76 .
  • the handheld units 16 display the answer templates on their respective LCD screens 32 .
  • the teacher reads the questions aloud to the students.
  • the response system 10 can also be used to allow the teacher to distribute homework assignments, and to allow the students to complete and turn in the homework assignments.
  • the application program 22 transmits one or more mark-up language documents representing a homework assignment to the handheld units 16 . Outside of class, the students individually complete the homework assignment by making the appropriate inputs into their respective handheld units.
  • FIG. 7 illustrates the sequence of displays shown on a handheld unit for an example homework assignment in a student-paced, prompted mode. The student selects “homework” from a first menu 78 , then selects “Friday Quiz” from a second menu 80 .
  • the handheld unit 16 displays a sequence 82 of questions (i.e., in a “prompted” mode) that the student must answer.
  • the student makes the appropriate inputs to the handheld unit 16 to cause it to transmit her answers to the application program 22 , thereby “turning in” the completed homework assignment.
  • the sequence of displays for another example homework assignment is shown in FIG. 8 .
  • the teacher gives handouts containing the questions to the students, and the mark-up language document that the handheld units 16 receive from the application program 22 only contains answer templates. Otherwise, the procedure for completing and turning in the homework assignment is the same as described in conjunction with FIG. 7 .
  • FIG. 9 Yet another sequence of displays for a homework assignment is shown in FIG. 9 .
  • the teacher gives handouts containing the questions to the students.
  • the application program 22 does not transmit a mark-up language document to the handheld units 16 for answering the questions, but the students instead use a generic answer form 102 that is pre-stored in the handheld units 16 . Otherwise, the procedure for answering the questions and turning in the answers is the same as described in conjunction with FIGS. 7 and 8 .
  • the handheld unit 16 is also able to function as a calculator.
  • FIG. 10 illustrates how this functionality appears on the LCD screen 32 .
  • Many of the calculations themselves are not performed by the handheld unit 16 , however. Instead they are performed by the computer 12 .
  • the computer 12 transmits the results of the operation back to the handheld unit 16 for display to the user.
  • This off-loading feature enables the handheld unit 16 to be low-cost in terms of the memory it requires and in terms of how powerful of a microprocessor is required.
  • the teacher may, by making the appropriate input to the computer 12 ( FIG. 1 ), cause the application program 22 to send commands to the handheld units 16 that will disable the calculator function.
  • the software includes an operating system 40 and the service program 26 .
  • the service program 26 includes an uplink program 42 , a ground control program 44 , and a translation program 46 .
  • the computer 12 also hosts first, second, and third application programs 22 A, 22 B, and 22 C. Each of the application programs calls or can be called by the translation program 46 or the ground control program 44 via an application programming interface (API).
  • API application programming interface
  • a first API 23 A facilitates interaction between the translation program 46 and the first application program 22 A
  • a second API 23 B facilitates interaction between the ground control program 44 and the second application program 22 B
  • a third API 23 C facilitates communication between the ground control program 44 and the third application program 22 C.
  • the application programs 22 A- 22 C send and receive data to and from the handheld units 16 via the ground control program 44 .
  • the first application program 22 A provides services to Type I handheld devices.
  • the Type I handheld devices communicate using a compact markup language referred to herein the Saturn Datagram Markup Language (SDML), which the translation program 46 translates into Extensible Markup Language (XML) to provide to the first application program 22 A.
  • SDML Saturn Datagram Markup Language
  • XML Extensible Markup Language
  • XML documents that the first application program 22 A sends to the Type I handheld units are passed to the translation program 46 , which converts them into SDML documents, which are then transmitted to the handheld units 16 .
  • the second application program 22 B provides services to Type II handheld units, which communicate in XML. Thus, communication between the second application program 22 B and the Type II handheld units does not need to be processed by the translation program 46 .
  • the uplink program 42 is responsible for handling the initial USB connection and low-level communication to the AP 14 .
  • the ground control program 44 provides a communications gateway between the handheld units 16 and the application programs.
  • the ground control program 44 also provides a USB interface to the AP 14 , upper layer management services for the 801.15.4 media access control (MAC), datagram fragmentation and assembly services, and device management services.
  • MAC media access control
  • the ground control program 44 executes utilities to configure and manage the handheld units 16 via a user interface (such as a Windows® or Macintosh® user interface).
  • the computer 12 executes a ground control manager program 48 that is separate from the ground control program 44 .
  • the ground control manager program 48 is a utility that is used to configure the AP 14 , assign device ownership, inspect connected devices, and perform other management tasks.
  • the application programs 22 working with the ground control program 44 via the appropriate API can also implement many of the management tasks normally performed by the ground control manager program 48 .
  • ground control manager program 48 performs wireless updates to the firmware executing on the handheld units 16 .
  • Each handheld unit 16 can be updated independently.
  • a system administrator may, for example, order a firmware update on CD-ROM or download it from the internet, and install the update on the computer 12 .
  • the ground control manager program 48 reports the available update or updates to the handheld units 16 via a wireless network 24 ( FIG. 1 ).
  • the handheld application program 17 on each handheld unit 16 prompts the user to select which updates should be installed. To prevent inadvertent updates, the handheld unit 16 may also require administrator authentication proceed with the update.
  • the handheld unit 16 that is being updated loads a small, self-contained program, referred to as the “bootloader,” and makes it permanently resident in memory.
  • the bootloader manages the process of requesting and receiving the new firmware and storing it in the flash memory of the handheld unit 16 .
  • the bootloader is preferably as small as possible, in order to preserve limited memory in the handheld unit 16 .
  • the bootloader contains a minimal user interface and does not have a full communications stack.
  • Information regarding the network connection and the selected firmware update is passed from the handheld application program 17 to the bootloader via a shared non-volatile memory space. If the handheld unit 16 looses power or looses communication with a wireless network 24 during an update, it puts itself into what will be referred to as “desparate mode,” in which it scans for and automatically connects to the first wireless network 24 that it finds.
  • the ground control manager program 48 responds by transmitting, to the handheld unit 16 , the latest version of the handheld application program 17 that it has, thereby allowing the handheld unit 16 to return to its normal operating state.
  • the ground control manager program 48 can perform the functions of recovering a lost PIN for a handheld unit 16 and resetting its ownership to shared mode.
  • any administrator or authorized person (not just the one that issued the handheld unit 16 to the user) can initiate these functions from the handheld unit 16 .
  • the authorized person requests, via the ground control manager program 48 , the recovery of the user's PIN.
  • the administrator enters an administrative PIN (which may be a PIN that is known to all of the wireless networks 24 ) via the keypad to complete the recovery.
  • the handheld units 16 connect to the wireless networks 24 (which are personal area networks in this embodiment) using the IEEE 802.15.4 Low-Rate Wireless Personal Area Network standard.
  • the application programs 22 running on the computer 12 connect to one or more of the wireless networks 24 via TCP/IP sockets.
  • the ground control program 44 FIG. 11
  • the USB and the AP 14 bridge the communications between application programs 12 and the handheld units 16 .
  • the handheld units 16 locate the wireless networks using an 802.15.4 active scan.
  • An active scan locates 802.15.4 PAN coordinators by stepping through logical channels in the 802.15.4 airspace (starting from the lowest channel and working up to the highest channel), and issuing a beacon request.
  • the handheld unit 16 issues multiple beacon requests. This helps to compensate for losses of beacon responses due to collisions that may occur in high-traffic situations (particularly on non-beacon networks).
  • Each PAN coordinator e.g., each AP 14 in the wireless networks 24 that receives the request (or requests), responds to the request with a 802.15.4 beacon frame. Within this frame is the beacon payload carrying the Network Identifier Block, which will be discussed below in further detail.
  • each of the handheld units 16 performs its active scan by randomly choosing the channel on which to begin the scan (instead of starting with the lowest channel). Furthermore, instead of stepping through the channels in sequence, each handheld unit 16 scans the channels in random order. This scheme reduces the chances of any particular channel being overloaded during the discovery process.
  • the application programs 22 can interact with it. Furthermore, the very act of connecting to the wireless network 24 enables the service program to include the handheld unit 16 as part of an inventory of the handheld units 16 .
  • the service program 26 can also use the fact of the handheld units 16 connecting to a wireless network 24 as representing the attendance of the user of the device. Thus, for example, if John Smith is the “owner” of a handheld unit 16 , and his handheld unit 16 connects to a wireless network 24 , then the service program 26 lists John Smith as being present. This list is displayed to an administrator on a user interface on the computer 12 .
  • the Network Identifier Block that each PAN coordinator transmits to the handheld units 16 in response to a beacon request contains information about the PAN to which the PAN coordinator belongs.
  • the format of the Network Identifier Block in an embodiment of the invention is show in Table 1 below. TABLE 1 Field Size Description SATURN 6 bytes Fixed field header identifying the beacon originated from one of the wireless networks. Value is an unterminated ASCII string equal to the value “SATURN”. Version 1 byte Version: Identifies the version of the Network Identifier block. Version is two 4 bit BCDs of the form Major.Minor Current version is 0x01 Flags 1 byte MAC OUI Filtering Enable: Bit 0. If set, the AP 14 will only accept device associations for those whose MAC OUI is equal to its own.
  • Server Security Use Bit 1. If set, the sever is using security. Note that Frame Control Field Security bits may not be set even though this bit is set. This situation occurs when simple atgencrypt security is used by the server. In this situation, only data requests have security and will have their Frame Control Security bits set.
  • Associated 2 bytes Associated Devices Count The number of Devices active devices associated to the AP 14.
  • Network Name 24 bytes Network Name: Name assigned to the wireless network. Format is a null terminated ASCII string if length is less than 24 bytes. If name is 24 bytes, no termination is used.
  • Master PAN 1 byte Master PAN Channel The channel number of Channel the PAN master. This value along with the Master PAN ID are used to match PANs belonging to a server.
  • Checksum 1 byte Checksum A checksum computed over the block to provide a second level of identification of wireless networks. An 8-bit checksum. It is calculated by adding the block bytes together. On receipt of the beacon payload, the handheld unit 16 performs the same checksum calculation and on a mismatch, deems the beacon (e.g., the AP 14) as not belonging to a valid wireless network.
  • the Network Name field is intended for use by each handheld unit 16 to help determine whether or not to associate to the wireless network 24 .
  • This name is set by the owner/administrator of that wireless network.
  • the administrator/owner may be the instructor.
  • the string can be displayed to the user along with other wireless networks that were found in the active scan, thereby allowing the user to make the choice of which wireless network 24 to join.
  • the handheld application program 17 connects to the wireless network via the ground control program 44 (hosted on the computer 12 ).
  • the ground control program 44 provides a TCP/IP port for connection.
  • the identifier for the AP 14 is simply the localhost or IP address of the computer 12 along with the TCP port number. In one embodiment, the AP 14 port number will be selected at random from the Internet Assigned Numbers Authority (IANA) dynamic and private port range of 49152 to 65535.
  • IANA Internet Assigned Numbers Authority
  • the handheld unit 16 Each time a handheld unit 16 ( FIG. 1 ) establishes a connection to a wireless network 24 (in an embodiment of the invention), the handheld unit 16 stores the information about that network (which will be referred to as the “last good network”) in its non-volatile memory, including the name of the network (obtained from the Network Identifier Block of the beacon response). When the handheld unit 16 is powered on, it does not attempt to connect to a wireless network 24 until the user does something that actually requires a network connection. When the user does do something that requires a connection (such as joining a classroom session), the handheld unit 16 retrieves the last good network information from its non-volatile memory and checks for the presence of that network. If that network is present, the handheld application program 17 ( FIG.
  • the handheld unit 16 displays a visual prompt that asks the user whether the user would like to stay connected to that network.
  • the prompt includes the name of the network. If the last good network is not detected as present, or if the user chooses “no,” then the handheld unit 16 performs a full network scan. This “lazy” reconnection scheme reduces the number of times that the handheld unit 16 performs active scans and thus helps to extend the life of the handheld unit's batteries. Furthermore, by displaying the network name to the user when prompting for a reconnect, the handheld unit 16 helps to prevent connection to the wrong wireless network 24 .
  • a handheld unit 16 When a handheld unit 16 ( FIG. 1 ) connects to one of the wireless networks 24 , it broadcasts a beacon request, and receives responses, in the form of beacon frames, from one or more APs 14 .
  • the handheld unit 16 uses the contents of the “Associated Devices” field of the Network Identifier Block in each of the beacon frames to identify which of the access points has the fewest number of handheld units 16 already associated with it.
  • the handheld unit 16 then connects to that access point (AP 14 ). This ensures proper load balancing among the access points of each network. Another way in which the system 10 performs load balancing is as follows.
  • the ground control manager program 48 determines whether there are any other available APs 14 that have fewer devices associated with them than the AP 14 to which the handheld unit 16 is currently associated. If there are, then the ground control manager program 48 directs the handheld unit 16 to reconnect to the AP 14 that has the fewest number of devices associated with it.
  • the system 10 provides for two-way health monitoring between the computer 12 and each of the APs 14 .
  • the service program 26 ( FIG. 1 ) periodically performs a “health check” on each of the APs 14 .
  • the service program 26 does this by checking in with each of the APs 14 at predetermined intervals.
  • each of the APs 14 periodically checks in with the service program 26 at predetermined intervals. If an AP 14 fails to check in with the service program 26 after a maximum-acceptable number of intervals, the service program 26 attempts to restart that AP 14 (and, hence, the wireless network 24 that is being coordinated by that AP 14 ).
  • the service program 26 designates the AP 14 as stalled, and gives the system administrator feedback on the computer 12 via a server log and a server utility user interface. From the point of view of the AP 14 , a similar flow of logic occurs. If the AP 14 does not receive a check-in from the service program 26 after a maximum-acceptable number of intervals, the AP 14 reboots itself into a standby mode. In the standby mode, the wireless network 24 for which the AP 14 is the PAN coordinator is stopped, and no requests from the handheld units 16 on that network are processed. The frequency of health checks made by both the service program 26 and the AP 14 , as well as the maximum-acceptable number of missed health checks and restart attempts are system-configurable.
  • the previously-described health check mechanism is sufficiently flexible to detect major problems, while still being able to recover from temporary losses of connectivity with the APs 14 . For example, if a USB cable connecting the AP 14 and the computer 12 comes loose or is inadvertently disconnected for a short period of time, only a few health checks will be missed (by the service program 26 and the AP 14 ). If the cable is reconnected before the maximum-acceptable number of health checks are missed, then the service program 26 restarts the AP 14 using its previous network settings, and traffic between the AP 14 and the handheld units 16 resumes without any need for the users to manually reconnect or to perform any other initial setup.
  • data transmitted between the handheld units 16 and the base station 11 is carried in 802.15.4 data frames using a delivery construct that will be referred to herein as Saturn Protocol (SP) datagrams.
  • SP datagrams use a segment format similar to the TCP/IP segment format and have the structure depicted in FIG. 13 .
  • the content of the various fields of an SP datagram is described below in Table 2.
  • the Datagram ID field is used to identify datagram segments during a transaction using 802.15.4 data request and data indication communication protocols. Datagram IDs are simple 8 bit IDs that are incremented each time a new transaction is started by the sender.
  • the Sequence Number field is used to determine the portion of the data payload the segment carries.
  • the arrival of the datagram segment with the FIN bit equal to 1 indicates that the final segment. Reception of the FIN segment does not mean the datagram assembly is complete as it is possible previous segments may have been lost and are in the process of being resent. Determining that a datagram is completed is based on examining the sequence for missing segments.
  • the ground control program 44 automatically assembles data into segments for application programs (such as the first, second, and third application programs 22 A, 22 B, and 22 C) that use its services.
  • application programs such as the first, second, and third application programs 22 A, 22 B, and 22 C
  • the handheld devices 16 provide their own services for segmentation of data.
  • SP datagram segments are limited in size by the Maximum Transmission Units (MTU) of the 802.15.4 MAC data frame. Depending on the security suite in use for the 802.15.4 network, this MTU can be reduced due to overhead of encryption and freshness implementations.
  • MTU Maximum Transmission Units
  • the MTU is 102 bytes.
  • To construct a segment a template header with the Version, Header Length, Service Port, and Datagram ID fields is created and then used to send each segment of the data in an 802.15.4 data frame.
  • the SYN flag is set for the first segment.
  • the FIN flag is set for the last segment.
  • the Sequence Number for the first segment should start at 0. Remaining segments have their Sequence Number set based on the byte sequence they carry.
  • FIG. 14 an example of an SP datagram is shown.
  • 200 bytes of data are being sent, and that the datagram is number 45 in sequence.
  • This package requires a total of three 802.15.4 MAC data frames (102 byte MTU) to send the entire message.
  • segments arrive at the computer 12 , they are matched up according to the sender's 802.15.4 address from the MAC data frame, and the Service Port and Datagram ID field values in the SP datagram header.
  • the handheld units 16 communicate with the computer 12 of the base station 11 using a compact protocol.
  • a compact protocol will be referred to herein as Saturn Device Transport Protocol (SDTP).
  • SDTP Saturn Device Transport Protocol
  • the handheld units 16 and the computer 12 also communicate using a compact mark-up language format.
  • One implementation of the compact protocol will be referred to herein as the Saturn Device Mark-up Language (SDML).
  • SDTP Saturn Device Transport Protocol
  • Messages sent between the handheld units 16 and the computer 12 are in the form of requests for services (from the handheld unit 16 to the computer 12 ) and responses (from the computer 12 to the handheld unit 16 ). Referring to FIG. 11 , it is the ground control program 44 that processes such requests from handheld units.
  • each application program 22 may “register” with the ground control program 44 to provide one or more services.
  • Such registered application programs are also referred to herein as “service handlers.”
  • service handlers For an application program to act as a service handler, it expresses an API for receiving data from the handheld units 16 , and an API for receiving data from handheld units 16 . Both APIs are represented by the APIs 23 in FIGS. 1 and 11 .
  • Each SP datagram includes a “Service” field that is used to determine the application program (service handler) that will handle processing the data payload. Example entries for this field are “Responder” to identify the application program that processes requests from Type I handheld units, “Type II” to identify the application program that processes requests from Type II handheld units and “Print Server” to identify the application that processes print request.
  • the application program 22 A could register with ground control program 44 to handle requests for Type I handheld units, and the application program 22 B could register to handle requests for Type II handheld units. Future services can also be accommodated in the ground control program 44 by simply requesting a service assignment ID from one of the remote computers 28 ( FIG. 1 ).
  • a handheld unit 16 forms and transmits a “service request” to the computer 12 .
  • a service request is formed using Hypertext Transport Protocol (HTTP) POST message.
  • HTTP Hypertext Transport Protocol
  • the ground control program 44 identifies which application program has registered to handle the datagram, and then calls a “ReceiveData” service of that application program. If an application program wishes to send data to a handheld unit 16 , the application program calls a “SendData” service of the ground control program 44 .
  • the ground control program 44 itself offers certain services to the application programs 22 . These services are available through a service port defined by the ground control program 44 , and allow the application programs to get and set information for the handheld units 16 , configure the APs 14 , and connect/disconnect to the handheld units 16 .
  • the handheld units 16 are operated by attendees of the class, such as students.
  • the service program 26 and the handheld application program 17 include software for implementing a student alert system, in which a student or other attendee can, in an emergency, use his or her handheld unit 16 to broadcast an alert.
  • the student presses and holds down a particular key on the handheld unit 16 (the selection of the key and the amount of time required for the keypress to trigger the alert are configurable).
  • the handheld application program 17 Upon detecting the alert input by the student, the handheld application program 17 causes the handheld unit 16 to broadcast an 802.15.4 orphan notification command along with a reserved extended address.
  • the handheld unit 16 normally has a 16 bit address
  • its orphan notification command includes the 16 bit address plus an addition 4 bit extension.
  • the service program 26 Upon receiving the orphan notification with the extended address (the “alert”) from the handheld unit 16 , the service program 26 assumes that the handheld unit 16 is in alert mode. The service program 26 then ignores all data traffic that it receives from all other handheld units 16 or application programs 22 , so as to devote all of the resources of the computer 12 to servicing the alert. The service program 26 responds to the handheld unit 16 (using the extended address as the destination address) to confirm that the alert has been received. The response of the service program 26 is identified as such in the “service port” field of the SP datagram header (see, e.g., FIG. 13 ).
  • the response may include anything from a simple message that help is on the way to a series of questions relating to the nature of the student's emergency.
  • the service program 26 Upon receiving the alert, the service program 26 also issues an alert message to an Emergency Response System (ERS) 21 via the public network 3 and one of the remote computers 28 .
  • ERS Emergency Response System
  • the communication between the computer 12 and the remote computer 28 in this context occurs through a web services connection, which exposes a web services application programming interface (API).
  • API web services application programming interface
  • any ERS operator having software that can access the web services API can respond to the student (via the public network 3 , the base station 11 , one of the wireless networks 24 and the handheld unit 16 ). The operator can then inquire about the student's location, the nature of the alert, etc.
  • Communication between the ERS operator and the student may occur using the same format described above for classroom quizzes—by exchanging mark-up language documents and by using HTTP GET and POST commands.
  • the ERS operator upon receiving an alert, the ERS operator could post a question, and the user could respond with yes, no, a, b, c, d, e, or by using numeric keys.
  • the service program 26 also determines whether the handheld unit 16 that is broadcasting the alert is “owned,” such as by referring to the ownership information in the database 18 . If the handheld unit 16 is owned, the service program 26 obtains ownership information from the database 18 and transmits information about the owner, such as his or her name, to the ERS operator. Furthermore, the service program 26 may also transmit information regarding the location of the base station 11 to the ERS operator. Such information is configurable by the system administrator of the computer 12 , and is stored in the database 18 .
  • the information may include the room in which the base station 11 is located, such as “Science Lab, Room 102 ,” ”3 rd Floor Room 310 ,” or “Fitness Room.”
  • the base station 11 includes Global Positioning System (GPS) equipment.
  • GPS Global Positioning System
  • the service program 26 can use data from the GPS equipment to transmit precise location data to the ERS operator.
  • the handheld unit 16 includes GPS equipment, in which case it can use the GPS data to transmit its location to the service program 26 , which then relays that location information to the ERS operator.

Abstract

A wireless classroom response system wireless network is located proximate to a classroom, a base station that coordinates the activities of the wireless network, and a plurality of handheld units. Each handheld unit is associated with an attendee of a class (either on a long-term or “owned basis, or on an ad-hoc or “shared” basis). Each handheld unit performs a discovery process that includes the steps of randomly choosing a wireless channel, attempting to discover the presence of the wireless network on the channel, and repeating these two steps if no wireless network is discovered.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application claims the benefit of the filing date of U.S. Provisional Application No. 60/694,414, filed Jun. 27, 2005 and U.S. Provisional Application No. 60/729,428, filed Oct. 21, 2005, each of which are incorporated herein by reference in their entirety.
  • FIELD OF THE INVENTION
  • The invention relates generally to wireless classroom response systems, and, more particularly, to wireless classroom response systems in which each student has a handheld unit that can wirelessly send messages to a computer.
  • BACKGROUND OF THE INVENTION
  • When a lesson is presented to a class of students it is often difficult to gauge whether the students are absorbing or even paying attention to the lesson. Wireless classroom response systems address this difficulty. Some currently-existing systems are deficient however, in that they do not permit the student to choose from multiple wireless networks. Others use proprietary communication schemes, thereby inhibiting the development of hardware and software by third-party vendors.
  • SUMMARY
  • In accordance with the foregoing, a wireless classroom response system is provided. In an embodiment of the invention, the system includes a wireless network that is located proximate to a classroom, a base station that coordinates the activities of the wireless network, and a plurality of handheld units. Each handheld unit is associated with an attendee of a class (either on a long-term or “owned basis, or on an ad-hoc or “shared” basis). Each handheld unit performs a discovery process that includes the steps of randomly choosing a wireless channel, attempting to discover the presence of the wireless network on the channel, and repeating these two steps if no wireless network is discovered. The wireless network may be one of many wireless networks, some of which may be located distant from the classroom in which the class that the attendee is actually attending. The discovery process can also include the handheld unit making multiple beacon requests, and the base station responding to at least one of those requests by transmitting a beacon frame that includes the identity of the network for which the base station is acting as the coordinator. In one implementation, the base station directs the handheld unit to a channel that has the least amount of traffic. This helps ensure that no single wireless channel on the network becomes overloaded with too many handheld units trying to communicate.
  • Other steps that the handheld unit may take in carrying out the discovery process include refraining from attempting discovery until the user (the attendee that is using the handheld unit) does something that actually requires connection to a wireless network. Once the user does do something requiring connection (such as joining a session that is currently taking place on one of the wireless networks), the handheld unit searches its memory to identify the wireless network to which it was previously connected. Once it identifies the “last good network,” it displays the name of that network to the user, and asks the user whether the user wishes to reconnect to that network. If the user indicates that the answer is “yes,” the handheld unit reconnects to that “last good network.”
  • In an embodiment of the invention, the discovery process can be used to take either an inventory of the handheld units or to take attendance of the class. In other words, whenever a handheld unit connects to a wireless network, the base station can “count” the handheld unit as part of an inventory of the handheld units, or it can count the attendee that is presently using that handheld unit as “present” for the class.
  • In one embodiment of the invention, the base station includes a computer and a wireless access point communicatively linked to the computer, each of which perform “health checks” to ensure that connectivity between the two remains viable. Accordingly, the computer expects periodic check-ins from the access point. If a predetermined number of check-ins are missed, then the computer tries to restart the wireless access point. Similarly, the access point expects periodic check-ins from the computer, and if a predetermined number are missed, then the access point reboots itself.
  • In another embodiment of the invention, the base station provides software updates to the handheld units. If, during an update, a handheld unit loses contact with a wireless network, then the handheld unit goes into a “desperate mode,” in which it connects to the first wireless network that it can find, and requests the latest available version of the software.
  • In yet another embodiment of the invention, the system has a wireless network, handheld units communicatively linked to the wireless network, and a base station that is also communicatively linked to the wireless network. In this embodiment, each handheld unit has a display screen and a navigation control (e.g., navigation buttons). The base station transmits questions to the handheld unit, which are displayed on the display screen of the handheld unit. The user (an attendee of a class) can use the navigation control to scroll through the text of each question. Additionally, the navigation control is overloaded, so that the attendee can put the navigation control into a second mode, in which it can be used to jump from one question to another.
  • In yet another embodiment of the invention, the handheld unit can be used as a calculator. The user (the attendee or student) enters a calculation, which is then transmitted over a wireless network to the base station. The base station (e.g., a computer that is part of the base station) performs the calculation and sends the result back to the handheld unit. The handheld unit then displays the result on its display screen.
  • In still another embodiment of the invention, at least one of the handheld units can be used (e.g., by a teacher or other presenter) to perform administrative tasks, such as controlling the pace at which the base station transmits the questions or retrieving an attendee's PIN.
  • Another embodiment of the invention is a wireless response system for use in a class that has multiple attendees. The system includes a wireless network, handheld units communicatively linked to the wireless network, and a base station communicatively linked to the wireless network. The base station transmits multiple questions to the handheld units. Each of the handheld units has a display screen for displaying the questions, and a non-volatile memory. Each of the handheld units has an “owned” mode, in which information regarding one of the attendees (i.e., the attendee that “owns” the unit) is stored in the non-volatile memory. Furthermore, each of the handheld units has a “shared” mode, in which no person-specific information about any of the attendees is stored in the non-volatile memory.
  • In still another embodiment of the invention, each of the handheld units is capable of broadcasting an “alert” in response to a particular input made by the user. The alert is received by the base station, which then acknowledges the alert and contacts an emergency response system (e.g., via the internet or other public network). The base station can transmit information about the user to the emergency response system including location information. If GPS equipment is integrated with the base station or the handheld unit, the location information can be relatively precise. An operator at the emergency response system can transmit questions to the user, which show up on the handheld unit. These questions can include questions regarding the nature of the emergency. If the handheld unit is “owned,” then the base station can automatically retrieve information about the user from a database, and provide that information to the emergency response system.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates a wireless classroom response system according to an embodiment of the invention;
  • FIGS. 2 & 3 illustrate a handheld unit that may be used in an embodiment of the invention;
  • FIG. 4 illustrates another handheld unit that may be used in an embodiment of the invention.
  • FIG. 5 illustrates a classroom activity that is conducted in a teacher-paced, prompted mode;
  • FIG. 6. illustrates a classroom activity that is conducted in a teacher-paced, unprompted mode;
  • FIG. 7 illustrates a classroom activity that is conducted in a student-paced, prompted mode;
  • FIGS. 8 & 9 illustrate classroom activities that are conducted in student-paced, unprompted mode;
  • FIG. 10 illustrates how the handheld unit may function as a calculator in an embodiment of the invention;
  • FIG. 11 illustrates a software architecture used in an embodiment of the invention;
  • FIG. 12 illustrates the format of a network identification beacon payload according to an embodiment of the invention;
  • FIG. 13 illustrates the format of a datagram according to an embodiment of the invention; and
  • FIG. 14 illustrates the format of datagram segments according to an embodiment of the invention.
  • DETAILED DESCRIPTION OF THE INVENTION General Architecture
  • The architecture and operation of a wireless audience response system configured according to an embodiment of the invention will now be described. Referring to FIG. 1, the response system, generally labeled 10, includes a base station 11, a plurality of handheld units 16, and one or more wireless networks 24. The base station 11 includes a computer 12 and a one or more wireless access points (APs) 14. The computer 12 is communicatively linked to the AP 14 via universal serial bus (USB), while each AP 14 is communicatively linked to the handheld units 16 via a wireless network 24. The system 10 also includes a database 18 on which data representing questions and their corresponding answers are stored. The system 10 also includes a printer 20 communicatively linked to the computer 12, which allows an instructor or other speaker to print out results of tests or surveys taken by users of the handheld units 16, first through sixth application programs 22A-22F (generically referred to as application programs 22) executing on the computer 12, which dictate how the computer 12 administers the questions transmitted to the handheld units 16 and processes the answers received in response thereto, and a service program 26, which provides communication and routing services to the application programs 22 and the handheld units 16. Finally, the system 10 may be communicatively linked with one or more remote computers 28 via a public network 3 (e.g., the Internet). At least one of the remote computers 28 hosts a web site from which questions may be downloaded. Also, student and class data may be stored on the remote computer 28.
  • In this embodiment, each AP 14 is a Universal Serial Bus (USB) device that includes a microprocessor (e.g., an ARM processor) and an 802.15.4 chip set. The AP 14 carries out the functions of an 802.15.4 PAN Coordinator and also serves as the access point for devices to communicate with one of the wireless networks 24. The handheld units 16 include 802.15.4 chip sets and execute a handheld application program 17 that enables them to communicate wirelessly with the service program 26 on the computer 12 via an AP 14. By submitting requests via the service program 26, the handheld units 16 use services of the application programs 22 hosted on the computer 12 to obtain such things as academic content, data synchronization, real time response activities, etc. Possible embodiments of the handheld units 16 are shown in FIGS. 2, 3 & 4. For ease of reference, the embodiment depicted in FIG. 2 will be referred to as a Type I handheld unit while the embodiment depicted in FIGS. 3 & 4 will be referred to as a Type II handheld unit. In many of the examples contained herein, the Type I handheld unit will be also referred to by the moniker “Responder.”
  • Although any of a variety of communication protocols may be used in conjunction with the system 10, according to various embodiments, each wireless network 24 of the system 10 communicates using an open network protocol, such as the IEEE 802.15.4 standard. When implemented using the IEEE 802.15.4 standard, each wireless network 24 operates as a personal area network (PAN). When deployed in a school environment, each classroom may have its own wireless network 24, with its own PC 12 and one or more APs 14 communicatively linked thereto.
  • Referring again to FIG. 1, the computer 12 is connected to the APs 14 via a USB cable. The APs 14 act as wireless access points on the wireless networks 24. The application program 22 interacts with an operating system and service program 26 (both executing on the computer 12) to send and receive data over a communications link which, in this embodiment, is a USB interface, through an AP 14, and over a wireless network 24 which, in this embodiment, is an IEEE 802.15.4 compliant network. To communicate with the handheld units 16, the application program 22 defines a service handler application programming interface (API) 23. The application program 22 sends hypertext transport protocol (HTTP) messages via the port along with markup language documents to the handheld units 16. The handheld units 16 respond as specified in the markup language documents, and those responses are received via the service handler API 23.
  • The Handheld Unit
  • Referring to FIG. 2, an example of a Type I implementation of the handheld unit 16 will now be described. It is understood, however, that other configurations are possible. The handheld unit 16 is designed to be inexpensive, lightweight, rugged, and simple to use. It includes a microcontroller, flash memory, and a communications circuit. It executes software (in the form of firmware) that is depicted in FIG. 1 as the handheld application program 17. It has a graphical liquid crystal display 32 and twenty-five keys to support multiple response types. The keys include an ON/OFF key 34, a group 36 of numeric keys, a group 38 of multiple choice keys, a group 40 of positive/negative keys, a group 42 of navigation keys (including up and down arrow keys, and a SELECT key), an ENTER key 46, and a CLEAR key 47. The ON/OFF key 34 is configured so as to reduce the chance of accidental pressing (having, for example, raised ribs on the enclosure or being aligned just below flush with the enclosure). As shown in FIG. 2, the keys are grouped into functional areas. For example, the group 38 of multiple choice keys A thru E is commonly used when responding to multiple choice questions. The group 36 of numeric keys, 0 thru 9, is used when responding to a question requiring a numeric reply. Each group of keys has elements that indicate to the user that the keys are, in fact, part of the same group. Possible ways to accomplish this include, but are not limited to key style (shape, color, label text font/size/color, etc.) and separators in enclosure (altitude, channels, borders, etc.)
  • The operation of the handheld unit 16 according to an embodiment of the invention will now be described. The general usage pattern is as follows: the user receives a question, which is either displayed on the LCD screen 32, or provided some other way, such as verbally or written. The user presses one or more keys to formulate a response. In one embodiment, key action is invoked on key closure. The user then presses the ENTER key 46 to transmit the response wirelessly to the base station 11. The handheld unit 16 has a response queue acts as a holding area for responses. The content of this queue changes when keys are pressed and is displayed prominently on the LCD 32. However, the actual data stored in the queue and transmitted is not necessarily what the user sees on the LCD screen 32. For example, when LCD 32 displays “True,” a single data byte can be used to represent a positive response. This is done to minimize memory use and data packet size. The maximum response size is based on the size of the LCD screen 32, the font size, and/or the amount of memory available in the microcontroller of the handheld unit 16.
  • The functions of individual keys and groups of keys shown in FIG. 2 according to an embodiment of the invention will now be described. Pressing the ON/OFF key 34 with no other keys down toggles the device state (on or off). Pressing the CLEAR key 47 causes a response queue to be cleared. The response queue is also cleared when the handheld unit 16 is powered on.
  • When the ENTER key 46 is pressed, the contents of the response queue are transmitted via the wireless communication circuit. During transmission, the text “Sending” is displayed on the LCD screen 32 until the next question is received from the base station 11 (FIG. 1).
  • The multiple choice keys group 38 is used to enter single key responses. When one of the keys of this group is pressed, the handheld unit 16 replaces the contents of the response queue. The group 40 of positive/negative keys is similarly used to enter single key responses. As with the multiple choice keys, pressing one of the positive/negative keys causes the handheld unit 16 to replace the contents of the response queue. In addition to indicating an answer of “true” or “false,” the positive/negative keys are used for Yes/No responses. The handheld unit 16 also includes a “?” key 44, may be used as a “help” key.
  • The group 36 of numeric keys is used to enter multi key responses. Positive, negative, whole, and decimal numbers may be entered. If the response queue contains a multiple choice or a positive/negative response when a numeric key is pressed, an implied CLEAR is executed first. When a key of the numeric key group 36 is pressed, the associated value is added to the rightmost position of the response queue, unless the queue is full, in which case it is ignored.
  • The group 42 of navigation keys permits the user to navigate through a user interface that is displayed on the screen 32. For example, the user can use the navigation keys to scroll up or down and to highlight items that the user wishes to select (using the SELECT key). When the wireless response system is deployed in a classroom, the navigation keys allow the user to scroll through the text of the question that is currently being displayed on the screen 32, or to navigate to an entirely different question. In one embodiment, the handheld unit overloads the arrow keys. In this embodiment, the default behavior of the arrow keys is to scroll through the text of the question currently being displayed. If the user presses the “?” key 44, the function of the arrow keys changes, such that they permit the user to jump to the next or the previous question instead of scrolling text. Furthermore, if the user presses the SELECT key while the arrow keys are in this overloaded mode, a menu appears, prompting the user to enter the question number to which the user wishes to navigate. By responding to this prompt, the user can jump to any question. Pressing the “?” key 44 a second time causes the arrow keys to revert to their default behavior of scrolling text. Overloading the arrow keys in this manner allows for user-friendly navigation without increasing the number of keys on the handheld unit 16.
  • In an embodiment of the invention, the handheld unit 16 manages power as follows. The microprocessor sleeps as much as possible (between keypresses) to maximize device runtime. Furthermore, the handheld unit 16 automatically powers off after 30 minutes of inactivity, regardless of key states. A continuously held-down key does not constitute activity. If one or more keys are held down accidentally by something sitting on the device or during storage or transport, the handheld unit 16 powers itself off when the timeout interval expires, and does not power on again until all keys are released and only the ON/OFF key 34 is pressed.
  • Owned and Shared Device Modes
  • According to an embodiment of the invention, the wireless response system permits each handheld unit 16 (FIG. 1) to be designated either as “shared”—used by multiple people—or as “owned”—used by only one person. When a handheld unit 16 is in shared mode, no user information is stored on it. Once the unit is powered off by one user, another user can power it on and use it without any repercussions. In contrast, when a handheld unit 16 is in owned mode, it stores ownership information such as the user's name and the PIN selected by the user, in its memory. It also stores user data such as homework and notes. A handheld unit 16 that is in owned mode may also use a virtual “key chain” having one or more “keys.” The virtual key chain (or simply “key chain”) stores authentication information for a particular user. Each “key” may be used to authenticate the user (and the handheld unit 16) to a wireless network 24 and/or to one of the application programs 22. The virtual key chain is stored in a memory of the handheld unit 16. The purpose of the virtual key chain is to simplify connection of the handheld unit 16 to the wireless networks 24 and/or to the application programs 22 by automatically supplying credentials without the need for user intervention.
  • Response Modes
  • According to an embodiment of the invention, there are two basic modes in which audience members can respond to a presenter using the handheld units 16: prompted and unprompted. In a prompted response mode, a question is displayed on the handheld units 16, and the audience members answer the displayed question. In an unprompted response mode, the question is not presented on the handheld units 16, but by some other method, such as a presenter reading it aloud or an audience member reading it on a handout. In an unprompted mode, the audience member still answers the question using the handheld unit 16.
  • Types of Activities
  • In an embodiment of the invention, individuals use the handheld units 16 (FIG. 1) in the context of what will be referred to herein as “activities.” An “activity” is made up of one or more discrete tasks referred to as “actions.” An activity can be a single action or a complex sequence of actions. For example, an activity can be something as simple as displaying a message to one of the handheld units 16, or an activity can be something more sophisticated such as requesting a response to a multiple-choice question. An activity can have a static design, such as a quiz that includes 10 actions, each action being a question, each action being performed sequentially. Other activities may use dynamic, adaptive branching that relies on the logic of the application program 22 to inspect each response to a question and determine what the next action should be. Some activities are classified as “live.” That is, they are intended to be conducted while the handheld units 16 are communicatively linked to the computer 12.
  • The application programs 22 carry out some activities that are paced by the presenter and some activities that are paced by the audience members. Since many of the examples described herein are set in the context of a classroom environment, these two types of activities will be referred to herein as “teacher-paced” and “student-paced.” It is understood, of course, that the invention is not limited to classroom use. A teacher-paced activity is one in which the class participates as a whole, and where each student responds to questions generated by an application program 22. In a teacher-paced activity, the teacher controls the pace at which questions are transmitted to the handheld units 16. For example, the students may be shown only one question at a time on their handheld units 16, and the question is shown only when specified by the teacher. Students then answer only when the teacher allows the responses to be collected. If a student fails to keep pace with the class, then the application program 22 can speed the student ahead to the current action in the activity, the next time the fallen-behind student responds in any way using his handheld unit 16. A student-paced activity is one in which each student views questions and responds at his own speed. Students can be given individual student-paced activities, or the entire class may be given the same student-paced activity. The student-paced activity may be configured so that overloading of the navigation keys (discussed above) is enabled, thereby giving students the ability to navigate back and forward through questions.
  • Teacher-Paced, Prompted Activity
  • An example of a teacher-paced, prompted activity will now be described with reference to FIGS. 1 and 5. First, the application program 22 transmits a mark-up language document to the plurality of handheld units 16. The mark-up language document includes instructions for presenting a sequence 60 of questions on the handheld units 16 (for a pop quiz). Each handheld unit 16 then interprets the instructions contained in the mark-up language document and, accordingly, displays the first question 52 in the sequence. Each student has the opportunity to respond to the first question 52 by making the appropriate input to the student's handheld unit 16. When the teacher makes the appropriate input to the computer 12, the application program 22 transmits a message to the handheld units 16, that causes the handheld units to permit the students to advance to the second question 54 in the sequence 60. Note that the display containing the second question 54 includes a scroll bar 55. This process continues, with the third and fourth questions 56 and 58 being enabled in succession until the teacher ends the quiz by making the appropriate input to the computer 12.
  • Alternatively, one of the handheld units 16 may be placed into a “remote control” mode to allow the teacher to use that handheld unit 16 initiate a session and control the pacing of the questions via the keypad of the handheld unit 16 and one of the wireless networks 24. This remote control mode allows the teacher to leave her desk and visit with the students. In the context of a presentation, the presenter can put a handheld unit 16 into remote control mode and move about the audience while controlling a live activity. The presenter can pace the session, view the questions that the participants are asking, chose a question template to transmit to the audience handheld units for ad hoc Q&A sessions, etc.
  • Teacher-Paced, Unprompted Activity
  • FIG. 6 illustrates the sequence of displays shown on each handheld unit 16 for a quiz that is given in a teacher-paced, unprompted mode. The sequence of actions is similar to that described in conjunction with FIG. 6, except that the mark-up language document transmitted by the application program 22 to the handheld units 16 (FIG. 1) does not include questions but rather includes one or more answer templates, such as a True/False template 72, multiple choice template 74 and a numeric template 76. The handheld units 16 display the answer templates on their respective LCD screens 32. Furthermore, instead of the questions being presented on the LCD screen 32 of each of the handheld units 16, the teacher reads the questions aloud to the students.
  • Student-Paced, Prompted Activity
  • According to an embodiment of the invention, the response system 10 (FIG. 1) can also be used to allow the teacher to distribute homework assignments, and to allow the students to complete and turn in the homework assignments. In such an embodiment, the application program 22 transmits one or more mark-up language documents representing a homework assignment to the handheld units 16. Outside of class, the students individually complete the homework assignment by making the appropriate inputs into their respective handheld units. FIG. 7 illustrates the sequence of displays shown on a handheld unit for an example homework assignment in a student-paced, prompted mode. The student selects “homework” from a first menu 78, then selects “Friday Quiz” from a second menu 80. In response, the handheld unit 16 displays a sequence 82 of questions (i.e., in a “prompted” mode) that the student must answer. During the next classroom session, the student makes the appropriate inputs to the handheld unit 16 to cause it to transmit her answers to the application program 22, thereby “turning in” the completed homework assignment.
  • Student-Paced, Unprompted Activity
  • The sequence of displays for another example homework assignment is shown in FIG. 8. In this example, the teacher gives handouts containing the questions to the students, and the mark-up language document that the handheld units 16 receive from the application program 22 only contains answer templates. Otherwise, the procedure for completing and turning in the homework assignment is the same as described in conjunction with FIG. 7.
  • Yet another sequence of displays for a homework assignment is shown in FIG. 9. In this example, however, the teacher gives handouts containing the questions to the students. Furthermore, the application program 22 does not transmit a mark-up language document to the handheld units 16 for answering the questions, but the students instead use a generic answer form 102 that is pre-stored in the handheld units 16. Otherwise, the procedure for answering the questions and turning in the answers is the same as described in conjunction with FIGS. 7 and 8.
  • Calculator Function
  • According to an embodiment of the invention, the handheld unit 16 is also able to function as a calculator. FIG. 10 illustrates how this functionality appears on the LCD screen 32. Many of the calculations themselves are not performed by the handheld unit 16, however. Instead they are performed by the computer 12. Thus, when a user enters an expression using the keypad of the handheld unit 16, the expression is transmitted via one of the wireless networks 24 to the computer 12. Complex operations such as floating-point math are performed by a computation engine executing as part of the service program 26. The computer 12 then transmits the results of the operation back to the handheld unit 16 for display to the user. This off-loading feature enables the handheld unit 16 to be low-cost in terms of the memory it requires and in terms of how powerful of a microprocessor is required. The teacher may, by making the appropriate input to the computer 12 (FIG. 1), cause the application program 22 to send commands to the handheld units 16 that will disable the calculator function.
  • The Service Program
  • Referring to FIG. 11, with appropriate reference to FIG. 1, a more specific embodiment of the software that executes on the computer 12 will now be described. The software includes an operating system 40 and the service program 26. The service program 26 includes an uplink program 42, a ground control program 44, and a translation program 46. The computer 12 also hosts first, second, and third application programs 22A, 22B, and 22C. Each of the application programs calls or can be called by the translation program 46 or the ground control program 44 via an application programming interface (API). A first API 23A facilitates interaction between the translation program 46 and the first application program 22A, a second API 23B facilitates interaction between the ground control program 44 and the second application program 22B, and a third API 23C facilitates communication between the ground control program 44 and the third application program 22C. The application programs 22A-22C send and receive data to and from the handheld units 16 via the ground control program 44. In one embodiment, the first application program 22A provides services to Type I handheld devices. The Type I handheld devices communicate using a compact markup language referred to herein the Saturn Datagram Markup Language (SDML), which the translation program 46 translates into Extensible Markup Language (XML) to provide to the first application program 22A. Similarly, XML documents that the first application program 22A sends to the Type I handheld units are passed to the translation program 46, which converts them into SDML documents, which are then transmitted to the handheld units 16. The second application program 22B provides services to Type II handheld units, which communicate in XML. Thus, communication between the second application program 22B and the Type II handheld units does not need to be processed by the translation program 46.
  • Referring still to FIG. 11, the uplink program 42 is responsible for handling the initial USB connection and low-level communication to the AP 14. The ground control program 44 provides a communications gateway between the handheld units 16 and the application programs. The ground control program 44 also provides a USB interface to the AP 14, upper layer management services for the 801.15.4 media access control (MAC), datagram fragmentation and assembly services, and device management services. In providing device management services, the ground control program 44 executes utilities to configure and manage the handheld units 16 via a user interface (such as a Windows® or Macintosh® user interface).
  • The Ground Control Manager
  • Referring still to FIG. 11, the computer 12 executes a ground control manager program 48 that is separate from the ground control program 44. The ground control manager program 48 is a utility that is used to configure the AP 14, assign device ownership, inspect connected devices, and perform other management tasks. The application programs 22, working with the ground control program 44 via the appropriate API can also implement many of the management tasks normally performed by the ground control manager program 48.
  • Firmware Update
  • One function that the ground control manager program 48 performs is wireless updates to the firmware executing on the handheld units 16. Each handheld unit 16 can be updated independently. A system administrator may, for example, order a firmware update on CD-ROM or download it from the internet, and install the update on the computer 12. The ground control manager program 48 reports the available update or updates to the handheld units 16 via a wireless network 24 (FIG. 1). The handheld application program 17 on each handheld unit 16 prompts the user to select which updates should be installed. To prevent inadvertent updates, the handheld unit 16 may also require administrator authentication proceed with the update. The handheld unit 16 that is being updated loads a small, self-contained program, referred to as the “bootloader,” and makes it permanently resident in memory. The bootloader manages the process of requesting and receiving the new firmware and storing it in the flash memory of the handheld unit 16. The bootloader is preferably as small as possible, in order to preserve limited memory in the handheld unit 16. Thus, the bootloader contains a minimal user interface and does not have a full communications stack. Information regarding the network connection and the selected firmware update is passed from the handheld application program 17 to the bootloader via a shared non-volatile memory space. If the handheld unit 16 looses power or looses communication with a wireless network 24 during an update, it puts itself into what will be referred to as “desparate mode,” in which it scans for and automatically connects to the first wireless network 24 that it finds. The ground control manager program 48 responds by transmitting, to the handheld unit 16, the latest version of the handheld application program 17 that it has, thereby allowing the handheld unit 16 to return to its normal operating state.
  • Floating Administration
  • In addition to updating the firmware of the handheld units 16, the ground control manager program 48 can perform the functions of recovering a lost PIN for a handheld unit 16 and resetting its ownership to shared mode. In one embodiment, any administrator or authorized person (not just the one that issued the handheld unit 16 to the user) can initiate these functions from the handheld unit 16. For example, if a user forgets his PIN, he does not need to worry about going back to the administrator that assigned the handheld to him, but may seek out any authorized person responsible for the administration of any wireless network 24 for support. The authorized person requests, via the ground control manager program 48, the recovery of the user's PIN. The administrator enters an administrative PIN (which may be a PIN that is known to all of the wireless networks 24) via the keypad to complete the recovery.
  • Network Discovery
  • In an embodiment of the invention, the handheld units 16 (FIG. 1) connect to the wireless networks 24 (which are personal area networks in this embodiment) using the IEEE 802.15.4 Low-Rate Wireless Personal Area Network standard. The application programs 22 running on the computer 12 connect to one or more of the wireless networks 24 via TCP/IP sockets. The ground control program 44 (FIG. 11), the USB, and the AP 14 bridge the communications between application programs 12 and the handheld units 16. As part of the network discovery process, the handheld units 16 locate the wireless networks using an 802.15.4 active scan. An active scan locates 802.15.4 PAN coordinators by stepping through logical channels in the 802.15.4 airspace (starting from the lowest channel and working up to the highest channel), and issuing a beacon request. In some embodiments, the handheld unit 16 issues multiple beacon requests. This helps to compensate for losses of beacon responses due to collisions that may occur in high-traffic situations (particularly on non-beacon networks). Each PAN coordinator (e.g., each AP 14) in the wireless networks 24 that receives the request (or requests), responds to the request with a 802.15.4 beacon frame. Within this frame is the beacon payload carrying the Network Identifier Block, which will be discussed below in further detail.
  • In one embodiment of the invention, each of the handheld units 16 performs its active scan by randomly choosing the channel on which to begin the scan (instead of starting with the lowest channel). Furthermore, instead of stepping through the channels in sequence, each handheld unit 16 scans the channels in random order. This scheme reduces the chances of any particular channel being overloaded during the discovery process.
  • Once a handheld unit 16 is connected to one of the wireless networks 24, the application programs 22 can interact with it. Furthermore, the very act of connecting to the wireless network 24 enables the service program to include the handheld unit 16 as part of an inventory of the handheld units 16. The service program 26 can also use the fact of the handheld units 16 connecting to a wireless network 24 as representing the attendance of the user of the device. Thus, for example, if John Smith is the “owner” of a handheld unit 16, and his handheld unit 16 connects to a wireless network 24, then the service program 26 lists John Smith as being present. This list is displayed to an administrator on a user interface on the computer 12.
  • Network Identifier Block
  • The Network Identifier Block that each PAN coordinator transmits to the handheld units 16 in response to a beacon request contains information about the PAN to which the PAN coordinator belongs. The format of the Network Identifier Block in an embodiment of the invention is show in Table 1 below.
    TABLE 1
    Field Size Description
    SATURN
     6 bytes Fixed field header identifying the beacon
    originated from one of the wireless networks.
    Value is an unterminated ASCII string equal to
    the value “SATURN”.
    Version  1 byte Version: Identifies the version of the Network
    Identifier block. Version is two 4 bit BCDs of
    the form Major.Minor Current version is 0x01
    Flags  1 byte MAC OUI Filtering Enable: Bit 0. If set, the
    AP 14 will only accept device associations for
    those whose MAC OUI is equal to its own.
    Server Security Use: Bit 1. If set, the sever is
    using security. Note that Frame Control Field
    Security bits may not be set even though this
    bit is set. This situation occurs when simple
    atgencrypt security is used by the server. In this
    situation, only data requests have security and
    will have their Frame Control Security bits set.
    Associated  2 bytes Associated Devices Count: The number of
    Devices active devices associated to the AP 14.
    Network Name 24 bytes Network Name: Name assigned to the wireless
    network. Format is a null terminated ASCII
    string if length is less than 24 bytes. If name is
    24 bytes, no termination is used.
    Master PAN ID  2 bytes Master PAN ID: The ID of the PAN master for
    each individual PAN that is hosted by the
    computer 12. Multiple PANs exist for
    computers that have more than one AP 14
    connected to its USB port.
    Master PAN  1 byte Master PAN Channel: The channel number of
    Channel the PAN master. This value along with the
    Master PAN ID are used to match PANs
    belonging to a server.
     1 byte Reserved
    Server
     2 bytes Server Version: The major.minor version of the
    Version service program 26 in BCD. Example:
    01.12 = 0x0112
    Checksum
     1 byte Checksum: A checksum computed over the
    block to provide a second level of identification
    of wireless networks. An 8-bit checksum. It is
    calculated by adding the block bytes together.
    On receipt of the beacon payload, the handheld
    unit
    16 performs the same checksum
    calculation and on a mismatch, deems
    the beacon (e.g., the AP 14) as not
    belonging to a valid wireless
    network.
  • The Network Name field is intended for use by each handheld unit 16 to help determine whether or not to associate to the wireless network 24. This name is set by the owner/administrator of that wireless network. When the system 10 is deployed in a classroom environment, the administrator/owner may be the instructor. The string can be displayed to the user along with other wireless networks that were found in the active scan, thereby allowing the user to make the choice of which wireless network 24 to join. The handheld application program 17 connects to the wireless network via the ground control program 44 (hosted on the computer 12). The ground control program 44 provides a TCP/IP port for connection. The identifier for the AP 14 is simply the localhost or IP address of the computer 12 along with the TCP port number. In one embodiment, the AP 14 port number will be selected at random from the Internet Assigned Numbers Authority (IANA) dynamic and private port range of 49152 to 65535.
  • Reconnecting to a Previously Available Network
  • Each time a handheld unit 16 (FIG. 1) establishes a connection to a wireless network 24 (in an embodiment of the invention), the handheld unit 16 stores the information about that network (which will be referred to as the “last good network”) in its non-volatile memory, including the name of the network (obtained from the Network Identifier Block of the beacon response). When the handheld unit 16 is powered on, it does not attempt to connect to a wireless network 24 until the user does something that actually requires a network connection. When the user does do something that requires a connection (such as joining a classroom session), the handheld unit 16 retrieves the last good network information from its non-volatile memory and checks for the presence of that network. If that network is present, the handheld application program 17 (FIG. 1) displays a visual prompt that asks the user whether the user would like to stay connected to that network. The prompt includes the name of the network. If the last good network is not detected as present, or if the user chooses “no,” then the handheld unit 16 performs a full network scan. This “lazy” reconnection scheme reduces the number of times that the handheld unit 16 performs active scans and thus helps to extend the life of the handheld unit's batteries. Furthermore, by displaying the network name to the user when prompting for a reconnect, the handheld unit 16 helps to prevent connection to the wrong wireless network 24.
  • Load Balancing Among Access Points
  • When a handheld unit 16 (FIG. 1) connects to one of the wireless networks 24, it broadcasts a beacon request, and receives responses, in the form of beacon frames, from one or more APs 14. In an embodiment of the invention, the handheld unit 16 uses the contents of the “Associated Devices” field of the Network Identifier Block in each of the beacon frames to identify which of the access points has the fewest number of handheld units 16 already associated with it. The handheld unit 16 then connects to that access point (AP 14). This ensures proper load balancing among the access points of each network. Another way in which the system 10 performs load balancing is as follows. Each time a handheld unit 16 requests data from the computer 12 (or from one of the application programs 22 executing thereon), the ground control manager program 48 determines whether there are any other available APs 14 that have fewer devices associated with them than the AP 14 to which the handheld unit 16 is currently associated. If there are, then the ground control manager program 48 directs the handheld unit 16 to reconnect to the AP 14 that has the fewest number of devices associated with it.
  • Health Check and Network Recovery
  • According to an embodiment of the invention, the system 10 (FIG. 1) provides for two-way health monitoring between the computer 12 and each of the APs 14. Specifically, the service program 26 (FIG. 1) periodically performs a “health check” on each of the APs 14. The service program 26 does this by checking in with each of the APs 14 at predetermined intervals. Likewise, each of the APs 14 periodically checks in with the service program 26 at predetermined intervals. If an AP 14 fails to check in with the service program 26 after a maximum-acceptable number of intervals, the service program 26 attempts to restart that AP 14 (and, hence, the wireless network 24 that is being coordinated by that AP 14). If the AP 14 still fails to check in after the service program 26 makes a maximum-acceptable number of restart attempts, then the service program 26 designates the AP 14 as stalled, and gives the system administrator feedback on the computer 12 via a server log and a server utility user interface. From the point of view of the AP 14, a similar flow of logic occurs. If the AP 14 does not receive a check-in from the service program 26 after a maximum-acceptable number of intervals, the AP 14 reboots itself into a standby mode. In the standby mode, the wireless network 24 for which the AP 14 is the PAN coordinator is stopped, and no requests from the handheld units 16 on that network are processed. The frequency of health checks made by both the service program 26 and the AP 14, as well as the maximum-acceptable number of missed health checks and restart attempts are system-configurable.
  • The previously-described health check mechanism is sufficiently flexible to detect major problems, while still being able to recover from temporary losses of connectivity with the APs 14. For example, if a USB cable connecting the AP 14 and the computer 12 comes loose or is inadvertently disconnected for a short period of time, only a few health checks will be missed (by the service program 26 and the AP 14). If the cable is reconnected before the maximum-acceptable number of health checks are missed, then the service program 26 restarts the AP 14 using its previous network settings, and traffic between the AP 14 and the handheld units 16 resumes without any need for the users to manually reconnect or to perform any other initial setup.
  • Structure of the Saturn Protocol Datagram
  • In an embodiment of the invention, data transmitted between the handheld units 16 and the base station 11 is carried in 802.15.4 data frames using a delivery construct that will be referred to herein as Saturn Protocol (SP) datagrams. SP datagrams use a segment format similar to the TCP/IP segment format and have the structure depicted in FIG. 13. The content of the various fields of an SP datagram is described below in Table 2.
    TABLE 2
    Field Size Description
    Version
     4 bits Version: Identifies the version of the Saturn
    Protocol used to generate the datagram.
    HL  4 bits Header Length: Length of the header in bytes.
    Value for version 0x1 header is 0x8.
    Service Port  1 byte Service Port: Identifies the service port for the
    message. Services are provided on the host via
    handlers.
    Values 0x00-0x3f are reserved.
    1 (0x01) = Ground Control
    2 (0x02) = Ground Control Manager
    3 (0x03) = Firmware Manager
    4 (0x04) = Server Manager
    5 (0x05) = Owner Assignment Manager
    Application service assignments:
    64 (0x40) = Responder
    65 (0x41) = Type II device
    66 (0x42) = Print Server
    Flags
     1 byte Segment Flags:
    FIN (0x01) no more data. Indicates the final
    closure signal for the datagram transfer of
    bytes.
    SYN (0x02) synchronize sequence number.
    Indicates the initial synchronizing message.
    ACKR (0x04) acknowledgment requested.
    Indicates the sender is requesting
    acknowledgement.
    ACK (0x10) acknowledgment. Indicates
    acknowledgement of the number of bytes
    specified in the sequence number.
    NASS (0x20) not associated. If set by the PAN
    coordinator, the sending device is not
    associated and thus the datagram is rejected.
    Checksum  1 byte Checksum: Checksum of the header bytes.
    Datagram ID  1 byte Datagram Identifier: Identifies the datagram
    the segment belongs to.
    Sequence 24 bits Sequence Number: Specifies the current byte
    Number sequence being sent. For a SYN segment, this
    number provides the starting point for
    sequencing the bytes to be delivered. For
    transfers larger than 2{circumflex over ( )}24 bytes, the sequence
    number is wrapped back around as needed.
    Data Variable Data: The datagram data.
  • The Datagram ID field is used to identify datagram segments during a transaction using 802.15.4 data request and data indication communication protocols. Datagram IDs are simple 8 bit IDs that are incremented each time a new transaction is started by the sender.
  • The Sequence Number field is used to determine the portion of the data payload the segment carries. The arrival of the datagram segment with the FIN bit equal to 1 indicates that the final segment. Reception of the FIN segment does not mean the datagram assembly is complete as it is possible previous segments may have been lost and are in the process of being resent. Determining that a datagram is completed is based on examining the sequence for missing segments.
  • The ground control program 44 automatically assembles data into segments for application programs (such as the first, second, and third application programs 22A, 22B, and 22C) that use its services. The handheld devices 16, however, provide their own services for segmentation of data.
  • In an embodiment of the invention, SP datagram segments are limited in size by the Maximum Transmission Units (MTU) of the 802.15.4 MAC data frame. Depending on the security suite in use for the 802.15.4 network, this MTU can be reduced due to overhead of encryption and freshness implementations. In an unsecured network, the MTU is 102 bytes. To construct a segment, a template header with the Version, Header Length, Service Port, and Datagram ID fields is created and then used to send each segment of the data in an 802.15.4 data frame. The SYN flag is set for the first segment. The FIN flag is set for the last segment. The Sequence Number for the first segment should start at 0. Remaining segments have their Sequence Number set based on the byte sequence they carry.
  • Referring to FIG. 14, an example of an SP datagram is shown. In this example, it is assumed that 200 bytes of data are being sent, and that the datagram is number 45 in sequence. This package requires a total of three 802.15.4 MAC data frames (102 byte MTU) to send the entire message. When segments arrive at the computer 12, they are matched up according to the sender's 802.15.4 address from the MAC data frame, and the Service Port and Datagram ID field values in the SP datagram header.
  • High Level Communication Between the Base State and Handheld Units
  • In accordance with an embodiment of the invention, the handheld units 16 (FIG. 1) communicate with the computer 12 of the base station 11 using a compact protocol. One implementation of the compact protocol will be referred to herein as Saturn Device Transport Protocol (SDTP). The handheld units 16 and the computer 12 also communicate using a compact mark-up language format. One implementation of the compact protocol will be referred to herein as the Saturn Device Mark-up Language (SDML). Messages sent between the handheld units 16 and the computer 12 are in the form of requests for services (from the handheld unit 16 to the computer 12) and responses (from the computer 12 to the handheld unit 16). Referring to FIG. 11, it is the ground control program 44 that processes such requests from handheld units.
  • Obtaining Services from the Application Programs
  • Referring again to FIG. 11, each application program 22 may “register” with the ground control program 44 to provide one or more services. Such registered application programs are also referred to herein as “service handlers.” For an application program to act as a service handler, it expresses an API for receiving data from the handheld units 16, and an API for receiving data from handheld units 16. Both APIs are represented by the APIs 23 in FIGS. 1 and 11. Each SP datagram includes a “Service” field that is used to determine the application program (service handler) that will handle processing the data payload. Example entries for this field are “Responder” to identify the application program that processes requests from Type I handheld units, “Type II” to identify the application program that processes requests from Type II handheld units and “Print Server” to identify the application that processes print request.
  • When SP datagrams from a handheld unit 16 are constructed and sent over the one of the wireless networks (FIG. 1), datagram segments arrive at the ground control program 44 (FIG. 11), which assembles them. After assembly of the datagram segments, the ground control program 44 extracts the payload along with the source address of the handheld unit 16 that sent the datagram. This address and the data payload are then “routed” (via the appropriate socket) to the application program 22 that has previously registered (via a service port provided by the ground control program 44) with the ground control program 44 to handle that particular type of request. The application program 22 then processes the request. In most cases, the processing results in the execution of business logic and the return of a response to the handheld unit 16 that initiated the communication. If no application program 22 has registered with the ground control program 44 for a particular service, the datagrams requesting that service are ignored. Depending on the service, an error response may be returned to the handheld unit 16. If an application program 22 does respond, the response is put into a datagram payload by the ground control program 44 and fragmented as needed before being routed to the handheld unit 16 for which it is intended.
  • As shown in FIGS. 1 and 11, there can be several application programs 22 running at any time. For example, the application program 22A could register with ground control program 44 to handle requests for Type I handheld units, and the application program 22B could register to handle requests for Type II handheld units. Future services can also be accommodated in the ground control program 44 by simply requesting a service assignment ID from one of the remote computers 28 (FIG. 1).
  • To request services from one or more application programs according to an embodiment of the invention, a handheld unit 16 forms and transmits a “service request” to the computer 12. A service request is formed using Hypertext Transport Protocol (HTTP) POST message. When the computer 12 receives a datagram from a handheld unit 16, the ground control program 44 identifies which application program has registered to handle the datagram, and then calls a “ReceiveData” service of that application program. If an application program wishes to send data to a handheld unit 16, the application program calls a “SendData” service of the ground control program 44.
  • In an embodiment of the invention, the ground control program 44 itself offers certain services to the application programs 22. These services are available through a service port defined by the ground control program 44, and allow the application programs to get and set information for the handheld units 16, configure the APs 14, and connect/disconnect to the handheld units 16.
  • Student Alert System
  • As discussed previously, when the system 10 (FIG. 1) is deployed in a classroom environment, the handheld units 16 are operated by attendees of the class, such as students. In one embodiment of the invention, the service program 26 and the handheld application program 17 include software for implementing a student alert system, in which a student or other attendee can, in an emergency, use his or her handheld unit 16 to broadcast an alert. To trigger the alert, the student presses and holds down a particular key on the handheld unit 16 (the selection of the key and the amount of time required for the keypress to trigger the alert are configurable). Upon detecting the alert input by the student, the handheld application program 17 causes the handheld unit 16 to broadcast an 802.15.4 orphan notification command along with a reserved extended address. For example, if the handheld unit 16 normally has a 16 bit address, its orphan notification command includes the 16 bit address plus an addition 4 bit extension. Upon receiving the orphan notification with the extended address (the “alert”) from the handheld unit 16, the service program 26 assumes that the handheld unit 16 is in alert mode. The service program 26 then ignores all data traffic that it receives from all other handheld units 16 or application programs 22, so as to devote all of the resources of the computer 12 to servicing the alert. The service program 26 responds to the handheld unit 16 (using the extended address as the destination address) to confirm that the alert has been received. The response of the service program 26 is identified as such in the “service port” field of the SP datagram header (see, e.g., FIG. 13). The response may include anything from a simple message that help is on the way to a series of questions relating to the nature of the student's emergency. Upon receiving the alert, the service program 26 also issues an alert message to an Emergency Response System (ERS) 21 via the public network 3 and one of the remote computers 28. The communication between the computer 12 and the remote computer 28 in this context occurs through a web services connection, which exposes a web services application programming interface (API). Accordingly, any ERS operator having software that can access the web services API can respond to the student (via the public network 3, the base station 11, one of the wireless networks 24 and the handheld unit 16). The operator can then inquire about the student's location, the nature of the alert, etc. Communication between the ERS operator and the student may occur using the same format described above for classroom quizzes—by exchanging mark-up language documents and by using HTTP GET and POST commands. For example, upon receiving an alert, the ERS operator could post a question, and the user could respond with yes, no, a, b, c, d, e, or by using numeric keys.
  • According to one embodiment, the service program 26 also determines whether the handheld unit 16 that is broadcasting the alert is “owned,” such as by referring to the ownership information in the database 18. If the handheld unit 16 is owned, the service program 26 obtains ownership information from the database 18 and transmits information about the owner, such as his or her name, to the ERS operator. Furthermore, the service program 26 may also transmit information regarding the location of the base station 11 to the ERS operator. Such information is configurable by the system administrator of the computer 12, and is stored in the database 18. For example, the information may include the room in which the base station 11 is located, such as “Science Lab, Room 102,” ”3rd Floor Room 310,” or “Fitness Room.” In some embodiments, the base station 11 includes Global Positioning System (GPS) equipment. In such a case, the service program 26 can use data from the GPS equipment to transmit precise location data to the ERS operator. In other embodiments, the handheld unit 16 includes GPS equipment, in which case it can use the GPS data to transmit its location to the service program 26, which then relays that location information to the ERS operator.
  • CONCLUSION
  • It can be seen from the foregoing that a new and useful wireless classroom response system has been described. It should be noted that the use of the terms “a” and “an” and “the” and similar referents in the context of describing the invention (especially in the context of the following claims) are to be construed to cover both the singular and the plural, unless otherwise indicated herein or clearly contradicted by context. It should also be noted that recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein, and each separate value is incorporated into the specification as if it were individually recited herein.
  • All methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The use of any and all examples, or exemplary language (e.g., “such as”) provided herein, is intended merely to better illuminate the invention and does not pose a limitation on the scope of the invention unless otherwise claimed. No language in the specification should be construed as indicating any non-claimed element as essential to the practice of the invention. Preferred embodiments of this invention are described herein, including the best mode known to the inventors for carrying out the invention. It should be understood that the illustrated embodiments are exemplary only, and should not be taken as limiting the scope of the invention.

Claims (22)

1. A wireless response system for use in a class, the system comprising:
a wireless network located proximate to a room in which the class is being conducted;
a base station that coordinates the activities of the wireless network;
a plurality of handheld units, each of the plurality of handheld units being associated with an attendee of the class, a handheld unit of the plurality of handheld units performing steps comprising:
randomly choosing a wireless channel;
attempting to discover the presence of the wireless network on the randomly chosen wireless channel; and
repeating the choosing and attempting steps if the attempting step fails.
2. The system of claim 1, wherein the handheld unit of the plurality attempts to discover the presence of the wireless network by performing steps comprising making a plurality of requests for a beacon frame from the wireless network.
3. The system of claim 2, wherein the base station performs steps comprising receiving at least one of the requests and, in response to the received request, transmitting a beacon frame that includes the identity of the wireless network.
4. The system of claim 1, the wireless network being one of a plurality of wireless networks, wherein another of the plurality of handheld units performs steps comprising:
powering on;
remaining unconnected to the wireless network;
detecting that its associated class attendee has performed an action that requires the it to connect to a wireless network of the plurality;
retrieving the identity of the last wireless network of the plurality of wireless networks to which the it was previously connected;
asking its associated attendee whether the attendee wishes to reconnect to the identified last wireless network;
receiving an affirmative response from its associated attendee; and
based on the receiving step, connecting to the identified last wireless network.
5. The system of claim 1, wherein the base station performs steps comprising identifying which wireless channel has the least amount of wireless network traffic and directing the handheld unit to connect to the wireless network using the identified wireless channel
6. The system of claim 1, wherein the base station comprises a computer and a wireless access point communicatively linked to the computer, the computer performing steps comprising:
determining whether health check messages have been received from the wireless access point;
if, based on the determining step, a predetermined number of health check messages have not been received, restarting the wireless access point; and
and wherein the wireless access point performs steps comprising:
determining whether health check messages have been received from the computer;
if, based on the determining step, a predetermined number of health check messages have not been received, rebooting itself.
7. The system of claim 1, wherein the wireless network is one of a plurality of wireless networks, wherein the handheld unit of the plurality of handheld units performs further steps comprising:
requesting a software update from the wireless network;
during the requested update, being interrupted, such that the update does not get completed;
connecting to the first available network of the plurality of wireless networks; and
requesting the software update from the first available wireless network.
8. The system of claim 1, the base station performing steps comprising:
identifying which of the plurality of handheld units has successfully discovered the wireless network; and
displaying a list of the identified handheld units to a system administrator.
9. The system of claim 1, wherein the base station performs steps comprising:
identifying which of the plurality of handheld units has successfully discovered the wireless network;
determining which attendee is associated with the identified handheld units; and
displaying a list of the attendees associated with the identified handheld units to a system administrator.
10. A wireless response system for use in a class, the system comprising:
a wireless network;
a plurality of handheld units communicatively linked to the wireless network;
a base station communicatively linked to the wireless network, the base station performing steps comprising transmitting a plurality of questions to the plurality of handheld units;
each of the plurality of handheld units comprising:
a display screen for displaying the plurality of questions, and
a navigation control, the navigation control having a first mode, in which it permits an attendee of the class to scroll through the text of a question of the plurality, and a second mode, in which it permits an attendee of the class to jump from one of the plurality of questions to another of the plurality of questions.
11. The system of claim 10, the navigation control comprising a button.
12. The system of claim 10, wherein a handheld unit of the plurality performs steps comprising:
receiving the entry of a numerical operation that is to be performed;
transmitting data relating to the numerical operation to the base station;
receiving the result of the operation from the base station;
and wherein the base station performs steps comprising:
receiving the numerical operation data;
computing the result of the numerical operation, and
transmitting the result to the handheld unit.
13. The system of claim 10, wherein a handheld unit of the plurality performs steps comprising:
controlling the pace at which the base station transmits the plurality of questions.
14. The system of claim 10, wherein a handheld unit of the plurality performs steps comprising:
receiving, from the base station, data representing the answers to the plurality of questions that the base station that were received from the rest of the plurality of handheld units.
15. The system of claim 10, wherein a handheld unit of the plurality performs steps comprising:
receiving an input from a system administrator representing a request to recover a personal identification number of the handheld unit;
transmitting a message representing the request to the base station; and
receiving the recovered personal identification number.
16. A wireless response system for use in a class, the class having a plurality of attendees, the system comprising:
a wireless network;
a plurality of handheld units communicatively linked to the wireless network;
a base station communicatively linked to the wireless network, the base station performing steps comprising transmitting a plurality of questions to the plurality of handheld units;
each of the plurality of handheld units comprising a display screen for displaying the plurality of questions, and a non-volatile memory,
each of the plurality of handheld units having
an owned mode, in which the handheld unit is assigned to a particular one of the plurality of attendees and has information regarding the attendee to which it is assigned stored in its non-volatile memory, and
a shared mode, in which the handheld unit is not assigned to any particular attendee.
17. The system of claim 16, wherein a handheld unit of the plurality performs steps comprising:
receiving an input from an attendee indicating that there is an emergency;
broadcasting an alert to the wireless network; and
receiving, in response from the wireless network, an acknowledgement of the alert.
18. The system of claim 16, wherein a handheld unit of the plurality performs steps comprising:
receiving an input from an attendee indicating that there is an emergency;
broadcasting an alert to the wireless network; and
receiving, in response from the wireless network, a question regarding the emergency; and
displaying the question to the attendee.
19. The system of claim 18, wherein the base station performs steps comprising:
receiving an answer to the question; and
transmitting the answer to an emergency response system via a public network.
20. The system of claim 16, wherein the base station performs further steps comprising:
receiving an alert from a handheld unit of the plurality of wireless handheld units;
transmitting information regarding the alert to an emergency response system, the information comprising global positioning system data.
21. The system of claim 20, wherein the global positioning system data includes data regarding the location of the base station.
22. The system of claim 20, wherein the global positioning system data includes data regarding the location of the handheld unit from which the alert came.
US11/476,230 2005-06-27 2006-06-27 Wireless classroom response system Abandoned US20060293048A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/476,230 US20060293048A1 (en) 2005-06-27 2006-06-27 Wireless classroom response system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US69441405P 2005-06-27 2005-06-27
US72942805P 2005-10-21 2005-10-21
US11/476,230 US20060293048A1 (en) 2005-06-27 2006-06-27 Wireless classroom response system

Publications (1)

Publication Number Publication Date
US20060293048A1 true US20060293048A1 (en) 2006-12-28

Family

ID=36940293

Family Applications (3)

Application Number Title Priority Date Filing Date
US11/474,838 Abandoned US20060294552A1 (en) 2005-06-27 2006-06-26 Audience response system and method
US11/474,906 Active 2027-09-19 US7502855B2 (en) 2005-06-27 2006-06-26 Wireless classroom system allowing user to access a particular classroom by selecting corresponding network from a list of wireless networks
US11/476,230 Abandoned US20060293048A1 (en) 2005-06-27 2006-06-27 Wireless classroom response system

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US11/474,838 Abandoned US20060294552A1 (en) 2005-06-27 2006-06-26 Audience response system and method
US11/474,906 Active 2027-09-19 US7502855B2 (en) 2005-06-27 2006-06-26 Wireless classroom system allowing user to access a particular classroom by selecting corresponding network from a list of wireless networks

Country Status (5)

Country Link
US (3) US20060294552A1 (en)
EP (4) EP1739887B1 (en)
AT (1) ATE446659T1 (en)
CA (3) CA2549245A1 (en)
DE (1) DE602006009873D1 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080154997A1 (en) * 2006-12-20 2008-06-26 Texas Instruments Incorporated Systems and methods for function control in a calculation device
WO2008083486A1 (en) * 2007-01-10 2008-07-17 Smart Technologies Ulc Participant response system employing battery powered, wireless remote units
US20100047755A1 (en) * 2008-08-25 2010-02-25 Mills Sharon M Embedded learning tool
US20100315994A1 (en) * 2007-01-10 2010-12-16 Smart Technologies Ulc Participant response system with facilitated communications bandwidth
US20120192272A1 (en) * 2011-01-20 2012-07-26 F-Secure Corporation Mitigating multi-AET attacks
US20130164725A1 (en) * 2010-09-09 2013-06-27 Board Of Regents Of The University Of Texas System Classroom response system
CN103907379A (en) * 2012-09-07 2014-07-02 松下电器产业株式会社 Communication terminal apparatus, communication system, and method for controlling communication terminal apparatus
US20140269631A1 (en) * 2013-03-14 2014-09-18 Qualcomm Incorporated Systems and methods for grouping nodes to reduce collisions
JP2015015644A (en) * 2013-07-05 2015-01-22 パナソニックIpマネジメント株式会社 Communication terminal and communication system
US20150257194A1 (en) * 2010-04-07 2015-09-10 Samsung Electronics Co., Ltd. Apparatus and method for filtering ip packet in mobile communication terminal
US9306686B2 (en) 2014-05-02 2016-04-05 Macmillan New Ventures, LLC Audience response communication system
CN106303436A (en) * 2016-08-23 2017-01-04 北京汉博信息技术有限公司 A kind of information-pushing method for long-distance education and system
US11228861B2 (en) 2019-09-17 2022-01-18 In-Telligent Properties Llc Emergency alert systems with customized alerts

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4125172B2 (en) * 2003-04-23 2008-07-30 キヤノン株式会社 Wireless communication system, wireless communication apparatus, control method therefor, and computer program
JP4136771B2 (en) 2003-04-23 2008-08-20 キヤノン株式会社 COMMUNICATION SYSTEM, COMMUNICATION DEVICE, ITS CONTROL METHOD, AND COMPUTER PROGRAM
JP4125173B2 (en) 2003-04-23 2008-07-30 キヤノン株式会社 Information processing apparatus connection control method, information processing apparatus, and computer program
US8529270B2 (en) 2003-12-12 2013-09-10 Assessment Technology, Inc. Interactive computer system for instructor-student teaching and assessment of preschool children
US7603352B1 (en) 2005-05-19 2009-10-13 Ning, Inc. Advertisement selection in an electronic application system
US8346950B1 (en) 2005-05-19 2013-01-01 Glam Media, Inc. Hosted application server
US8499014B2 (en) * 2005-06-01 2013-07-30 Texas Instruments Incorporated Functionality disable and re-enable for programmable calculators
CA2549245A1 (en) * 2005-06-27 2006-12-27 Renaissance Learning, Inc. Audience response system and method
US7756945B1 (en) * 2005-08-02 2010-07-13 Ning, Inc. Interacting with a shared data model
CN101310507B (en) * 2005-08-12 2012-08-08 Gn奈康有限公司 A base unit adapted to provide a communications connection as well as a method of providing a communications connection
US8098689B2 (en) * 2006-05-11 2012-01-17 Intel Corporation Systems and methods for frame tunnelling in wireless communications
US20080108037A1 (en) * 2006-10-19 2008-05-08 Darin Beamish Control of audience response systems during use with paper-based questions
JP4886463B2 (en) 2006-10-20 2012-02-29 キヤノン株式会社 Communication parameter setting method, communication apparatus, and management apparatus for managing communication parameters
US10170013B1 (en) * 2007-01-12 2019-01-01 Questionmark Computing Limited Assessment instances in computerized assessments
US20100240018A1 (en) * 2007-01-30 2010-09-23 Bethune Damion A Process for creating and administrating tests
KR101502803B1 (en) * 2007-04-24 2015-03-17 삼성전자주식회사 Method for managing wireless network and wireless device thereof
US8819271B2 (en) * 2007-05-24 2014-08-26 At&T Intellectual Property I, L.P. System and method to access and use layer 2 and layer 3 information used in communications
US8630577B2 (en) * 2007-08-07 2014-01-14 Assessment Technology Incorporated Item banking system for standards-based assessment
KR101405688B1 (en) * 2007-09-14 2014-06-12 엘지이노텍 주식회사 Zigbee system
US8166497B2 (en) * 2007-09-28 2012-04-24 The Nielsen Company (US) , LLC Methods and apparatus to collect media monitoring information
DE102008006754A1 (en) * 2008-01-30 2009-07-02 Siemens Aktiengesellschaft Wireless communication system i.e. wireless personal area network, operating method, involves implementing or not implementing safety mechanisms on data telegram during reception of another telegram in dependence of value of safety bits
US20090241033A1 (en) * 2008-03-21 2009-09-24 Florida Gulf Coast University Participant response and polling system
US20100071036A1 (en) * 2008-09-17 2010-03-18 Texas Instruments Incorporated Method and apparatus for redistribution system
JP5242315B2 (en) * 2008-09-25 2013-07-24 株式会社東芝 Nonaqueous electrolyte secondary battery
US20100235854A1 (en) * 2009-03-11 2010-09-16 Robert Badgett Audience Response System
US20110047482A1 (en) * 2009-08-18 2011-02-24 Turning Technologies, Llc Audience response web server
US20110047227A1 (en) * 2009-08-18 2011-02-24 Turning Technologies, Llc Message-service audience response
US20110200978A1 (en) * 2010-02-16 2011-08-18 Assessment Technology Incorporated Online instructional dialog books
US20110246645A1 (en) * 2010-04-01 2011-10-06 Smart Technologies Ulc Participant response system and method
US20110299428A1 (en) * 2010-05-06 2011-12-08 Sanford, L.P. Dynamic Multiple Access Protocol for Use in an Audience Response System
WO2011148385A2 (en) * 2010-05-24 2011-12-01 Tata Consultancy Services Limited Method and system for disintegrating an xml document for high degree of parallelism
US8271011B2 (en) 2010-08-04 2012-09-18 Turning Technologies, Llc Audience response system bulk data communication
WO2012018335A1 (en) * 2010-08-04 2012-02-09 Turning Technologies, Llc Audience response system bulk data communication
CN102013183B (en) * 2010-12-02 2012-12-05 北京科技大学 Wireless teaching interactive evaluation system
GB2487357A (en) * 2011-01-12 2012-07-25 Promethean Ltd Embedding application functionality within a user interface of a second application for ease of user operation
KR20130079839A (en) * 2012-01-03 2013-07-11 삼성전자주식회사 Method for wi-fi direct connection
US20130177879A1 (en) * 2012-01-10 2013-07-11 Franklin Electronic Publishers, Incorporated Wireless processing system and method
US8606170B2 (en) 2012-01-20 2013-12-10 Northrop Grumman Systems Corporation Method and apparatus for interactive, computer-based, automatically adaptable learning
CN103514771A (en) * 2012-06-26 2014-01-15 黄庆凯 Personal hand-held terminal networking-based classroom teaching communication network system
US9237511B2 (en) * 2012-07-17 2016-01-12 General Electric Company System and method for enabling a viewable PAN ID over a wireless personal area network
TWI511101B (en) * 2012-08-17 2015-12-01 Active Learning Solutions Ltd Method and system for classroom active learning
US20140085218A1 (en) * 2012-09-27 2014-03-27 Franklin Electronic Publishers, Incorporated Child's wearable computing device
US10460616B2 (en) * 2012-11-27 2019-10-29 Active Learning Solutions Holdings Limited Method and system for active learning
US10078968B2 (en) * 2012-12-19 2018-09-18 Law School Admission Council, Inc. System and method for electronic test delivery
US9319848B2 (en) * 2014-05-02 2016-04-19 Macmillan New Ventures, LLC Audience response communication system with long beacon
CN104463419B (en) * 2014-11-05 2018-01-23 闵行区蔷薇小学 The method that multidimensional evaluating data record is realized in classroom
CN104616226A (en) * 2015-02-12 2015-05-13 俞琳 Method of parent online signing for child's homework and examination results
WO2017043179A1 (en) * 2015-09-09 2017-03-16 ソニー株式会社 Communications device and communications method
CN107240050A (en) * 2017-05-31 2017-10-10 合肥亿迈杰软件有限公司 A kind of student instruction method for managing security based on cloud platform
CN107240051A (en) * 2017-05-31 2017-10-10 合肥亿迈杰软件有限公司 A kind of cloud server system for realizing the intercommunication of campus family
US11238751B1 (en) * 2019-03-25 2022-02-01 Bubble-In, LLC Systems and methods of testing administration by mobile device application

Citations (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3245157A (en) * 1963-10-04 1966-04-12 Westinghouse Electric Corp Audio visual teaching system
US4764120A (en) * 1986-05-27 1988-08-16 Mcdonald's Corporation Student response system
US5002491A (en) * 1989-04-28 1991-03-26 Comtek Electronic classroom system enabling interactive self-paced learning
US5273437A (en) * 1991-06-27 1993-12-28 Johnson & Johnson Audience participation system
US5379221A (en) * 1992-04-25 1995-01-03 Temic Telefunken Microelectronic Gmbh Trigger procedure for a vehicle occupant restraining system
USD377339S (en) * 1995-06-30 1997-01-14 Motorola, Inc. Electronics enclosure
US5724357A (en) * 1992-01-28 1998-03-03 Fleetwood Group, Inc. Remote response system and data transfer protocol
US5823788A (en) * 1995-11-13 1998-10-20 Lemelson; Jerome H. Interactive educational system and method
USD408381S (en) * 1998-04-09 1999-04-20 Imation Corp. Stand-alone drive for disk-shaped data storage media
US6021119A (en) * 1994-06-24 2000-02-01 Fleetwood Group, Inc. Multiple site interactive response system
USD431562S (en) * 2000-01-06 2000-10-03 Symbol Technologies, Inc. Hand held terminal
USD437314S1 (en) * 1999-05-12 2001-02-06 Ericsson Inc. Cable modem
USD447729S1 (en) * 2000-04-05 2001-09-11 Motorola, Inc. Battery for a cellular phone
USD447740S1 (en) * 2000-09-12 2001-09-11 Nokia Mobile Phones Ltd. Communicator
USD448026S1 (en) * 2000-06-23 2001-09-18 Iomega Corporation Storage device enclosure
USD448375S1 (en) * 2000-05-10 2001-09-25 Iomega Corporation Disk drive dock
USD452863S1 (en) * 2000-03-20 2002-01-08 3Com Corporation Communications card with a receptacle for receiving a RJ-type connector plug
US20030016732A1 (en) * 2001-04-27 2003-01-23 Gyorgy Miklos Communications networks
USD469763S1 (en) * 2001-05-09 2003-02-04 Hewlett-Packard Company Computer workstation
US20030074320A1 (en) * 2001-10-12 2003-04-17 Lee Riggs Methods and systems for providing continuing legal education through an electronic data network to remote hand held devices
US20030073065A1 (en) * 2001-10-12 2003-04-17 Lee Riggs Methods and systems for providing training through an electronic network to remote electronic devices
US20030095102A1 (en) * 2001-11-19 2003-05-22 Christian Kraft Communication terminal having a predictive character editor application
US20030153263A1 (en) * 2002-02-14 2003-08-14 Glass Michael S. Wireless response system and method
US20030153347A1 (en) * 2002-02-14 2003-08-14 Glass Michael S. Wireless response system with feature module
US20030153321A1 (en) * 2002-02-14 2003-08-14 Glass Michael S. Wireless response system and method
USD480716S1 (en) * 2002-04-05 2003-10-14 Mitsubishi Denki Kabushiki Kaisha Power line communication modem
US6665000B1 (en) * 1998-11-13 2003-12-16 Fleetwood Group, Inc. Remote site interactive system
US20030236891A1 (en) * 2002-06-04 2003-12-25 Glass Michael S. Wireless asynchronous response system
US20040034816A1 (en) * 2002-04-04 2004-02-19 Hewlett-Packard Development Company, L.P. Computer failure recovery and notification system
US20040033478A1 (en) * 2002-08-15 2004-02-19 Anthony Knowles Participant response system and method
US20040072136A1 (en) * 2001-02-21 2004-04-15 Jeremy Roschelle Method and apparatus for group learning via sequential explanation templates
US20040115608A1 (en) * 2002-08-29 2004-06-17 Paul Meyer System and method for delivering, receiving and managing continuing educational and training services
US20040127208A1 (en) * 2002-08-02 2004-07-01 Biju Nair Systems and methods for seamless roaming between wireless networks
US20040205818A1 (en) * 2001-06-25 2004-10-14 Nozomu Saruhashi Education service system using communicate line and education service providing method
US20040203563A1 (en) * 2002-06-07 2004-10-14 Menard Raymond J. Emergency communication and monitoring system and method
US6807395B2 (en) * 2001-04-26 2004-10-19 Toshiba Tec Kabushiki Kaisha Computer assisted learning system, storage server used for computer assisted learning system and computer readable media recording program used in storage server
US20040209634A1 (en) * 2003-04-21 2004-10-21 Hrastar Scott E. Systems and methods for adaptively scanning for wireless communications
US20040219493A1 (en) * 2001-04-20 2004-11-04 Phillips Nigel Jude Patrick Interactive learning and career management system
US20040229642A1 (en) * 2003-05-12 2004-11-18 Fleetwood Group, Inc. Wireless polling system using spread-spectrum communication
US20040248074A1 (en) * 2003-03-17 2004-12-09 Saga University Distance education system
US20050003338A1 (en) * 2002-01-25 2005-01-06 Svi Systems, Inc. Interactive education system
USD501643S1 (en) * 2002-12-13 2005-02-08 The Chamberlain Group, Inc. Transmitter for a monitor for a movable barrier
US20050086261A1 (en) * 2003-10-20 2005-04-21 Richard Mammone Child locator apparatus and method
US6895213B1 (en) * 2001-12-03 2005-05-17 Einstruction Corporation System and method for communicating with students in an education environment
US20050245295A1 (en) * 2004-05-03 2005-11-03 Samsung Electronics Co., Ltd. Handheld mobile terminal
US20050282535A1 (en) * 2002-08-30 2005-12-22 Mazen Chmaytelli Processing of interactive screens for a wireless device
US20050287981A1 (en) * 2004-05-14 2005-12-29 Hill Gregory R Mobile phone personal alert device (PAD)
US20060057550A1 (en) * 2002-09-27 2006-03-16 Nozomu Sahashi Remote education system, course attendance check method, and course attendance check program
US20060111103A1 (en) * 2003-04-29 2006-05-25 Jeong Moo R Fast active scanning wireless network apparatus and method
USD523854S1 (en) * 2004-03-09 2006-06-27 Clipsal Australia Pty Ltd Electronic data processing device
US20060183477A1 (en) * 2005-02-15 2006-08-17 Research In Motion Limited Network selection user interface for wireless devices
US20060189311A1 (en) * 2005-02-18 2006-08-24 Cromer Daryl C Apparatus, system, and method for rapid wireless network association
US20060204944A1 (en) * 2003-04-01 2006-09-14 David Preskill System and method for providing educational and/or advertising materials
US20060294216A1 (en) * 2005-06-27 2006-12-28 Renaissance Learning, Inc. Wireless classroom response system
US20080052754A1 (en) * 2004-06-10 2008-02-28 Nec Corporation Information Terminal, Setting Information Distribution Server, Right Information Distribution Server, Network Connection Setting Program And Method
US7360158B1 (en) * 2002-03-28 2008-04-15 At&T Mobility Ii Llc Interactive education tool

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093786A (en) * 1989-01-27 1992-03-03 Fleetwood Furniture Company, Inc. Remote response system
WO1998006210A1 (en) 1996-07-31 1998-02-12 Amadeus Lopatta Mobile telephone with additonal functions
KR100462691B1 (en) * 1996-09-25 2004-12-20 에듀케이트, 인코포레이티드 Automated Testing and Electroic Instructional Delivery and Student Management System
US6343318B1 (en) * 1998-05-29 2002-01-29 Palm, Inc. Method and apparatus for communicating information over low bandwidth communications networks
US6178308B1 (en) * 1998-10-16 2001-01-23 Xerox Corporation Paper based intermedium for providing interactive educational services
JP2001318823A (en) * 2000-02-28 2001-11-16 Kizna Corp Client server system and communicating method using the same system
US6907546B1 (en) * 2000-03-27 2005-06-14 Accenture Llp Language-driven interface for an automated testing framework
US7415537B1 (en) * 2000-04-07 2008-08-19 International Business Machines Corporation Conversational portal for providing conversational browsing and multimedia broadcast on demand
AU2002231146A1 (en) * 2000-12-22 2002-07-08 William M. Tomlinson Collecting user responses over a network
US20020192631A1 (en) * 2001-05-23 2002-12-19 Chase Weir Method and system for interactive teaching
US20040018479A1 (en) * 2001-12-21 2004-01-29 Pritchard David E. Computer implemented tutoring system
EP1337127B1 (en) 2002-02-14 2006-08-09 Fleetwood Group, Inc. Wireless response and voting system
EP1427228B1 (en) * 2002-06-04 2007-07-18 Fleetwood Group, Inc. Wireless asynchronous response system
US7039417B2 (en) * 2003-09-25 2006-05-02 Lenovo Pte Ltd Apparatus, system, and method for mitigating access point data rate degradation
US20040027377A1 (en) * 2002-08-06 2004-02-12 Grace Hays User interface design and validation including dynamic data
WO2004031488A2 (en) * 2002-10-02 2004-04-15 Koninklijke Philips Electronics N.V. Smart connection management of portable devices
US20040137905A1 (en) * 2003-01-09 2004-07-15 Docomo Communications Laboratories Usa, Inc. System and method for channel scanning in wireless networks
TWI220979B (en) * 2003-04-30 2004-09-11 Liteon It Corp Method for determining unbalanced disks in CD-ROM
US7721104B2 (en) * 2003-10-20 2010-05-18 Nokia Corporation System, method and computer program product for downloading pushed content

Patent Citations (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3245157A (en) * 1963-10-04 1966-04-12 Westinghouse Electric Corp Audio visual teaching system
US4764120A (en) * 1986-05-27 1988-08-16 Mcdonald's Corporation Student response system
US5002491A (en) * 1989-04-28 1991-03-26 Comtek Electronic classroom system enabling interactive self-paced learning
US5273437A (en) * 1991-06-27 1993-12-28 Johnson & Johnson Audience participation system
US5724357A (en) * 1992-01-28 1998-03-03 Fleetwood Group, Inc. Remote response system and data transfer protocol
US5379221A (en) * 1992-04-25 1995-01-03 Temic Telefunken Microelectronic Gmbh Trigger procedure for a vehicle occupant restraining system
US6021119A (en) * 1994-06-24 2000-02-01 Fleetwood Group, Inc. Multiple site interactive response system
USD377339S (en) * 1995-06-30 1997-01-14 Motorola, Inc. Electronics enclosure
US5823788A (en) * 1995-11-13 1998-10-20 Lemelson; Jerome H. Interactive educational system and method
USD408381S (en) * 1998-04-09 1999-04-20 Imation Corp. Stand-alone drive for disk-shaped data storage media
US6665000B1 (en) * 1998-11-13 2003-12-16 Fleetwood Group, Inc. Remote site interactive system
USD437314S1 (en) * 1999-05-12 2001-02-06 Ericsson Inc. Cable modem
USD431562S (en) * 2000-01-06 2000-10-03 Symbol Technologies, Inc. Hand held terminal
USD452863S1 (en) * 2000-03-20 2002-01-08 3Com Corporation Communications card with a receptacle for receiving a RJ-type connector plug
USD447729S1 (en) * 2000-04-05 2001-09-11 Motorola, Inc. Battery for a cellular phone
USD448375S1 (en) * 2000-05-10 2001-09-25 Iomega Corporation Disk drive dock
USD448026S1 (en) * 2000-06-23 2001-09-18 Iomega Corporation Storage device enclosure
USD447740S1 (en) * 2000-09-12 2001-09-11 Nokia Mobile Phones Ltd. Communicator
US20040072136A1 (en) * 2001-02-21 2004-04-15 Jeremy Roschelle Method and apparatus for group learning via sequential explanation templates
US20040219493A1 (en) * 2001-04-20 2004-11-04 Phillips Nigel Jude Patrick Interactive learning and career management system
US6807395B2 (en) * 2001-04-26 2004-10-19 Toshiba Tec Kabushiki Kaisha Computer assisted learning system, storage server used for computer assisted learning system and computer readable media recording program used in storage server
US20030016732A1 (en) * 2001-04-27 2003-01-23 Gyorgy Miklos Communications networks
USD481037S1 (en) * 2001-05-09 2003-10-21 Hewlett-Packard Development Company, L.P. Computer workstation
USD469763S1 (en) * 2001-05-09 2003-02-04 Hewlett-Packard Company Computer workstation
US20040205818A1 (en) * 2001-06-25 2004-10-14 Nozomu Saruhashi Education service system using communicate line and education service providing method
US20030074320A1 (en) * 2001-10-12 2003-04-17 Lee Riggs Methods and systems for providing continuing legal education through an electronic data network to remote hand held devices
US20030073065A1 (en) * 2001-10-12 2003-04-17 Lee Riggs Methods and systems for providing training through an electronic network to remote electronic devices
US20030095102A1 (en) * 2001-11-19 2003-05-22 Christian Kraft Communication terminal having a predictive character editor application
US6895213B1 (en) * 2001-12-03 2005-05-17 Einstruction Corporation System and method for communicating with students in an education environment
US20050003338A1 (en) * 2002-01-25 2005-01-06 Svi Systems, Inc. Interactive education system
US20030153321A1 (en) * 2002-02-14 2003-08-14 Glass Michael S. Wireless response system and method
US20030153347A1 (en) * 2002-02-14 2003-08-14 Glass Michael S. Wireless response system with feature module
US20030153263A1 (en) * 2002-02-14 2003-08-14 Glass Michael S. Wireless response system and method
US7360158B1 (en) * 2002-03-28 2008-04-15 At&T Mobility Ii Llc Interactive education tool
US20040034816A1 (en) * 2002-04-04 2004-02-19 Hewlett-Packard Development Company, L.P. Computer failure recovery and notification system
USD480716S1 (en) * 2002-04-05 2003-10-14 Mitsubishi Denki Kabushiki Kaisha Power line communication modem
US20030236891A1 (en) * 2002-06-04 2003-12-25 Glass Michael S. Wireless asynchronous response system
US20040203563A1 (en) * 2002-06-07 2004-10-14 Menard Raymond J. Emergency communication and monitoring system and method
US20040127208A1 (en) * 2002-08-02 2004-07-01 Biju Nair Systems and methods for seamless roaming between wireless networks
US20040033478A1 (en) * 2002-08-15 2004-02-19 Anthony Knowles Participant response system and method
US20040115608A1 (en) * 2002-08-29 2004-06-17 Paul Meyer System and method for delivering, receiving and managing continuing educational and training services
US20050282535A1 (en) * 2002-08-30 2005-12-22 Mazen Chmaytelli Processing of interactive screens for a wireless device
US20060057550A1 (en) * 2002-09-27 2006-03-16 Nozomu Sahashi Remote education system, course attendance check method, and course attendance check program
USD501643S1 (en) * 2002-12-13 2005-02-08 The Chamberlain Group, Inc. Transmitter for a monitor for a movable barrier
US20040248074A1 (en) * 2003-03-17 2004-12-09 Saga University Distance education system
US20060204944A1 (en) * 2003-04-01 2006-09-14 David Preskill System and method for providing educational and/or advertising materials
US20040209634A1 (en) * 2003-04-21 2004-10-21 Hrastar Scott E. Systems and methods for adaptively scanning for wireless communications
US20060111103A1 (en) * 2003-04-29 2006-05-25 Jeong Moo R Fast active scanning wireless network apparatus and method
US20040229642A1 (en) * 2003-05-12 2004-11-18 Fleetwood Group, Inc. Wireless polling system using spread-spectrum communication
US20050086261A1 (en) * 2003-10-20 2005-04-21 Richard Mammone Child locator apparatus and method
USD523854S1 (en) * 2004-03-09 2006-06-27 Clipsal Australia Pty Ltd Electronic data processing device
US20050245295A1 (en) * 2004-05-03 2005-11-03 Samsung Electronics Co., Ltd. Handheld mobile terminal
US20050287981A1 (en) * 2004-05-14 2005-12-29 Hill Gregory R Mobile phone personal alert device (PAD)
US20080052754A1 (en) * 2004-06-10 2008-02-28 Nec Corporation Information Terminal, Setting Information Distribution Server, Right Information Distribution Server, Network Connection Setting Program And Method
US20060183477A1 (en) * 2005-02-15 2006-08-17 Research In Motion Limited Network selection user interface for wireless devices
US20060189311A1 (en) * 2005-02-18 2006-08-24 Cromer Daryl C Apparatus, system, and method for rapid wireless network association
US20060294216A1 (en) * 2005-06-27 2006-12-28 Renaissance Learning, Inc. Wireless classroom response system

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080154997A1 (en) * 2006-12-20 2008-06-26 Texas Instruments Incorporated Systems and methods for function control in a calculation device
WO2008083486A1 (en) * 2007-01-10 2008-07-17 Smart Technologies Ulc Participant response system employing battery powered, wireless remote units
US20100281287A1 (en) * 2007-01-10 2010-11-04 Smart Technologies Ulc Participant response system employing battery powered, wireless remote units
US20100315994A1 (en) * 2007-01-10 2010-12-16 Smart Technologies Ulc Participant response system with facilitated communications bandwidth
US8639961B2 (en) 2007-01-10 2014-01-28 Smart Technologies Ulc Participant response system employing battery powered, wireless remote units
US20100047755A1 (en) * 2008-08-25 2010-02-25 Mills Sharon M Embedded learning tool
US9368039B2 (en) * 2008-08-25 2016-06-14 Sharon M. Mills Embedded learning tool
US20150257194A1 (en) * 2010-04-07 2015-09-10 Samsung Electronics Co., Ltd. Apparatus and method for filtering ip packet in mobile communication terminal
US9743455B2 (en) * 2010-04-07 2017-08-22 Samsung Electronics Co., Ltd. Apparatus and method for filtering IP packet in mobile communication terminal
US20130164725A1 (en) * 2010-09-09 2013-06-27 Board Of Regents Of The University Of Texas System Classroom response system
US9111459B2 (en) * 2010-09-09 2015-08-18 Steven Robbins Classroom response system
US20120192272A1 (en) * 2011-01-20 2012-07-26 F-Secure Corporation Mitigating multi-AET attacks
US8763121B2 (en) * 2011-01-20 2014-06-24 F-Secure Corporation Mitigating multiple advanced evasion technique attacks
US9271252B2 (en) * 2012-09-07 2016-02-23 Panasonic Intellectual Property Management Co., Ltd. Communication terminal device, communication system, and method of controlling communication terminal device
US20140315591A1 (en) * 2012-09-07 2014-10-23 Panasonic Corporation Communication terminal device, communication system, and method of controlling communication terminal device
CN103907379A (en) * 2012-09-07 2014-07-02 松下电器产业株式会社 Communication terminal apparatus, communication system, and method for controlling communication terminal apparatus
US9084141B2 (en) * 2013-03-14 2015-07-14 Qualcomm Incorporated Systems and methods for grouping nodes to reduce collisions
US20140269631A1 (en) * 2013-03-14 2014-09-18 Qualcomm Incorporated Systems and methods for grouping nodes to reduce collisions
JP2015015644A (en) * 2013-07-05 2015-01-22 パナソニックIpマネジメント株式会社 Communication terminal and communication system
US9306686B2 (en) 2014-05-02 2016-04-05 Macmillan New Ventures, LLC Audience response communication system
CN106303436A (en) * 2016-08-23 2017-01-04 北京汉博信息技术有限公司 A kind of information-pushing method for long-distance education and system
US11228861B2 (en) 2019-09-17 2022-01-18 In-Telligent Properties Llc Emergency alert systems with customized alerts
US11363409B2 (en) 2019-09-17 2022-06-14 In-Telligent Properties Llc Emergency alert systems with tracked user interactions
US11381931B2 (en) 2019-09-17 2022-07-05 In-Telligent Properties Llc Emergency alert systems with secondary alerts
US11516304B2 (en) 2019-09-17 2022-11-29 In-Telligent Properties Llc Third-party integration of emergency alert systems

Also Published As

Publication number Publication date
EP1739887A2 (en) 2007-01-03
EP2282600A1 (en) 2011-02-09
DE602006009873D1 (en) 2009-12-03
US7502855B2 (en) 2009-03-10
US20060294216A1 (en) 2006-12-28
EP1739887A3 (en) 2007-01-24
CA2549438A1 (en) 2006-12-27
ATE446659T1 (en) 2009-11-15
EP1739887B1 (en) 2009-10-21
EP1739886A1 (en) 2007-01-03
CA2549223A1 (en) 2006-12-27
US20060294552A1 (en) 2006-12-28
EP1739888A2 (en) 2007-01-03
CA2549245A1 (en) 2006-12-27
EP1739888A3 (en) 2007-01-10

Similar Documents

Publication Publication Date Title
EP1739887B1 (en) Wireless classroom response system
US10536856B2 (en) Communication control apparatus, system, and method therefor
CN101341685B (en) The discovery of proximity service in wireless network
US9444874B2 (en) Automatic Ad-Hoc network creation and coalescing using WPS
US20170208641A1 (en) Method for connection between electronic devices and electronic device thereof
US7430183B2 (en) Communication system for connecting a communication apparatus to a specific connecting apparatus
US20080276303A1 (en) Network Type Advertising
US20080280279A1 (en) System and Method for Supporting Lecture Room on the Basis of Ubiquitous
JP2004297353A (en) Information processing apparatus and program therefor
JP2014115936A (en) Lecture support server, lecture support system, and lecture support program
US8081613B2 (en) Wireless communication system and wireless communication apparatus and control method thereof
AU2020454135A1 (en) Mobile device communication without network connection
CN102611733A (en) Information processing apparatus, server apparatus, group creation system, group creation method, and program
KR20110008895A (en) Electronic education management system
US20090296149A1 (en) Communication system, information storage device, management device, and terminal device
KR101749707B1 (en) System for automatic attendance management using wireless fidelity with limitless number of occupations
US10470101B2 (en) Wireless communication system and wireless communication device
JPWO2016067338A1 (en) Questionnaire system and terminal device and program used therefor
US10818194B1 (en) Systems and methods for providing access to information, instructions and/or training material
CN112491667A (en) Electrical device
JP4799336B2 (en) Mobile terminal search method and mobile terminal search system
JP2013197870A (en) Communication terminal device, communication control method and communication control program
JP2017046227A (en) Radio communication system, terminal device, access point, and program
KR20150086776A (en) System and method for automatic attendance management using wireless fidelity with limitless number of occupations
Al-Akkad First System: Help Beacons

Legal Events

Date Code Title Description
AS Assignment

Owner name: RENAISSANCE LEARNING, INC., WISCONSIN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SWANSON, MARK R.;MOSS, JR., WILLIAM L.;JUNGWIRTH, PETER WILLIAM;AND OTHERS;REEL/FRAME:018062/0112;SIGNING DATES FROM 20060612 TO 20060627

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION