Audience response system and data transfer protocol
45 claims: 45 independent, 0 dependent
- 1A method for use in a wireless system of retrieving at a base unit (22) responses entered in a plurality of response units (24) by a plurality of users including transmitting over a wireless communication link from the base unit to said plurality of remote response units and transmitting in a response data packet over a wireless communication link from the response units to the base unit any response entered by a user characterised in that the method further includes transmitting from said base unit a base data packet that provides a timing mark (56, 56') for enabling the remote response units to be coordinated in their response intervals, said base data packet made up of a plurality of characters, at least a portion of said plurality of characters pertain to different response units, decoding the base data packet at the response units, loading into memory at least a portion of the decoded base data packet at the response units, determining at said response units any character of said portion of the decoded base packet that pertains to that particular response unit and processing by said response units any character that pertains to the particular response units wherein said plurality of characters include acknowledge characters each indicative of whether a valid response was previously received from a particular response unit. Procédé à utiliser dans un système sans fil de récupération, au niveau d'une unité de base (22), de réponses entrées dans une pluralité d'unités de réponse (24) par une pluralité d'utilisateurs comprenant la transmission sur une liaison de communication sans fil de l'unité de base à ladite pluralité d'unités de réponse à distance et la transmission sur une liaison de communication sans fil des unités de réponse à l'unité de base d'une réponse quelconque entrée par un utilisateur, caractérisé en ce que le procédé comprend en outre la transmission depuis ladite unité de base d'un paquet de données de base qui fournit un repère de cadencement (56, 56') pour permettre de coordonner les unités de réponse à distance dans leurs intervalles de réponse, ledit paquet de données de base étant formé d'une pluralité de caractères, au moins une partie de ladite pluralité de caractères se rapportant à des unités de réponse différentes, le décodage du paquet de données de base au niveau des unités de réponse, le chargement en mémoire d'au moins une partie du paquet de données de base décodé au niveau des unités de réponse, la détermination au niveau d'unités de réponse individuelles d'un caractère quelconque qui se rapporte à cette unité de réponse particulière et le traitement par les unités de réponse d'un caractère quelconque qui se rapporte aux unités de réponse particulières dans lequel ladite pluralité de caractères comprend des caractères d'accusé de réception, indiquant chacun si oui ou non une réponse valable a été précédemment reçue d'une unité de réponse particulière. Verfahren zur Benutzung eines drahtlosen Systems der Abfrage von Antworten, die von mehreren Benutzern in mehrere Antworteinheiten (24) eingegeben sind, an einer Basiseinheit (22), enthaltend Übertragen über eine drahtlose Kommunikationsverbindung von der Basiseinheit zu den mehreren entfernten Antworteinheiten und Übertragen über eine drahtlose Kommunikationsverbindung von den Antworteinheiten in einem Antwortdatenpaket zu der Basiseinheit jede Antwort, die von einem Benutzer eingegeben ist, dadurch gekennzeichnet,dass das Verfahren ferner enthält Übertragen eines Datenpaketes von der Basiseinheit, das eine Zeitmarkierung (56,56') enthält, damit die entfernten Antworteinheiten in ihren Antwortintervallen koordiniert werden können, wobei das Basisdatenpaket aus mehreren Zeichen besteht, und wenigstens ein Teil dieser mehreren Zeichen verschiedene Antworteinheiten betreffen, Dekodieren des Basisdatenpakets an den Antworteinheiten, Laden wenigstens eines Teils des dekodierten Basisdatenpakets an den Antworteinheiten in einen Speicher, Bestimmen jedes Zeichen des Teils des dekodierten Basisdatenpakets an den Antworteinheiten, welches diese besondere Antworteinheit betrifft, und Verarbeiten jedes Zeichens durch die Antworteinheiten, das die besonderen Antworteinheiten betrifft, wobei die mehreren Zeichen Bestätigungszeichen (64) enthalten, die jeweils angeben, ob eine gültige Antwort zuvor von einer besonderen Antworteinheit empfangen wurde.
- 2Procédé suivant la revendication 1, dans lequel ledit traitement d'un caractère quelconque comprend l'arrêt de la transmission d'une réponse entrée par un utilisateur en réponse à un caractère d'accusé de réception se rapportant à cette unité de réponse particulière. The method of claim 1, wherein said processing of any character includes terminating transmission of a response entered by a user in response to an acknowledge character pertaining to that particular response unit. Verfahren nach Anspruch 1, wobei das Verarbeiten jedes Zeichens die Beendigung der Übertragung einer Antwort enthält, die von einem Benutzer eingegeben wurde, in Reaktion auf ein Bestätigungszeichen, das diese besondere Antworteinheit betrifft.
- 3Procédé suivant la revendication 1, dans lequel ladite pluralité de caractères comprend des caractères d'exactitude (66), indiquant chacun si oui ou non une réponse reçue précédemment correspond à une réponse exacte dans une clé de réponse. The method of claim 1 wherein said plurality of characters includes correctness characters (66), each indicative of whether a previously received response matches a correct answer in an answer key. Verfahren nach Anspruch 1, wobei die mehreren Zeichen Fehlerfreiheitszeichen (66) enthalten, die jeweils angeben, ob eine zuvor empfangene Antwort mit einer korrekten Antwort in einem Antwortschlüssel übereinstimmt.
- 4Procédé suivant la revendication 3, dans lequel ladite partie du paquet de données de base décodé comprend une autre pluralité de caractères se rapportant à toutes lesdites unités de réponse, dans lequel une unité de réponse particulière affiche un premier message contenu dans ladite autre pluralité de caractères en réponse à une valeur donnée du caractère d'exactitude se rapportant à cette unité de réponse particulière et affiche un deuxième message contenu dans ladite autre pluralité de caractères en réponse à une valeur différente du caractère d'exactitude se rapportant à cette unité de réponse particulière. The method of claim 3 wherein said portion of the decoded base data packet includes another plurality of characters pertaining to all said response units, wherein a particular response unit displays a first message contained in said another plurality of characters in response to a given value of the correctness character pertaining to that particular response unit and displays a second message contained in said another plurality of characters in response to a different value of the correctness character pertaining to that particular response unit. Verfahren nach Anspruch 3, wobei der Teil des dekodierten Basisdatenpaktes eine weitere Mehrzahl von Zeichen enthält, die alle Antworteinheiten betreffen, wobei eine besondere Antworteinheit eine erste Nachricht anzeigt, die in der weiteren Mehrzahl der Zeichen enthalten ist, als Reaktion auf einen vorgegebenen Wert des Fehlerfreiheitzeichens, das die besondere Antworteinheit betrifft, und eine zweite Nachricht anzeigt, die in der weiteren Mehrzahl der Zeichen enthalten ist, als Antwort auf einen anderen Wert des Fehlerfreiheitzeichens, das diese besondere Antworteinheit betrifft.
- 5Procédé suivant la revendication 3, dans lequel chaque unité de réponse affiche la valeur du caractère d'exactitude se rapportant à cette unité de réponse particulière. The method of claim 3 wherein each response unit displays the value of the correctness character pertaining to that particular response unit. Verfahren nach Anspruch 3, wobei jede Antworteinheit den Wert des Fehlerfreiheitzeichens anzeigt, der diese besondere Antworteinheit betrifft.
- 6Procédé suivant la revendication 1, dans lequel ladite pluralité de caractères comprend des caractères d'activation de microphone (68), activant chacun une liaison de communication audio avec une unité de réponse particulière. The method of claim 1 wherein said plurality of characters includes microphone activation characters (68), each for activating an audio communication link with a particular response unit. Verfahren nach Anspruch 1, wobei die mehreren Zeichen Mikrofonaktivierungszeichen (68) enthalten, wobei jede eine Audiokommunikationsverbindung mit einer bestimmten Antworteinheit aktiviert.
- 7Procédé suivant la revendication 6, dans lequel lesdites unités de réponse comprennent un microphone (46) et une liaison de communication audio (48) avec ladite unité de base et dans lequel une unité de réponse particulière ouvre la liaison de communication audio entre le microphone de cette unité de réponse particulière et l'unité de base en réponse audit caractère d'activation de microphone se rapportant à cette unité de réponse particulière. The method of claim 6 wherein said response units include a microphone (46) and an audio communication link (48) with said base unit and wherein a particular response unit opens the audio communication link between the microphone of that particular response unit and the base unit in response to said microphone activation character pertaining to that particular response unit. Verfahren nach Anspruch 6, wobei die Antworteinheiten ein Mikrofon (46) und eine Audiokommunikationsverbindung (48) mit der Basiseinheit enthält und wobei eine besondere Antworteinheit die Audiokommunikationsverbindung zwischen dem Mikrofon der besonderen Antworteinheit und der Basiseinheit in Reaktion auf das Mikrofonaktivierungszeichen öffnet, dass diese besondere Antworteinheit betrifft.
- 8Procédé suivant la revendication 1, dans lequel lesdites unités de réponse à distance sont divisées en groupes et dans lequel ledit paquet de données de base décodé comprend une désignation d'un groupe d'unités de réponse auxquelles ladite pluralité de caractères se rapporte. The method of claim 1 wherein said remote response units are divided into groups and wherein said decoded base data packet includes a designation of a group of response units to which said plurality of characters pertain. Verfahren nach Anspruch 1, wobei die entfernten Antworteinheiten in Gruppen unterteilt sind und wobei das dekodierte Basisdatenpaket eine Bezeichnung einer Gruppe von Antworteinheiten enthält, die die mehreren Zeichen betreffen.
- 9Procédé suivant la revendication 1, dans lequel lesdites unités de réponse à distance sont divisées en groupes et dans lequel ledit paquet de données de base décodé comprend une première désignation d'un groupe particulier d'unités de réponse auxquelles ladite pluralité de caractères se rapporte et une deuxième désignation d'un groupe particulier d'unités de réponse pour transmettre un paquet de données de réponse. The method of claim 1 wherein said remote response units are divided into groups and wherein said decoded base data packet includes a first designation of a particular group of response units to which said plurality of characters pertain and a second designation of a particular group of response units to transmit a response data packet. Verfahren nach Anspruch 1, wobei die entfernten Antworteinheiten in Gruppen unterteilt sind und wobei das dekodierte Basisdatenpaket eine erste Bestimmung einer besonderen Gruppe von Antworteinheiten enthält, die die mehreren Zeichen betreffen, und eine zweite Bestimmung einer besonderen Gruppe von Antworteinheiten, um ein Antwortdatenpaket zu übertragen.
- 10Procédé suivant la revendication 1, dans lequel lesdites unités de réponse à distance sont divisées en groupes et dans lequel ledit paquet de données de base décodé comprend une désignation d'un groupe particulier d'unités de réponse pour transmettre un paquet de données de réponse. The method of claim 1 wherein said remote response units are divided into groups and wherein said decoded base data packet includes a designation of a particular group of response units to transmit a response data packet. Verfahren nach Anspruch 1, wobei die entfernten Antworteinheiten in Gruppen unterteilt sind und wobei das dekodierte Basisdatenpaket eine Bestimmung einer besonderen Gruppe von Antworteinheiten enthält, um ein Antwortdatenpaket zu übertragen.
- 11Procédé suivant la revendication 10, comprenant la mise à disposition d'une identification unique pour chacune dudit nombre d'unités de réponse et la détermination au niveau de chacune dudit nombre d'unités de réponse d'un intervalle de réponse suivant ledit paquet de données de base en fonction de ladite désignation d'un groupe particulier d'unités de réponse et de l'identification d'une unité de réponse particulière. The method of claim 10 including providing a unique identification to each of said number of response units and determining at each of said number of response units a response interval following said base data packet as a function of said designation of a particular group of response units and the identification of a particular response unit. Verfahren nach Anspruch 10, enthaltend Bereitstellen einer eindeutigen Identifikation zu jeder der Anzahl der Antworteinheiten und Bestimmen eines Antwortintervalls bei jeder der Anzahl der Antworteinheiten nach dem Basisdatenpaket als Funktion der Bestimmung einer besonderen Gruppe von Antworteinheiten und der Identifikation einer besonderen Antworteinheit.
- 12Procédé suivant la revendication 1 ou 11, dans lequel une réponse entrée par un utilisateur est transmise dans un paquet de données de réponse et dans lequel ledit paquet de données de base décodé comprend une désignation du nombre de caractères formant un paquet de données de réponse. The method of claim 1 or 11 wherein a response entered by a user is transmitted in a response data packet and wherein said decoded base data packet includes a designation of the number of characters making up a response data packet. Verfahren nach Anspruch 1 oder 11, wobei eine von einem Benutzer eingegebene Antwort in einem Antwortdatenpaket übertragen wird und wobei das dekodierte Basisdatenpaket eine Bestimmung der Anzahl von Zeichen enthält, die ein Antwortdatenpaket bildet.
- 13Procédé suivant la revendication 12, dans lequel chaque unité de réponse transmet un paquet de données de réponse comprenant le nombre de caractères indiqué dans ledit paquet de données de base décodé. The method of claim 12 wherein each response unit transmits a response data packet having the number of characters designated in said decoded base data packet. Verfahren nach Anspruch 12, wobei jede Antworteinheit ein Antwortdatenpaket überträgt, das die Anzahl von Zeichen enthält, die in dem dekodierten Basisdatenpaket bestimmt ist.
- 14Procédé suivant la revendication 1, dans lequel chacune desdites unités de réponse à distance comprend un micro-ordinateur (40') comportant une mémoire effaçable et dans lequel ladite partie du paquet de données de base décodé comprend un code d'exploitation et dans lequel ledit traitement comprend la mémorisation dudit code d'exploitation dans ladite mémoire effaçable pour faire fonctionner ledit micro-ordinateur. The method of claim 1 wherein each of said remote response units includes a microcomputer (40') having erasable memory and wherein said portion of the decoded base data packet includes operating code and wherein said processing includes storing said operating code in said erasable memory for operating said microcomputer. Verfahren nach Anspruch 1, wobei jede der entfernten Anworteinheiten einen Mikrocomputer (40') enthält, der einen löschbaren Speicher enthält, und wobei der Teil des dekodierten Basisdatenpakets den Arbeitscode enthält und das Verarbeiten das Speichern des Arbeitscodes in dem löschbaren Speicher für den Betrieb des Mikrocomputers enthält.
- 15Procédé suivant la revendication 1 ou 14, dans lequel une réponse entrée par un utilisateur est transmise dans un paquet de données de réponse et dans lequel ladite transmission d'une réponse comprend la transmission d'un paquet de données de réponse nul lorsqu'un utilisateur n'a pas entré de réponse. The method of claim 1 or 14 wherein a response entered by a user is transmitted in a response data packet and wherein said transmitting a response includes transmitting a null response data packet when a user has not entered a response. Verfahren nach Anspruch 1 oder 14, wobei eine von einem Benutzer eingegebene Antwort in einem Antwortdatenpaket übertragen wird und wobei das Übertragen einer Antwort das Übertragen eines NullAntwortdatenpakets enthält, wenn ein Benutzer keine Antwort eingegeben hat.
- 16Procédé suivant la revendication 1, dans lequel ladite partie du paquet de données de base décodé comprend une pluralité de caractères se rapportant globalement à une pluralité d'unités de réponse à distance. The method of claim 1 wherein said portion of the decoded base data packet includes a plurality of characters globally pertaining to a plurality of remote response units. Verfahren nach Anspruch 1, wobei der Teil des dekodierten Basisdatenpakets mehrere Zeichen enthält, die global eine Vielzahl von entfernten Antworteinheiten betreffen.
- 17Procédé suivant la revendication 16, comprenant la transmission d'une pluralité de paquets de données de base, comprenant chacun une pluralité de caractères se rapportant globalement à une pluralité d'unités de réponse à distance, la détermination au niveau de chaque unité de réponse à distance de ceux parmi lesdits paquets de données de base qui sont valablement reçus, et la transmission de chaque dite unité de réponse à distance d'une indication des paquets de données de base qui ont été valablement reçus au niveau de cette unité de réponse à distance. The method of claim 16 including transmitting a plurality of base data packets, each including a plurality of characters globally pertaining to a plurality of remote response units, determining at each remote response unit which of said base data packets is validly received, and transmitting from each said remote response unit an indication of which base data packets were validly received at that remote response unit. Verfahren nach Anspruch 16, enthaltend die Übertragung einer Mehrzahl von Basisdatenpaketen, die jeweils eine Mehrzahl von Zeichen enthalten, die global eine Mehrzahl von entfernten Antworteinheiten betreffen, Bestimmen an jeder entfernten Antworteinheit, welches der Basisdatenpakete gültig empfangen worden ist und Übertragen von jeder entfernten Antworteinheiten eine Anzeige, welches der Basisdatenpakete gültig an der besonderen Antworteinheit empfangen wurde.
- 18Procédé suivant la revendication 17, comprenant en outre l'assemblage d'une représentation binaire au niveau de ladite unité de base de tous les paquets de données de base valablement reçus au niveau desdites unités de réponse à distance et la retransmission de manière répétée des uns desdits paquets de données de base qui comme l'indique ladite représentation binaire n'ont pas été valablement reçus au niveau d'au moins une dite unité de réponse à distance. The method of claim 17 further including assembling a bit map at said base unit of all base data packets validly received at said remote response units and repetitively retransmitting ones of said base data packets which said bit map indicates were not validly received at at least one said remote response unit. Verfahren nach Anspruch 17, ferner enthaltend das Assemblieren eines Bitmap an der Basiseinheit von allen Basisdatenpaketen, die gültig an den entfernten Antworteinheiten empfangen wurden, und wiederholtes Rückübertragen eines der Basisdatenpakete, von dem das Bitmap anzeigt, dass es nicht gültig an wenigsten einer der entfernten Antworteinheiten empfangen wurde.
- 19Procédé suivant la revendication 1, dans lequel une réponse entrée par un utilisateur est transmise dans un paquet de données de réponse et dans lequel ledit paquet de données de réponse comprend des réponses de plusieurs caractères. The method of claim 1 wherein a response entered by a user is transmitted in a response data packet and wherein said response data packet includes multiple character responses. Verfahren nach Anspruch 1, wobei eine von einem Benutzer eingegebene Antwort in einem Antwortdatenpaket übertragen wird und wobei das Antwortdatenpaket Mehrfachzeichenantworten enthält.
- 20Procédé suivant la revendication 1, comprenant le codage de données du paquet de données en variant la période de temps pendant au moins un cycle d'une forme d'onde périodique d'un signal transmis pour coder une valeur d'un bit, et le décodage des données en mesurant des laps de temps pendant au moins un cycle du signal reçu et la détermination de si oui ou non chacun desdits laps de temps tombe dans un d'au moins deux délais sans chevauchement distincts. The method of claim 1 including encoding data of the data packet by varying the time period for at least one cycle of a periodic waveform of a transmitted signal to encode a value of a bit, and decoding the data by measuring time intervals for at least one cycle of the received signal and determining whether each of said time intervals falls within one of at least two distinct non-overlapping time ranges. Verfahren nach Anspruch 1, enthaltend das Kodieren von Daten des Datenpakets durch Variieren der Zeitspanne für wenigstens einen Zyklus einer periodischen Wellenform eines übermittelten Signals, um einen Wert eines Bit zu kodieren, und Dekodieren der Daten durch Messen von Zeitintervallen für wenigstens einen Zyklus des empfangenes Signals und Bestimmen, ob jedes der Zeitintervalle in eine von wenigstens zwei bestimmten, nicht-überlappenden Zeitspannen fällt.
- 21Procédé suivant la revendication 20, dans lequel ledit codage comprend la détermination de si oui ou non une majorité de bits dans un paquet de données sont d'une valeur qui serait codée pendant une période de temps plus longue et l'inversion desdits bits dans ledit paquet de données avant le codage afin de réduire le temps nécessaire à la transmission d'un paquet de données. The method of claim 20 wherein said encoding includes determining whether a majority of bits in a data packet are of a value that would be encoded for a longer time period and inverting said bits in said data package prior to encoding in order to reduce the time required to transmit a data packet. Verfahren nach Anspruch 20, wobei das Kodieren das Bestimmen enthält, ob eine Mehrzahl von Bits in dem Datenpaket einen Wert haben, der für eine längere Zeitspanne kodiert wäre und Invertieren dieser Bits in diesem Datenpaket vor dem Kodieren, um die erforderliche Zeit zu reduzieren, um ein Datenpaket zu übertragen.
- 22Procédé suivant la revendication 21, comprenant la transmission d'une indication que lesdits bits dans un paquet de données ont été inversés. The method of claim 21 including transmitting an indication that said bits in a data packet have been inverted. Verfahren nach Anspruch 21, enthaltend das Übertragen einer Anzeige, daß die Bits in einem Datenpaket invertiert worden sind.
- 23A wireless remote system comprising:a base unit (22), a plurality of response units (24) and a wireless communication link between said base unit and said response units, said base unit being operable to transmit data to said response units over said communication link and said response units being operable to transmit in a response data packet to the base unit over said communication link any response entered by a usercharacterised in that said base unit is adapted to transmit a base data packet that provides a timing mark for enabling the remote response units to be coordinated in their response intervals, said base data packet made up of a plurality of characters, at least a portion of said plurality of characters pertaining to different response units, and said response units are adapted to decode the base data packet, are adapted to load into memory at least a portion of the decoded base data packet at the response unit, are adapted to determine at said response units any character of said portion of the decoded base packet that pertains to that particular response unit and are adapted to process any character that pertains to the particular response units wherein said plurality of characters include acknowledge characters (64) each indicative of whether a valid response was previously received from a particular response unit. Drahtloses Fernantwortsystem, enthaltend: eine Basiseinheit (22), mehrere Antworteinheiten (24) und eine drahtlose Kommunikationsverbindung zwischen der Basiseinheit und den Antworteinheiten, wobei die Basiseinheit betätigbar ist, um Daten zu den Antworteinheiten über die Kommunikationsverbindung zu übertragen und die Antworteinheiten betätigbar sind, um in einem Antwortdatenpaket an die Basiseinheit über die Kommunikationsverbindung jede Antwort zu übertragen, die von einem Benutzer eingegeben ist,dadurch gekennzeichnet,dass die Basiseinheit ein Basisdatenpaket übertragen kann, das eine Zeitmarkierung enthält, so dass die entfernten Antworteinheiten in ihren Antwortintervallen koordiniert werden können, dass das Basisdatenpaket aus einer Mehrzahl von Zeichen besteht, von denen wenigstens ein Teil verschiedene Antworteinheiten betrifft, und dass die Antworteinheiten in der Lage sind, das Basisdatenpaket zu dekodieren, wenigstens einen Teil des dekodierten Basisdatenpakets an der Antworteinheit in einen Speicher zu laden und an den Antworteinheiten jedes Zeichen des Teils des dekodierten Basisdatenpakets zu bestimmen, das die besondere Antworteinheit betrifft und jedes Zeichen zu verarbeiten, das die besonderen Antworteinheiten betrifft, wobei die mehreren Zeichen Bestätigungszeichen (64) enthalten, die jeweils anzeigen, ob zuvor eine gültige Antwort von einer besonderen Antworteinheit empfangen wurde. Système à distance sans fil, comprenant : une unité de base (22), une pluralité d'unités de réponse (24) et une liaison de communication sans fil entre ladite unité de base et. lesdites unités de réponse, ladite unité de base pouvant fonctionner pour transmettre des données auxdites unités de réponse sur ladite liaison de communication et lesdites unités de réponse pouvant fonctionner pour transmettre à l'unité de base sur ladite liaison de communication une réponse quelconque entrée par un utilisateur,caractérisé en ce que ladite unité de base est propre à transmettre un paquet de données de base qui fournit un repère de cadencement pour permettre de coordonner les unités de réponse à distance dans leurs intervalles de réponse, ledit paquet de données de base étant formé d'une pluralité de caractères, au moins une partie de ladite pluralité de caractères se rapportant à des unités de réponse différentes, et lesdites unités de réponse sont propres à décoder le paquet de données de base, sont propres à charger en mémoire au moins une partie du paquet de données de base décodé au niveau de l'unité de réponse, sont propres à déterminer au niveau d'unités de réponse individuelles un caractère quelconque qui se rapporte aux unités de réponse particulières et sont propres à traiter un caractère quelconque qui se rapporte aux unités de réponse particulières dans lequel ladite pluralité de caractères comprend des caractères d'accusé de réception (64), indiquant chacun si oui ou non un paquet de données de réponse valable a précédemment été reçu d'une unité de réponse particulière.
- 24System nach Anspruch 23, enthaltend einen ersten Mikrocomputer (40) in der Basiseinheit, der programmiert ist, um ein Basisdatenpaket zu assemblieren, dieses Basisdatenpaket zu kodieren und das kodierte Basisdatenpaket über die Verbindungsleitung den mehreren entfernten Antworteinheiten mitzuteilen, einen zweiten Mikrocomputer (40') in jedem der entfernten Antworteinheiten, der programmiert ist, um ein Basisdatenpaket, das von der Basiseinheit empfangen wurde, zu dekodieren, einen Teil des dekodierten Basisdatenpakets in einen Speicher zu laden und jedes Zeichen dieses Teils des dekodierten Basispakets, das diese besondere Antworteinheit betrifft, zu bestimmen, eine Eingabeeinrichtung in jedem der entfernten Antworteinheiten zum Empfang einer Benutzerantwortauswahl, wobei der zweite Mikrocomputer programmiert ist, um jedes Zeichen zu verarbeiten, das in dem Speicher diese besondere Antworteinheit betrifft und um ein Antwortdatenpaket in Reaktion auf einen Benutzer zu assemblieren und einer Auswahl in die Eingabeeinrichtung einzubringen, das Antwortdatenpaket zu kodieren und das kodierte Antwortdatenpaket über die drahtlose Kommunikationsleitung von der besonderen Antworteinheit zu der Basiseinheit zu übermitteln, und wobei der erste Mikrocomputer programmiert ist, um die Antwortdatenpakete, die von jeder der Antworteinheiten empfangen wurden, zu dekodieren. Système suivant la revendication 23, comprenant :un premier micro-ordinateur (40) dans ladite unité de base programmé pour assembler un paquet de données de base, pour coder ledit paquet de données de base et pour communiquer le paquet de données de base codé sur ladite liaison de communication à ladite pluralité d'unités de réponse à distance ;un deuxième micro-ordinateur (40') dans chacune desdites unités de réponse à distance programmé pour décoder un paquet de données de base reçu de ladite unité de base, pour charger dans une mémoire une partie du paquet de données de base décodé et pour déterminer un caractère quelconque de ladite partie du paquet de base décodé qui se rapporte à cette unité de réponse particulière ;un dispositif d'entrée dans chacune desdites unités de réponse à distance pour recevoir une sélection de réponse utilisateur ;chaque dit deuxième micro-ordinateur étant programmé pour traiter un caractère quelconque qui dans ladite mémoire se rapporte à cette unité de réponse particulière et pour assembler un paquet de données de réponse en réponse à l'entrée par un utilisateur d'une sélection avec ledit dispositif d'entrée, coder le paquet de données de réponse et transmettre le paquet de données de réponse codé sur la liaison de communication sans fil de cette unité de réponse particulière à l'unité de base, etledit premier micro-ordinateur étant programmé pour décoder des paquets de données de réponse reçus de chacune desdites unités de réponse. The system in claim 23 including: a first microcomputer (40) in said base unit programmed to assemble a base data packet, encode said base data packet and communicate the encoded base data packet over said communication link to said plurality of remote response units;a second microcomputer (40') in each of said remote response units programmed to decode a base data packet received from said base unit, to load into a memory a portion of the decoded base data packet and to determine any character of said portion of the decoded base packet that pertains to that particular response unit;an input device in each of said remote response units for receiving a user response selection;each said second microcomputer programmed to process any character that in said memory pertains to that particular response unit and to assemble a response data packet in response to a user entering a selection with said input device, encode the response data packet and transmit the encoded response data packet over the wireless communication link from that particular response unit to the base unit;andsaid first microcomputer programmed to decode response data packets received from each of said response units.
- 25System nach Anspruch 24, wobei der zweite Mikocomputer pogrammiert ist, die Übertragung eines Antwortdatenpakets nicht fortzusetzen, wenn der zweite Mikrocomputer geeignet ist, ein Bestätigungzeichen in dem Teil des dekodierten Basisdatenpakets zu bestimmen, das diese besondere Antworteinheit betrifft. Système suivant la revendication 24, dans lequel ledit deuxième micro-ordinateur est programmé pour interrompre la transmission d'un paquet de données de réponse lorsque ce deuxième micro-ordinateur est propre à déterminer un caractère d'accusé de réception dans ladite partie du paquet de données de base décodé qui se rapporte à cette unité de réponse particulière. The system in claim 24 wherein said second microcomputer is programmed to discontinue transmission of a response data packet when that second microcomputer is adapted to determine an acknowledge character in said portion of the decoded base data packet that pertains to that particular response unit.
- 26System nach Anspruch 23, wobei die mehreren Zeichen Fehlerfreiheitszeichen (66) enthalten, die jeweils anzeigen, ob eine zuvor empfangene Antwort mit einer korrekten Antwort in einem Antwortschlüssel übereinstimmt. Système suivant la revendication 23, dans lequel ladite pluralité de caractères comprend des caractères d'exactitude (66), indiquant chacun si oui ou non une réponse reçue précédemment correspond à une réponse exacte dans une clé de réponse. The system in claim 23 wherein said plurality of characters includes correctness characters (66), each indicative of whether a previously received response matches a correct answer in an answer key.
- 27System nach Anspruch 26, wobei der Teil des dekodierten Basisdatenpakets eine weitere Mehrzahl von Zeichen enthält, die alle Antworteinheiten betreffen, wobei der zweite Mikrocomputer einer besonderen Antworteinheit programmiert ist, eine erste Nachricht anzuzeigen, die in der weiteren Mehrzahl von Zeichen enthalten ist, in Reaktion auf einen vorgegebenen Wert des Fehlerfreiheitszeichens, das die besondere Antworteinheit betrifft, und eine zweite Nachricht anzuzeigen, die in der weiteren Mehrzahl von Zeichen enthalten ist, in Reaktion auf einen anderen Wert des Fehlerfreiheitszeichens, das diese besondere Antworteinheit betrifft. Système suivant la revendication 26, dans lequel ladite partie du paquet de données de base décodé comprend une autre pluralité de caractères se rapportant à toutes lesdites unités de réponse, dans lequel ledit deuxième micro-ordinateur d'une unité de réponse particulière est programmé pour afficher un premier message contenu dans ladite autre pluralité de caractères en réponse à une valeur donnée du caractère d'exactitude se rapportant à cette unité de réponse particulière et pour afficher un deuxième message contenu dans ladite autre pluralité de caractères en réponse à une valeur différente du caractère d'exactitude se rapportant à cette unité de réponse particulière. The system in claim 26 wherein said portion of the decoded base data packet includes another plurality of characters pertaining to all said response units, wherein said second microcomputer of a particular response unit is programmed to display a first message contained in said another plurality of characters in response to a given value of the correctness character pertaining to that particular response unit and to display a second message contained in said another plurality of characters in response to a different value of the correctness character pertaining to that particular response unit.
- 28System nach Anspruch 26, wobei der zweite Mikrocomputer in jeder Antworteinheit programmiert ist, um den Wert des Fehlerfreiheitzeichens anzuzeigen, das die besondere Antworteinheit betrifft. Système suivant la revendication 26, dans lequel ledit deuxième micro-ordinateur dans chaque unité de réponse est programmé pour afficher la valeur du caractère d'exactitude se rapportant à cette unité de réponse particulière. The system in claim 26 wherein said second microcomputer in each response unit is programmed to display the value of the correctness character pertaining to that particular response unit.
- 29System nach Anspruch 23, wobei die mehreren Zeichen ein Mikrofonaktivierungszeichen enthalten, jedes zum Aktivieren eines Audiokommunikationskanals mit einer besonderen Antworteinheit. Système suivant la revendication 23, dans lequel ladite pluralité de caractères comprend un caractère d'activation de microphone, activant chacun un canal de communication audio avec une unité de réponse particulière. The system in claim 23 wherein said plurality of the characters includes a microphone activation character, each for activating an audio communication channel with a particular response unit.
- 30System nach Anspruch 29, wobei die Antworteinheiten ein Mikrofon und einen Audiokommunikationskanal (48) mit einer Basisstation enthalten und wobei der zweite Mikrocomputer einer besonderen Antworteinheit betätigbar ist, um den Audiokommunikationskanal zwischen dem Mikrofon der besonderen Antworteinheit und der Basisstation in Reaktion auf das Mikrofonaktivierungszeichen, das die besondere Antworteinheit betrifft, zu öffnen. Système suivant la revendication 29, dans lequel lesdites unités de réponse comprennent un microphone et un canal de communication audio (48) avec une station de base et dans lequel ledit deuxième micro-ordinateur d'une unité de réponse particulière peut fonctionner pour ouvrir le canal de communication audio entre le microphone de cette unité de réponse particulière et la station de base en réponse audit caractère d'activation de microphone se rapportant à cette unité de réponse particulière. The system in claim 29 wherein said response units include a microphone and an audio communication channel (48) with a base station and wherein said second microcomputer of a particular response unit is operable to open the audio communication channel between the microphone of that particular response unit and the base station in response to said microphone activation character pertaining to that particular response unit.
- 31System nach Anspruch 23, wobei die entfernten Antworteinheiten in Gruppen unterteilt sind und wobei das dekodierte Basisdatenpaket eine Bestimmung einer Gruppe von Antworteinheiten enthält, die die mehreren Zeichen betreffen. Système suivant la revendication 23, dans lequel lesdites unités de réponse à distance sont divisées en groupes et dans lequel ledit paquet de données de base décodé comprend une désignation d'un groupe d'unités de réponse auxquelles ladite pluralité de caractères se rapporte. The system in claim 23 wherein said remote response units are divided into groups and wherein said decoded base data packet includes a designation of a group of response units to which said plurality of characters pertain.
- 32System nach Anspruch 23 wobei die entfernten Antworteinheiten in Gruppen unterteilt sind und wobei das dekodierte Basisdatenpaket eine erste Bestimmung einer Gruppe von Antworteinheiten enthält, die die mehreren Zeichen betreffen und eine zweite Bestimmung einer Gruppe von Antworteinheiten, um Antwortdatenpakete zu übertragen. Système suivant la revendication 23, dans lequel lesdites unités de réponse à distance sont divisées en groupes et dans lequel ledit paquet de données de base décodé comprend une première désignation d'un groupe d'unités de réponse auxquelles ladite pluralité de caractères se rapporte et une deuxième désignation d'un groupe d'unités de réponse pour transmettre des paquets de données de réponse. The system of claim 23 wherein said remote response units are divided into groups and wherein said decoded base data packet includes a first designation of a group of response units to which said plurality of characters pertain and a second designation of a group of response units to transmit response data packets.
- 33System nach Anspruch 24, wobei die entfernten Antworteinheiten in Gruppen unterteilt sind und wobei das dekodierte Basisdatenpaket eine Bestimmung einer Gruppe von Antworteinheiten enthält, um Antwortdatenpakete zu übertragen. Système suivant la revendication 24, dans lequel lesdites unités de réponse à distance sont divisées en groupes et dans lequel ledit paquet de données de base décodé comprend une désignation d'un groupe d'unités de réponse pour transmettre des paquets de données de réponse. The system in claim 24 wherein said remote response units are divided into groups and wherein said decoded base data packet includes a designation of a group of response units to transmit response data packets.
- 34System nach Anspruch 33, wobei jeder der Antworteinheiten eine eindeutige Identifikation zugeordnet ist, und wobei der zweite Mikrocomputer programmiert ist, um ein Antwortintervall nachfolgend dem Basisdatenpaket zu bestimmen, in dem die zugehörige Antworteinheit ein Antwortdatenpaket als eine Funktion der Bestimmung einer besonderen Gruppe von Antworteinheiten und der eindeutigen Identifikation einer besonderen Antworteinheit zu übertragen hat. Système suivant la revendication 33, dans lequel chacune desdites unités de réponse reçoit une identification unique et dans lequel ledit deuxième micro-ordinateur est programmé pour déterminer un intervalle de réponse suivant ledit paquet de données de base dans lequel l'unité de réponse associée doit transmettre un paquet de données de réponse en fonction de ladite désignation d'un groupe particulier d'unités de réponse et l'identification unique d'une unité de réponse particulière. The system in claim 33 wherein each of said response units is assigned a unique identification and wherein said second microcomputer is programmed to determine a response interval following said base data packet within which the associated response unit is to transmit a response data packet as a function of said designation of a particular group of response units and the unique identification of a particular response unit.
- 35System nach Anspruch 24, wobei das dekodierte Basisdatenpaket eine Bestimmung einer Anzahl von Zeichen enthält, die das Basisdatenpaket bilden, und wobei der zweite Mikrocomputer betätigbar ist, um das Antwortintervall als eine Funktion der Anzahl von Zeichen zu bestimmen. Système suivant la revendication 24, dans lequel ledit paquet de données de base décodé comprend une désignation d'un certain nombre de caractères formant ledit paquet de données de base et dans lequel ledit deuxième micro-ordinateur peut fonctionner pour déterminer ledit intervalle de réponse en fonction dudit nombre de caractères. The system in claim 24 wherein said decoded base data packet includes a designation of a number of characters making up said base data packet and wherein said second microcomputer is operable to determine said response interval as a function of said number of characters.
- 36System nach Anspruch 24, wobei das dekodierte Basisdatenpaket eine Bestimmung der Anzahl von Zeichen enthält, die das Antwortdatenpaket bilden, und wobei der zweite Mikrocomputer programmiert ist, um ein Antwortdatenpaket, das die Anzahl von Zeichen hat, zu assemblieren. Système suivant la revendication 24, dans lequel ledit paquet de données de base décodé comprend une désignation du nombre de caractères formant le paquet de données de réponse et dans lequel ledit deuxième micro-ordinateur est programmé pour assembler un paquet de données de réponse comprenant ledit nombre de caractères. The system in claim 24 wherein said decoded base data packet includes a designation of the number of characters making up the response data packet and wherein said second microcomputer is programmed to assemble a response data packet having said number of characters.
- 37System nach Anspruch 24, wobei der Teil des dekodierten Basisdatenpakets den Arbeitscode enthält und wobei der zweite Mikrocomputer programmiert ist, den Arbeitscode im Speicher zur Benutzung beim Betrieb des zweiten Mikrocomputers zu speichern. Système suivant la revendication 24, dans lequel ladite partie du paquet de données de base décodé comprend un code d'exploitation et dans lequel ledit deuxième micro-ordinateur est programmé pour mémoriser ledit code d'exploitation en mémoire à utiliser pour faire fonctionner ledit deuxième micro-ordinateur. The system in claim 24 wherein said portion of the decoded base data packet includes operating code and wherein said second microcomputer is programmed to store said operating code in memory for use in operating said second microcomputer.
- 38System nach Anspruch 24, wobei der zweite Mikrocomputer programmiert ist, ein NullAntwortdatenpaket zu assemblieren, das keine Auswahl enthält, wenn ein Benutzer keine Auswahl eingegeben hat, das NullAntwortdatenpaket zu kodieren und das kodierte NullAntwortdatenpaket über die drahtlose Kommunikationsleitung von der besonderen Antworteinheit zu der Basiseinheit zu übertragen. Système suivant la revendication 24, dans lequel ledit deuxième micro-ordinateur est programmé pour assembler un paquet de données de réponse nul ne comprenant pas de sélection lorsqu'un utilisateur n'a pas entré de sélection, pour coder le paquet de données de réponse nul et transmettre le paquet de données de réponse nul codé sur la liaison de communication sans fil de cette unité de réponse particulière à l'unité de base. The system in claim 24 wherein said second microcomputer is programmed to assemble a null response data packet not including a selection when a user has not entered a selection, to encode the null response data packet and transmit the encoded null response data packet over the wireless communication link from that particular response unit to the base unit.
- 39System nach Anspruch 24, wobei das Antwortdatenpaket Benutzerselektionen enthält, die aus einer Mehrzahl von Zeichen bestehen. Système suivant la revendication 23, dans lequel ledit paquet de données de réponse comprend des sélections utilisateur formées d'une pluralité de caractères. The system in claim 23 wherein said response data packet includes user selections made up of a plurality of characters.
- 40System nach Anspruch 24, wobei jeder der ersten und zweiten Mikrocomputer programmiert ist, um das jeweilige Datenpaket zu kodieren, indem die Zeitspanne entweder zwischen aufeinanderfolgenden ansteigenden Rändern oder zwischen aufeinanderfolgenden abfallenden Rändern einer periodischen Wellenform variiert werden, um einen Wert eines jeden Bit zu kodieren, der das Datenpaket bildet, und um das jeweilige Datenpaket durch Messen von Zeitintervallen entweder zwischen aufeinanderfolgenden ansteigenden Rändern oder zwischen aufeinanderfolgenden abfallenden Rändern eines empfangenen Signals zu dekodieren. Système suivant la revendication 24, dans lequel chacun desdits premier et deuxième micro-ordinateurs est programmé pour coder le paquet de données respectif en variant la période de temps soit entre des flancs avant successifs, soit entre des flancs arrière successifs d'une forme d'onde périodique pour coder une valeur de chaque bit formant le paquet de données et décoder le paquet de données respectif en mesurant des laps de temps soit entre des flancs avant successifs, soit entre des flancs arrière successifs d'un signal reçu. The system in claim 24 wherein each of said first and second microcomputers is programmed to encode the respective data packet by varying the time period either between successive rising edges or between successive falling edges of a periodic waveform to encode a value of each bit making up the data packet, and decode the respective data packet by measuring time intervals either between successive rising edges or between successive falling edges of a received signal.
- 41System nach Anspruch 40, wobei jeder der ersten und zweiten Mikrocomputer ferner programmiert ist, um zu bestimmen, ob jedes gemessene Zeitintervall in einem von wenigstens zwei kenntlichen, nicht überlappenden Zeitbereichen fällt, um einen Wert eines jeden Bits zu dekodieren. Système suivant la revendication 40, dans lequel chacun desdits premier et deuxième micro-ordinateurs est en outre programmé pour déterminer si chaque laps de temps mesuré tombe dans un d'au moins deux délais sans chevauchement distincts pour décoder une valeur de chaque bit. The system in claim 40 wherein each of said first and second microcomputers is further programmed to determine whether each measured time interval falls within one of at least two distinct non-overlapping time ranges to decode a value of each bit.
- 42System nach Anspruch 40, wobei jeder der ersten und zweiten Mikrocomputer programmiert ist, um zu bestimmen, ob eine Mehrzahl von Bits in einem Datenpaket einen Wert haben, der über eine längere Zeitspanne kodiert würde und um die Bits des Datenpakets vor dem kodieren zu invertieren, um die Zeit zu reduzieren, die erforderlich ist, um ein Datenpaket zu übertragen. Système suivant la revendication 40, dans lequel chacun desdits premier et deuxième micro-ordinateurs est programmé pour déterminer si oui ou non une majorité de bits dans un paquet de données sont d'une valeur qui serait codée pendant une période de temps plus longue et inverser lesdits bits dudit paquet de données avant le codage afin de réduire le temps nécessaire à la transmission d'un paquet de données. The system in claim 40 wherein each of said first and second microcomputers is programmed to determine whether a majority of bits in a data packet are of a value that would be encoded for a longer time period and to invert said bits of said data packet prior to encoding in order to reduce the time required to transmit a data packet.
- 43System nach Anspruch 42, wobei jeder der ersten und zweiten Mikrocomputer programmiert ist, um eine Anzeige zu übertragen, daß die Bits in einem Datenpaket invertiert worden sind. Système suivant la revendication 42, dans lequel chacun desdits premier et deuxième micro-ordinateurs est programmé pour transmettre une indication que lesdits bits dans un paquet de données ont été inversés. The system in claim 42 wherein each of said first and second microcomputers is programmed to transmit an indication that said bits in a data packet have been inverted.
- 44System nach Anspruch 24, wobei der erste Mikrocomputer programmiert ist, eine Mehrzahl von Basisdatenpaketen zu assemblieren, zu kodieren und zu übertragen, die jeweils mehrere Zeichen enthalten, die global eine Mehrzahl von entfernten Antworteinheiten betreffen, und wobei jeder zweite Mikrocomputer der Mehrzahl von entfernten Antworteinheiten programmiert ist, zu bestimmen, welches der Basisdatenpakete gültig empfangen wurde, und um ein Antwortdatenpaket zu assemblieren, zu kodieren und zu übertragen, einschließlich den Anzeigen, welche Basisdatenpakete an der entfernten Antworteinheit gültig empfangen wurden. Système suivant la revendication 24, dans lequel ledit premier micro-ordinateur est programmé pour assembler, coder et communiquer une pluralité de paquets de données de base, comprenant chacun une pluralité de caractères se rapportant globalement à une pluralité desdites unités de réponse à distance, et dans lequel chaque dit deuxième micro-ordinateur de ladite pluralité d'unités de réponse à distance est programmé pour déterminer celui parmi lesdits paquets de données de base qui est reçu valablement et pour assembler, coder et transmettre un paquet de données de réponse comprenant des indications des paquets de données de base qui ont été reçus valablement au niveau de cette unité de réponse à distance. The system in claim 24 wherein said first microcomputer is programmed to assemble, encode, and communicate a plurality of base data packets, each including a plurality of characters globally pertaining to a plurality of said remote response units, and wherein each said second microcomputer of said plurality of remote response units is programmed to determine which of said base data packets is validly received and to assemble, encode, and transmit a response data packet including indications of which base data packets were validly received at that remote response unit.
- 45System nach Anspruch 44, wobei der erste Mikrocomputer programmiert ist, ein Bitmap von den Antwortdatenpaketen zu assemblieren und wiederholt diejenigen der Basisdatenpakete zurückzuübertragen, von denen das Bitmap anzeigt, dass sie nicht gültig empfangen wurden. Système suivant la revendication 44, dans lequel ledit premier micro-ordinateur est programmé pour assembler une représentation binaire à partir desdits paquets de données de réponse et retransmettre de manière répétée des uns desdits paquets de données de base qui comme l'indique ladite représentation binaire n'ont pas été valablement reçus. The system in claim 44 wherein said first microcomputer is programmed to assemble a bit map from said response data packets and to repetitively retransmit ones of said base data packets which said bit map indicates were not validly received.
Independent claims45
48 paragraphs, as filed
This invention relates to a method and apparatus for retrieving, at a base unit, user responses entered in individual remote response units. The invention is particularly adapted to obtaining the individual responses of audience members to a question put to them. The invention finds application as an educational aid for determining the comprehension level of the pupils in a class and as a commercial tool for conducting audience preference polls and the like. The invention may even find application for remote order entry at restaurants, commodity trading exchanges, and the like.
A long-felt need that has eluded a practical solution is obtaining immediate feedback from audience members to a question put to them. In conducting a lecture, the instructor may wish to occasionally pose a question to the class to monitor the comprehension level. If the class response indicates a high level of comprehension, then the instructor may wish to proceed to new material. If comprehension is less than desirable, a review of the subject matter may be appropriate. In another setting, a marketing plan evaluation session may include presenting various options to a test audience and taking an immediate poll of the audience to determine preferences for various packaging designs, logos, advertisements, and the like.
Response systems are of two basic types: hard-wired, in which the remote units are interconnected with the base unit by conductors, and wireless. While the hard-wired systems provide more options for designing the circuitry in a manner to provide rapid collection of the responses, the conductors discourage anything but a permanent installation in a particular room and usually at a high installation cost. The wireless systems provide flexibility in allowing the system to he used in various settings and to be moved at will. However, the fact that wireless systems must communicate over broadcast signals tends to limit the options in a system design. The result is that speed of response is compromised, making known wireless response systems unacceptably slow in accumulating the responses, especially if the system includes a large number of remote response units, such as 250. Additionally, the number of functions possible with wireless systems has been limited.
In <patcit id="pcit0001" dnum="US5093786A"><text>United States Patent 5,093,786</text></patcit> entitled REMOTE RESPONSE SYSTEM, I disclosed a wireless remote response system in which a base unit transmits address words to remotely located response units. Each response unit identifies an address word assigned to that particular response unit and transmits a response entered by the user to the base unit in response to identification of its address word. The base unit determines that a valid word has been received from a response unit and sends an acknowledge message. The remote response unit assumes a first mode, or state, upon entry of a response by a user. The remote response unit continues to transmit a data message upon receipt of its unique address word until the central control unit transmits an acknowledge message to the transmitting response unit. Upon receipt of an acknowledge message, the remote response unit changes to a second, quiescent, state or mode. While such system is exceptionally reliable and fast, it is not without its drawbacks. In order to rapidly and reliably transmit address words from the base unit to the response unit and response data from the response units to the base unit, two communication channels, operating on different frequencies, are employed so that the communication from the base unit to the remote response units can occur concurrently with the communication from the remote response units to the base unit. However, separate communication channels require increased bandwidth and are not available in all countries. Furthermore, the data format in my patent is rigid and does not readily accommodate more than one character response from the user. Thus, it is limited to responding to yes/no and multiple choice questions.
<patcit id="pcit0002" dnum="DE4321801"><text>DE 4321801</text></patcit> discloses apparatus for wireless connection of responses of multiple users. Interrogation signals are sent to response units which are intended to elicit a response from the units in which the user has entered a particular code or number. In this way, the base station can determine the number of responses by measuring the power of the response signals received after transmission of each of the interrogation signals. There is no disclosure of a base data packet being made up of a plurality of characters, at least a portion of the characters pertaining to different response units.
It would be desirable to operate a wireless remote response system, having a large number of remote response units, on a single communication channel, in a fast and reliable manner. It would also be desirable to include more capabilities in a wireless remote response system. For example, it would be desirable to provide an indication to a user, such as a student, whether a response given to a question was a correct or incorrect response. It would additionally be desirable to provide a microphone in a remote response unit and allow a user to request audio communication from the user and the instructor, while allowing the actual control of the audio channel to be in the hands of the instructor. It would further be desirable to allow a more interactive system whereby complex messages could be provided, on an individual basis, to students in response to the correctness of their answers. It would also be desirable to retrieve student responses that are of multiple character length rather than single character responses. It would also be desirable to be able to efficiently download large blocks of text and other computer code from a central unit to the remote response units. Accordingly, it is an object of the present invention to provide a wireless remote response system which has greatly enhanced flexibility and functionality over prior systems.
The present invention provides a wireless remote response system for retrieving at a base unit responses from a plurality of users that are entered by the users in a plurality of remote response units, each user being provided with a response unit. The base unit transmits a base data packet over a wireless communication link to the plurality of remote response units, which decode the base packet and load into memory a portion of the decoded base packet at each response unit. Each response unit examines the characters loaded into memory and determines any character in the portion of the decoded base package that pertains to that particular response unit. Each remote response unit then processes any character that pertains to that particular response unit. This may include, but is not limited to assembling and transmitting a response data packet over a wireless communication link from that particular response unit to the base unit. The response data packet contains any response entered by the user.
According to another aspect of the invention, the portion of the decoded base packet loaded into memory of each remote response unit includes a plurality of characters each pertaining to a different response unit. The plurality of characters may include acknowledge characters to indicate that a valid response was previously received from the particular response unit. The plurality of characters may further include a correctness character indicative of whether a previously received response matches a correct answer in an answer key. The particular response unit may respond to the correctness character in several ways. It may merely provide an indication to the user that a correct or an incorrect answer was received. Alternatively, the portion of the decoded base data packet loaded into memory of each remote response unit may include a plurality of characters that pertain globally to all, or a group, of the response units. In this manner, a particular response unit displays a first message contained in the global characters in response to a given value of the correctness character pertaining to that particular response unit and displays a second message contained in the global characters in response to a different value of the correctness character pertaining to that particular response unit.
According to another aspect of the invention, the remote response units may be advantageously divided into groups and the portion of the decoded base data packet loaded into memory of each remote response unit may include a designation of a group of response units to which the individually pertinent characters pertain. The decoded base data packet may further include a designation of which group of remote response units are to transmit a response data packet in response to the particular base data packet transmission. In this manner, one group of response units may be receiving individually tailored messages in the same base data packet which prompts another group of response units to transmit their response data packets. The portion of the coded base data packet loaded into memory of each remote response unit may further include a plurality of characters globally pertaining to all of the response units. These global characters may be stored in memory at each of the response units for any desirable purpose, such as operating code for the microcomputers operating each response unit. In this manner, the operating code and other data for the remote response units may be downloaded from the base unit without requiring physical access to the remote response units to change out read-only-memory devices, or the like.
According to a further aspect of the invention, the base data packet may include a designation of a desired response length from the response units. Each response unit responds to this designation by assembling its response data packet to include the designated number of characters specified to make up the designated response length. In this manner, the response units may be capable of providing responses that are made up of more than one character, yet the total polling time is no longer than that necessary in order to retrieve all of the responses. In addition to assembling a response data packet, including any response entered by the user, the remote response unit may assemble a null data packet that is transmitted in response to a base data packet transmission even though a user has not entered a response. This allows diagnostics to be performed from the base unit of all of the response units in order to ensure that all of the response units are properly responding without the necessity of entering a response.
According to yet a further aspect of the invention, the base data packets and response data packets are encoded and decoded according to a unique technique. The values of each bit are encoded as a time interval for at least one cycle of a periodic waveform by varying the time period either between successive rising edges or between successive falling edges of the periodic waveform. Thus, the time period between rising edges or between falling edges of successive waveforms of a transmitted signal may be varied to encode each value of each bit. Decoding is carried out by measuring the time intervals between rising edges, or between falling edges, of successive waveforms. In a preferred form, it is determined whether each measured time interval falls within one of at least two distinct non-overlapping time ranges in order to determine a value of each bit. If a measured time interval does not fit within one of the precise ranges, it is discarded and the entire data packet is ignored. In this manner, the data transmission is exceptionally reliable because each decoded bit is accepted only if its measured time interval fits precisely within a given range. Because the data is encoded utilizing a variable time interval, the encoded packet will vary in time duration as a function of the value of the respective bits making up the packet. Preferably, in order to avoid the necessity for allotting a sufficient time window to accommodate the worse-case possibility, where the bits making up the packet all have the longest period coding, the content of each packet is examined prior to encoding to determine whether the majority of the bits would be encoded according to the greatest length. If so, the bits are inverted to be encoded according to a shorter length and an indication is passed along, with the transmitted data packet, of the inversion to ensure proper decoding at the receiving unit.
The method and system of the invention are defined in independent claims 1 and 23. Some preferred features are recited in the dependent claims.
The method may include determining whether each measured time interval falls within one of at least two distinct, non-overlapping time ranges in order to decode a value of each bit.
Preferably, a transmission is ignored if at least one of said measured time intervals does not fall within one of said time ranges.
Preferably, said characteristic is a number of characters making up a response data packet, whereby said response data packet length is controlled with said base data packet.
Preferably, the base data packet includes a designation of a characteristic of said base data packet. In this case the characteristic of said base data packet may be a number of characters making up said base data packet.
Alternatively, the method includes providing a unique identification to each of said response units and determining at each of said response units a response interval following said base data packet as a function of said characteristic of said data base packet and the unique identification of that response unit.
Preferably, the said remote response units are divided into a plurality of groups and wherein said base data packet includes a designation of a group of response units to respond to said base data packet.
Preferably, transmitting a response data packet includes transmitting a null response data packet when a user has not entered a response.
These and other objects, advantages and features of this invention will become apparent upon review of the following specification in conjunction with the drawings. <ul id="ul0001" list-style="none" compact="compact"><li><figref idref="f0001">Fig.1</figref> is a block diagram of a wireless remote response system according to the invention;</li><li><figref idref="f0002">Fig. 2</figref> is a block diagram of a system controller and a remote response unit;</li><li><figref idref="f0003">Fig. 3</figref> is a graph illustrating an encoding scheme according to the invention;</li><li><figref idref="f0003">Fig 4</figref> is a graph illustrating a decoding scheme according to the invention;</li><li><figref idref="f0004">Fig. 5</figref> is a graph illustrating the structure of a base data packet;</li><li><figref idref="f0005">Fig. 6</figref> is a graph illustrating the structure of a response data packet;</li><li><figref idref="f0006">Fig. 7</figref> is a control flow diagram of the system controller;</li><li><figref idref="f0007">Fig. 8</figref> is a control flow diagram of a remote response unit;</li><li><figref idref="f0008">Fig. 9</figref> is a control flow diagram of the transmit data function of the system controller;</li><li><figref idref="f0009">Fig. 10</figref> is a control flow diagram of the receive data function of the system controller;</li><li><figref idref="f0010">Fig. 11</figref> is a control flow diagram of the transmit data function of the remote response units;</li><li><figref idref="f0011">Fig 12</figref> is a control flow diagram of the receive data function of the remote response units;</li><li><figref idref="f0012">Fig. 13</figref> is a block diagram of a transceiver useful with the invention; and</li><li><figref idref="f0013">Fig. 14</figref> is a control flow diagram of a method for efficiently transferring large blocks of data to the remote response units.</li></ul>
Referring now specifically to the drawings, and the illustrative embodiments depicted therein, a wireless remote response system 20 includes an instructor base station, or base unit, 22 and a plurality of remote response units 24 (<figref idref="f0001">Fig. 1</figref>). Base unit 22 includes a system controller 26 having a transmitting and receiving antenna 28, which provides a wireless communication link with transmitting and receiving antennae 30 on each of the remote response unit 24. Base unit 22 further includes a personal computer 32, which allows an instructor to issue commands to system controller 26 over a wired communication channel, such as a serial channel 34. Personal computer 32 may include operating software, not forming part of the present invention, for comparing responses received from remote response units 24 against an answer key, for tallying correct answers for each student, performing statistical analysis and the like. Base unit 22 may additionally be linked via telephone lines, or the like, with a central control area (not shown), which, in turn, is linked with multiple ones of a base unit 22. This allows the instructor to be located at a geographic distance from the classroom, or testing room, with at least a voice and data link to the room in which each base unit 22 is located.
Each remote response unit 24 includes an input device, such as a keypad 36, in order to receive user responses, and a display device 38 in order to display responses entered on keypad 36, as well as information transmitted from base unit 22 in a manner set forth below. In the illustrated embodiment, remote response units 24 and system controller 26 have essentially the same hardware architecture (<figref idref="f0002">Fig. 2</figref>). System controller 26 includes a first microprocessor or microcomputer 40, which receives serial communication over channel 34 from computer 32. Microcomputer 40 exchanges data signals over a bus 39 extending to an RF transceiver 42. A power management circuit 44, under the control of microcomputer 40, activates the transmitting circuitry of RF transceiver 42 over a line 43 only when it is time to transmit a data packet. A keypad 36 and an LED, or LCD, display 38 provide respective input and output capabilities for microcomputer 40. Likewise, remote response unit 24 includes a microcomputer 40' which has an input/output connection over a bus 39' with an RF transceiver 42' which transmits and receives signals over antenna 30. A power management circuit 44' activates the transmitting circuitry of RF transceiver 42' over a line 43' only when a transmission is to occur. A keypad 36' and display 38' provide input/output functions for microcomputer 40'. Each remote response unit 24 includes a microphone 46 connected with an audio transmitter 47a, which, in turn, is connected through an audio communication link defined by the antennae, 48a, 48b to an audio receiver 47b in system controller 26. This allows voice communication from a response unit user to the instructor. If the instructor is located at a distance from system controller 26, the audio link utilizes a telephone line illustrated at 49. The audio communication link is opened at system controller 26 and response unit 24 by the activation of transmitter 47a and receiver 47b, under the control of microcomputer 40, 40', only in response to a command from the instructor.
In the illustrative embodiment, microcomputer 40, 40' is an 8-bit microprocessor marketed by Microchip Technology under Model No. PIC 17C42 and having 2<i>K</i> byte internal ROM for control program storage, an internal 256 byte read-and-write memory, and 128 bytes of external electrically erasable read-only memory. In a first preferred embodiment, RF transceiver 42, 42' is a frequency modulated surface-acoustic-wave resonator device capable of transmitting and receiving at a center-band frequency of 418 MHz. The receiving circuitry includes a band-pass intermediate-frequency stage and a phase-lock-loop detector. Such transceiver is commercially available and is marketed by Radiometrix Ltd., Great Britain, under Model No. BIM-418-F.
In a second preferred embodiment, RF transceiver 42, 42' operates on a frequency in the band from 902 to 928 MHz (<figref idref="f0012">Fig. 13</figref>). Transceiver 42, 42' includes a receiving section consisting of an RF amplifier 200 and a mixer 202, which is supplied with a 904.3 MHz signal from a local oscillator 210, in order to provide an intermediate frequency signal (IF) of 10.7 MHz. The IF signal is amplified by IF amplifier 204 and supplied to a detector and data splitter 206, which produces data signals compatible with a microprocessor 208. Microprocessor 208 is interconnected by data lines 39, 39' with the respective microcomputer 40, 40'. Transceiver 42, 42' additionally includes a transmitting section including local oscillator 210, which is modulated by a data output of microprocessor 208, and a power amplifier 212, whose output is connected with antenna 28, 30. Local oscillator 210 is stabilized by a phase-lock-loop frequency synthesizer 214, which receives a reference signal of 6.3 MHz from a frequency reference 216. Power amplifier 212 is keyed on and off from a solid-state power switch 220, which is powered from a solid-state switch 218 under the control of power management circuits 44, 44' through line 43, 43'. All of the circuit components making up transceiver 42, 42' are commonly available from numerous commercial sources.
Keypad 36, 36' in the illustrated embodiment is a commercially available ten-digit membrane switch panel, which is marketed by Spectra Symbol Company of Salt Lake City, Utah. It is to be understood that input device 36 is not limited to a keypad but could be a voice recognition device, a digitizer pad, an alphanumeric keyboard, or other devices capable of receiving a user selection of a response. In the illustrative embodiment, display 38, 38' is a commercially available 24-character by 2-line display. Such display is marketed by Optrex Company of Japan under Model No. DMC24227. The FM communication link between base unit 22 and remote response units 24 is a half-duplex channel in which a base data packet 50 is transmitted by system controller 26 to all remote response units 24, and response data packets 52 are transmitted from each keypad 24 to system controller 26 individually within a time slot that is assigned to each remote response unit. As will be more apparent from the following discussion, base data packet 50 and response data packet 52 have the same essential structure.
Base data packet 50 and response data packet 52 each include a preamble 54, 54' composed of nine bytes of 55 hex, which identifies the transmission as a data packet (<figref idref="f0004">Figs. 5</figref> and <figref idref="f0005">6</figref>). The content of the preamble is sufficiently distinct to preclude false recognition resulting from various EMI sources. The preamble 54, 54' is followed by a sync byte 56, 56' which provides a timing mark for enabling the receiving units to be coordinated in their response intervals. The remaining portion of each data packet 50, 52 is made up of a HEADER 58, 58'; a MESSAGE 60, 60'; and a CHECKSUM 62, 62'. HEADER 58 may include a one-byte response character field 59, which identifies which of five groups of remote response units 24 are to transmit a response data packet in response to that base data packet. For large groups of response units, such as 250 units, it is convenient to divide the units into groups of, for example, 50 units. This provides flexibility in system deployment of various numbers of response units by eliminating the response intervals for phantom response units. Response character field 58' includes a 0 character in order to identify the data packet as a response data packet 52.
HEADER 58 may additionally include a Response Length Byte 72, which instructs the remote response units of the number of characters to include in the MESSAGE field 60'. This allows the transmittal of responses longer than a single character under the control of the base unit. HEADER 58 may additionally include a Base Packet Length field to instruct the remote response units of the number of characters in the base data packet 50. This allows the transmitting of messages of various length globally to all response units in a Global Message field 76. MESSAGE field 60 includes a group of characters 64, 66, 68, and 70 that are individually pertinent to particular response units. The data in MESSAGE field 60 is structured so that each remote response unit is capable of identifying which character, or characters, pertains to that particular unit. However, the entire content of MESSAGE 60 is received by all remote response units and loaded into the memory thereof. Each individual remote response unit examines the character location or locations assigned to that particular unit and responds to the value of the character at that particular location.
MESSAGE field 60 includes a data structure of Acknowledge Bit fields 64, which signify to the remote response units to which each bit pertains, whether the previous response data packet transmitted by that unit was validly received at system controller 26. A field of correct/incorrect flag bits 66 identify to each remote response unit whether the response contained in the previous response data packet entered by the user was correct or incorrect. The value of the correct/incorrect flag bit is set by computer 32 by comparing received responses with a correct answer key. MESSAGE field 60 additionally includes mike control bits 68. Each mike control bit 68 may be set by the instructor via computer 32 in response to a user requesting audio communication with the instructor by entering a defined response in keypad 36. Each mike control bit 68 is assigned to a particular remote response unit in a group of remote response units and, when set, is processed by microcomputer 40'. In response to a mike control bit, microcomputer 40' actuates audio transmitter 47 for that particular remote response unit in order to provide a one-way audio communication from the remote unit user to the instructor through audio receiver 47b in system controller 26 and a transceiver to the host site over a phone line 49.
MESSAGE field 60 additionally includes a Group Identity byte 70 that may take on the value of between one and five. The group identity byte designates which of the groups of remote response units 24 the characters of MESSAGE field 60 pertain. The value of Group Identity byte 70 and MESSAGE field 60, advantageously, may be set to a different group than the Response Byte 59 in HEADER 58. Thus, for example, base data packet 50 may set MESSAGE Group Identity byte 70 at the first group (group 1) and set the Response Byte 58 at a subsequent group (group 2) whereby the group that previously responded by transmitting a response data packet may be acknowledged during a subsequent transmission in order to power down the transceiver for the remote response unit that had previously transmitted a response data packet validly received by the base unit.
MESSAGE field 60 may additionally include a Global Message field 76 containing characters which globally pertain to all, or a group of. remote response units 24. One application for Global Message field 76 is to download operating code to each microcomputer 40'. This avoids the necessity for hardware modifications to upgrade the operating software of each remote response unit 24. Another application for Global Message field 76 is in conjunction with correct/incorrect flag bits 66. Two, or more, messages could be carried in Global Message field 76, with microcomputer 40' programmed to read out one of the messages on display 38 if the correct/incorrect flag bit 66 is of a given value and a different message read-out if the flag bit is of a different value. In this manner, the student may be more thoroughly advised with respect to incorrect answers. In the illustrated embodiment, Global Message field 76 has a capacity of 200 characters. Longer strings of code may be downloaded to each microcomputer 40' through a series of transmissions.
CHECKSUM 62, 62' provides an error detection byte at the end of each base data packet or response data packet. This byte is set to the value of the least significant byte of the sum of all bytes in the respective data packet, in order to ensure that a valid reception of the packet is accomplished, as is understood by those of ordinary skill in the art.
Response data packet 52 includes the response message, or key press character(s), in MESSAGE field 60'. In one embodiment, the response in MESSAGE field 60' is a single character, which is produced by a single keystroke entered with keypad 36. Alternatively, the response in MESSAGE field 60' may be multiple characters in length, the number of characters either fixed or designated by Response Length Byte 72. This allows the system controller 26 to control the length of the response from response data packet 52. Microcomputer 40' in each remote response unit 24 responds to the value set in Response Length Byte 72 by assembling the response data packet 52 with the designated number of characters indicated by Response Length Byte 72. In this manner, responses composed of multiple character words may be collected by remote response system 20.
In another alternative embodiment, microcomputer 40' makes up the response data packet 52 including a null entry in MESSAGE field 60' if the user has not entered a response with keypad 36. When such null response data packet is utilized, each response unit 24 transmits a response data packet in response to each base data packet transmitted by the base unit irrespective of whether or not a user has entered a response. In this manner, the base unit may conduct diagnostics of each remote unit in order to determine if each remote unit is within a non-interfering communication range of the base unit.
Each remote response unit 24 is assigned a unique identification number, or address. Each remote response unit may also be assigned to one of a plurality of groups which, in the illustrated embodiment, are designated groups 1-5. The identification number and group number are retained in response unit memory. Upon receipt and decoding of a base data packet 50, each remote response unit determines, by calculation, the time interval following sync byte 56 when it is to respond. This calculation is based upon the position that the identification number for that remote response unit occupies in its group, as well as the value of base data packet length byte 74 and Response Length Byte 72. If no base data packet length byte or response length byte is utilized, a default value is used.
As previously set forth, base data packet 50 and response data packet 52 are assembled at respective system controller 26 and remote response unit 24 and frequency modulated at RF transceiver 42, 42'. The received FM transmission is received by the RF transceiver 42, 42' of the receiving unit, reduced in frequency and detected. The detected signal is an analog waveform having peaks and valleys that substantially conform to the transmitted data packet. The analog signal produced by the detector is further processed by a data slicer (not shown), which produces a waveform having better defined rise and fall points, and having an amplitude that is appropriate for processing by microprocessor 40, 40'. Microprocessor 40, 40' performs the final step in the decoding process by responding to the rising edges of the data stream provided from RF transceiver 40, 42' in order to identify 0-value bits and 1-value bits in a manner that will now be described.
Each bit of the base data packet and the response data packet is encoded and decoded as follows. A 0-bit 80 is composed of an entire cycle of a square wave as measured from a rising edge 82 to the subsequent rising edge 82 (<figref idref="f0003">Fig. 3</figref>). Alternatively, the waveform cycle could be measured from the falling edge 84 to the subsequent falling edge (not shown). The advantage of this coding technique is that the interval between rising edges, or, alternatively, falling edges, of a transmitted data pulse is exceptionally constant whereas the interval between a rising edge 82 and a subsequent falling edge 84 is rather inconsistent and subject to environmental effects, such as signal strength and temperature. The length L<sub>0</sub> of the 0 bit is encoded at a predetermined time interval by the microprocessor 40, 40' toggling an output a predetermined repetition rate in order to generate the 0 bits. A 1-bit 86 is defined from its leading edge 88 to the leading edge 88 of the subsequent waveform. The waveform cycle has a time interval L<sub>1</sub>, which is much shorter than the interval L<sub>0</sub> for the 0-bit 80. This is accomplished by generating the 1 bit by the microprocessor 40, 40' toggling its output at a predetermined frequency that is higher than that utilized to generate the 0-bit 80. It is to be understood that the above description is arbitrary with respect to which of the 0 bit and the 1 bit is encoded with a longer waveform length and that the 1 bit could be encoded at a length L<sub>0</sub> and a 0 bit at a length L<sub>1</sub>. It is also within the comprehension of the invention that a bit could be encoded for multiple complete waveforms of the square wave. However, the duration of an interval L<sub>0</sub>, L<sub>1</sub> starts and ends at the leading edges, or alternatively the trailing edges, on each waveform. In the illustrated embodiment L<sub>0</sub> is 185 microseconds and L<sub>1</sub> is 90 microseconds.
Because the data is encoded utilizing a variable time interval, the encoded packet will vary in time duration as a function of the value of the respective bits 81 making up the packet (<figref idref="f0003">Fig. 3</figref>). In order to avoid the necessity for allotting a sufficient time window to accommodate the worst case possibility, data 81 is examined prior to encoding in order to determine whether the majority of the bits, in this case 0s, would be encoded according to the greatest length. In the illustration in <figref idref="f0003">Fig. 3</figref>, if the 0 bit is encoded according to the greatest length, the duration required to transmit data 81 would be exceptionally long. As a result, the data 81 is inverted to 81' whereby it is made up primarily of 1 bits which are encoded according to a shorter time length. In this manner, the length of the interval required to transmit data 81 is never longer than would be required to transmit a data word made up of 50 percent of its bits encoded according to the longest duration.
A bit-decoding technique 90 is illustrated in <figref idref="f0003">Fig. 4</figref>. Microcomputer 40, 40' includes an internal counter, which counts the interval between rising edges of the bit-sliced data stream D provided from RF transceiver 42, 42'. The length of the interval, as defined in terms of the microcomputer counts is then compared with two distinct, non-overlapping ranges. A count must fall within one of the ranges in order to be decoded as a valid bit. A bit-count 92 is below the lower limit of one of the intervals and a bit count of 94 is greater than the limit of the same range. Accordingly, counts 92 and 94 would be deemed invalid unless they would fall within the other non-overlapping range, in which case the count would be decoded as the opposite bit. A count 96, which falls within one of the ranges, is decoded as a bit defined by that range. Because a bit count must be greater than the minimum of a range and less than the maximum of a range in order to be decoded as a valid bit and the ranges are non-overlapping, the possibility for erroneously decoding a bit is very small. Any bits which are erroneously decoded would likely be eliminated by the CHECKSUM calculation performed on CHECKSUM byte 62. If the receiving module cannot decode one of the bits, or if the CHECKSUM calculation is invalid, the entire received data packet is discarded and the receiving unit takes no action on that data packet. However, it is the nature of the remote response system 20 that, if one transmission is discarded, the receiving unit is fully capable of responding to a subsequent data packet. Of course, should a remote response unit be positioned with respect to the base unit 22 in a manner where communication between the two units is repetitively unsuccessful, the remote response unit must be repositioned with respect to the base unit in order to be useful. Because, according to the present invention, the remote response unit may be programmed to transmit a response data packet containing a null MESSAGE 60' if the user has not entered a response, the base unit 22 may advise the instructor that a particular remote response unit is out of range or is otherwise inoperable.
System controller 26 includes a control program 100 (<figref idref="f0006">Fig. 7</figref>). Control program 100 is initialized at 102 upon powering up of controller 26. A routine 104 determines if personal computer 32 has formulated any tasks at 106 and responds to any formulated tasks. Program 100 then composes and transmits at 108 a base data packet 50 to all remote response units 24. The program then institutes a delay 110 of finite duration to allow the remote response units 24 to prepare their responses. At the beginning of an interval 1 at 112, the system controller 26 receives a response data packet from the first keypad designated to respond, decodes the response data packet, and passes the decoded data to base personal computer 32 at 114. The program then proceeds to the next interval at 116 and receives, decodes, and passes to personal computer 32 the response data packet from the next keypad at 118. After all of the intervals have been examined, the control returns to routine 104 in order to determine whether a new task has been ordered by computer 32. The software in instructor's computer 32 may formulate a task for system controller 26 to repetitively transmit base data packets until valid responses are received from all of the remote response units, or for a designated number of cycles, or a designated length of time. Accordingly, the routine defined by steps 108-118 may be repetitively carried out under the instructions of personal
A control program 120 is repetitively carried out at each remote response unit 24 (<figref idref="f0007">Fig. 8</figref>). The program is initialized at 122 upon powering up of the unit and waits at 124 to receive a base data packet from system controller 26. When the base data packet is received, the remote response unit examines the characters in the HEADER field 58 in order to determine whether that particular remote response unit is within the group specified by group designator 59 to respond, at 126. The particular remote response unit additionally examines the MESSAGE field 60 and determines from Group Identity byte 70 if the content of the message field pertains to the group of which that particular response unit is a member. Each response unit within the group designated by Group Identity byte 70 examines the Acknowledge Bit field 64, correct/incorrect flag bit 66, and mike control bits 68 that pertain to that particular unit within the group and responds to the values set for those particular bits. If the Acknowledge Bit field 64 for that particular unit is set, then the system controller 26 has validly received the previous response data packet sent by that particular response unit. If the correct/incorrect flag bit 66 is set to correct, microprocessor 40' may illuminate a "correct" indicator or an "incorrect" indicator (not shown) or may provide a particular indication on display 38. In a preferred embodiment, a correct indication could be made by illuminating only the uppermost horizontal segment of a seven-segment display composing display 38 and the incorrect indication could be the lowermost horizontal segment of display 38 or vice versa. Alternatively, the microcomputer 40' may respond to a value of the correct/incorrect flag bit by displaying on indicator 38 a portion of a Global Message field 76, which pertains to correct answers, or a different portion of Global Message field 76, which pertains to an incorrect answer. If mike control bit 68 for that particular remote response unit is set, microcomputer 40' responds by actuating audio transmitter 47a in order to allow one-way audio communication between the user's microphone 46' and the instructor. Remote response unit 24 additionally responds to the Response Length Byte 72 and the base data packet length byte 74 in order to determine appropriate interval timing, as set forth above. When the setup task 126 is complete, an interval timer is run at 128 and the control waits at 130 for the appropriate interval for that particular response unit to transmit. A response data packet is transmitted at 132 during the appropriate interval.
The routine for system controller 26 to compose and transmit a base data packet 108 is further illustrated in <figref idref="f0008">Fig. 9</figref>. Control program 100 initiates a transmission by system controller 26 by getting any task being requested from personal computer 32 at 104. The transmitting portion of RF transceiver 42 is actuated at 134. Preamble 54 is transmitted at 136 to all of the remote response units 24 for the purpose of stabilizing the data transferred from RF transceiver 42, RF transceiver 42' to each remote response unit. The data is allowed to stabilize because the detector portion of the RF transceiver has a finite stabilizing time interval. The sync byte 56, HEADER packet 58, MESSAGE packet 58 and CHECKSUM 62 are transmitted at 138. The transmitter is then turned off at 140 and an interval timer is started at 142. The interval timer matches response data packets from the remote response units 24 with each particular response unit, decodes the packets and makes the information available to personal computer 32.
The system controller 26 receives keypad data under the control of program 100 by repetitively transmitting the base packet and monitoring subsequent intervals for response data packets from the response units (108, 110, 112, 116) (<figref idref="f0009">Fig. 10</figref>). The received response data packets are decoded and the data passed to computer 32 (114, 118). After an entire group of remote response units 24 have transmitted response data packets, system controller 26 compiles Acknowledge Bit field 64 at 144 from a validity test made of each received response data packet.
In order to transmit response data packets, each remote response unit 24 receives a base data packet from the system controller, at 124, over the RF link between antenna 28 and antenna 30 (<figref idref="f0010">Fig. 11</figref>). Microcomputer 40' decodes the received data and determines at 126 whether that remote response unit is in the group that is designated by Response Byte 59 to transmit a response and is in the group identified by Group Identity byte 70 for pertinence of MESSAGE field 60. If so, the characters in MESSAGE 60 that pertain to that particular remote response unit are extracted at 126. If the remote response unit is in the group designated by Response Byte 59 to transmit a response, microcomputer 40' then starts an interval timer and awaits the interval determined at 126 that is assigned to that particular response unit for responding. When that interval arrives, microcomputer 40' turns on RF transceiver 42' at 148 in order to stabilize the transmitter portion thereof and transmits preamble 54' in order to stabilize the data in transceiver 42 of system controller 26 at 150. Remote response unit 24 then transmits the sync byte 56', HEADER 58', MESSAGE character(s) 60' and CHECKSUM 62' to the system controller 26.
Each remote response unit 24 receives the data packet from the system controller via RF link at 162 (<figref idref="f0011">Fig. 12</figref>). If all of the bits are decoded without a rejection, the CHECKSUM for the entire base data packet is verified at 164 in order to accept, or reject, the transmission. The timer, acknowledge, and mode information is extracted at 126 if the response unit is in the group designated by Group Identity Byte 70. It is then determined at 166 whether the aknowledge bit, which pertains to that particular remote response unit in Acknowledge Bit field 64, is set. If so, the transceiver 42' for that keypad is powered down at 168. If it is determined at 166 that the acknowledge bit for that particular remote response unit is not set and the remote response unit is in the group designated by Response Byte 59 to transmit a response, microcomputer 40' starts the interval timer at 128 and waits for the calculated transmit interval at 130. Remote response unit 24 transmits the response data packet at 132. If the remote response unit is not in the group designated by Response Byte 59 to transmit a response, microcomputer 44' will await its Response Byte 59 and then transmit a response data packet.
A method 170 for transferring a large block of data to all remote response units in a time-effective manner is illustrated in <figref idref="f0013">Fig. 14</figref>. Method 170 is initiated by the personal computer associated with system controller 26 dividing the large block of data to be transferred into a multiple-packet data stream at 172. The multiple-packet data stream is passed at 174 to the system controller 26 and is transmitted in its entirety to all remote units at 176. Each remote response unit 24 decodes the multiple-packet data stream and determines whether each packet was accurately received. A bit map is formed in each remote response unit 24 of bits indicating which packets were accurately received. The system controller 26 transmits at 178 a central data packet 50 to all remote response units 24 formatted to request the bit map reports from all of the remote response units. A bit map master is formulated or updated at 180 in the system controller 26 from response data packets 52 encoded with the bit maps of the various remote response units. The system controller examines the master bit map at 182 and sends all packets corresponding to the packets which were not accurately received by even one remote response unit, as reflected in the master bit map. The bit maps of the individual remote response units are retrieved at 184 to reflect the additional accurately received data packets in the same manner as before. The master bit map is updated at 186, and it is determined at 188 whether the number of retries specified for obtaining 100 percent accurate packet data transmission has been reached. If not, another cycle 182, 184, 186 is repeated of sending missing packets, updating the bit maps at each remote response unit, and updating the master bit map. After 100 percent accurate transmission has been achieved, or the retry limit reached, at 188, a message is sent to the base personal computer at 190. The instructor may request that additional retries be attempted or may provide a verbal instruction, to the users of the one or more remote response units which have not completely received the multiple-packet data accurately, to move to a different location in order to retry the process.
The advantage of method 170 is that the time interval required to energize the transceivers 42' of all of the remote response units 24 after each of the data packets are transmitted is avoided. This time interval may be significant because it is multiplied by each of the keypads. By breaking the bulk transmission of data into multiple data packets, only the data packets that are not accurately received at all units, are retried. This avoids the necessity for having to retry the entire bulk data transfer if one or more remote response units do not accurately receive the entire transfer.
Thus, it is seen that the present invention provides a wireless remote response system that has exceptionally good noise immunity and a tolerance for variations in the timing of transmitted signals while ensuring a virtually error-free operation. The system provides exceptional flexibility by allowing the transmittal of message data from the base unit to the remote response units in the same base data packet that synchronizes the transmittal of the response data packets from the remote response units. Advantageously, different groups of response units, which are divided into groups in order to accommodate a larger number of response units on a single RF link, may be designated by a base data packet to: (a) transmit a response data packet and (b) process the message data. The message data accommodates the disbursement of acknowledge bits, for validly received responses, in order to cause the acknowledged response units to stop transmitting. Correctness characters and microphone enable characters may additionally be transmitted in the message data and processed by the remote response units. Furthermore, the invention allows the downloading of a large field of characters globally to all of the remote response units in an efficient manner. This allows the displaying of lengthy feedback messages to the users, for example, in response to correct or incorrect answers, as well as the downloading of operating code for the individual remote response units and the downloading of code for other purposes. Furthermore, the ability of the base unit to instruct the remote response units of the length of the intended response from each of the remote response units, and the ability of the remote response units to respond to such designation by structuring a suitable response data packet, allows the retrieval of responses that are more complex than a single character.
Changes and modifications in the specifically described embodiments can be carried out without departing from the principles of the invention, which is intended to be limited only by the scope of the appended claims, as interpreted according to the principles of patent law.
13 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13
Every citation, both ways
| Document | Relation | Office |
|---|---|---|
| CA2108935A | Cites | Canada |
| DE4321801A | Cites | Germany |
| EP0556853A | Cites | European Patent Office (EPO) |
| EP0619663A | Cites | European Patent Office (EPO) |
| GB1078926A | Cites | United Kingdom |
| GB1523753A | Cites | United Kingdom |
| US3245157A | Cites | United States of America |
| US3314172A | Cites | United States of America |
| US3416243A | Cites | United States of America |
| US3445815A | Cites | United States of America |
| US3491464A | Cites | United States of America |
| US4048729A | Cites | United States of America |
| US4238893A | Cites | United States of America |
| US5002491A | Cites | United States of America |
| US5093786A | Cites | United States of America |
| US5101406A | Cites | United States of America |
| US5273437A | Cites | United States of America |
| US5379213A | Cites | United States of America |
13 members in 3 offices
Priority claims4
| Document | Office | Kind | Date |
|---|---|---|---|
| 265843 | United States of America | – | |
| 26584394 | United States of America | A | |
| 265843 | – | – | – |
| US19940265843 | – | – | – |
Members13
| Document | Office | Kind | |
|---|---|---|---|
| US5379213A | United States of America | A | |
| EP0697773A2 | European Patent Office (EPO) | A2 | |
| EP0697773A3 | European Patent Office (EPO) | A3 | |
| US5724357A | United States of America | A | |
| EP0843432A2 | European Patent Office (EPO) | A2 | |
| EP0843432A3 | European Patent Office (EPO) | A3 | |
| US6021119A | United States of America | A | |
| DE697773T1 | Germany | T1 | |
| EP0697773B1 | European Patent Office (EPO) | B1 | |
| DE69528126D1 | Germany | D1 | |
| DE69528126T2 | Germany | T2 | |
| EP0697773B2This record | European Patent Office (EPO) | B2 | |
| DE69528126T3 | Germany | T3 |
42 legal events, as 4 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent expired after termination of 20 yearsExpiredPE20 | PE20 | GB | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Notification of lapseLapsedST | ST | FR | |
| Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal feeWithdrawnR119 | R119 | DE | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Patent maintained in amended form27A | 27A | EP | |
| Designated contracting statesAK | AK | EP | |
| Patent maintained in amended formORIGINAL CODE: 0009272PUAH | PUAH | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: PATENT MAINTAINED AS AMENDEDSTAA | STAA | EP | |
| Appeal procedure closedAppealORIGINAL CODE: EPIDOSNNOA9OAPBU | APBU | EP | |
| Appeal reference modifiedAppealORIGINAL CODE: EPIDOSCREFNOAPAH | APAH | EP | |
| Date of receipt of notice of appeal recordedAppealORIGINAL CODE: EPIDOSNNOA2OAPBP | APBP | EP | |
| Reply of patent proprietor to notice(s) of opposition receivedOppositionORIGINAL CODE: EPIDOSNOBS3PLBB | PLBB | EP | |
| Notice of opposition and request to file observation + time limit sentOppositionORIGINAL CODE: EPIDOSNOBS2PLAX | PLAX | EP | |
| Notice of opposition and request to file observation + time limit sentOppositionORIGINAL CODE: EPIDOSNOBS2PLAX | PLAX | EP | |
| Opposition filedOpposition26 | 26 | EP | |
| Notice of opposition and request to file observation + time limit sentOppositionORIGINAL CODE: EPIDOSNOBS2PLAX | PLAX | EP | |
| Opposition filedOppositionORIGINAL CODE: 0009260PLBI | PLBI | EP | |
| Examination of admissibility of oppositionOppositionORIGINAL CODE: EPIDOS OPEXPLAV | PLAV | EP | |
| Unpublished change to opponent dataORIGINAL CODE: EPIDOS OPPOPLBQ | PLBQ | EP | |
| Fr: translation filedET | ET | EP | |
| Corresponds to:REF | REF | EP | |
| Designated contracting statesAK | AK | EP | |
| European patent grantedGrantedFG4D | FG4D | GB | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOS IGRAGRAH | GRAH | EP | |
| Despatch of communication of intention to grantORIGINAL CODE: EPIDOS AGRAGRAG | GRAG | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOS IGRAGRAH | GRAH | EP | |
| Despatch of communication of intention to grantORIGINAL CODE: EPIDOS AGRAGRAG | GRAG | EP | |
| De: translation of patent claimsDET | DET | EP | |
| First examination report despatched17Q | 17Q | EP | |
| Party data changed (applicant data changed or rights of an application transferred)RAP1 | RAP1 | EP | |
| Fr: translation of claims filedEL | EL | EP | |
| Request for examination filed17P | 17P | EP | |
| Designated contracting statesAK | AK | EP | |
| Search report despatchedORIGINAL CODE: 0009013PUAL | PUAL | EP | |
| Designated contracting statesAK | AK | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 0697773
- Publication, DOCDB
- 0697773
- Publication, EPODOC
- EP0697773
- Application
- 95304487
- Application, DOCDB
- 95304487
- Application, EPODOC
- EP19950304487
Titles3
- German
- Verfahren zum Sammeln von Zuhörerreaktionen und Datenübertragungsprotokoll
- English
- Audience response system and data transfer protocol
- French
- Système pour recueillir des réponses du public et protocole de transfert de données
Classification
- CPC, 7
- H04H20/38
- G06F15/025
- G06Q30/02
- G09B5/14
- G09B7/06
- H04H60/15
- H04H2201/70
- IPC, 8
- G06F15 02
- G06Q30 02
- G09B5 14
- G09B7 06
- H04H1 00
- H04H9 00
- H04H20 38
- H04H60 15
Designated states3
- Contracting states, 3
- Germany
- France
- United Kingdom
