-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft ein System zum automatischen Erfassen
von Daten am Punkt einer Transaktion und Speichern dieser Daten
in der/den geeigneten Datenbank(en), und insbesondere ein Datentransaktionsverarbeitungssystem
mit einer Transaktionseingabevorrichtung, die wahlweise in einem
Telefonmodus und einem Transaktionseingabemodus arbeiten kann. Im
Telefonmodus funktioniert die Transaktionseingabevorrichtung als
ein herkömmliches
Telefon. Im Transaktionseingabemodus werden jedoch Menüs verwendet,
um den Nutzer zu Formularen zu navigieren, welche die Eingabe der Daten
vereinfachen. Die eingegebenen Daten und die Formulare bilden zusammen
Datentransaktionen, die zu einer oder mehreren Datenbanken zur Bearbeitung
und Speicherung übertragen
werden. Die Datenbank(en) „zerlegt/zerlegen" auch die Datentransaktionen
in ihre Bestandteile und überträgt/übertragen
diese Bestandteile an noch weitere Datenbanken zum Bearbeiten und
Speichern, sodass die Daten in den Datentransaktionen automatisch
alle aktuellen, durch solche Daten beeinflussten Datenbankpositionen
aktualisieren.
-
Beschreibung des Standes
der Technik
-
Das
Telefon ist zu einem immer vielseitigeren Instrument geworden. Die
Funktionalität
von Telefonen wurde durch das Integrieren der Funktionen von Anrufbeantwortern,
Faxgeräten
und dergleichen erweitert. Es wurden auch „Point-of-Entry" – Systeme entwickelt,
die Computerverarbeitungsfähigkeiten
in herkömmliche
Telefone integrieren. Zum Beispiel ist in den US-Patenten 5,195,130,
5,008,927 und 4,991,199 eine Computer/Telefon-Vorrichtung beschrieben,
welche durch die 12-Tasten-Standardtastatur des Telefons betätigt wird.
Ein programmierbares Gate Array ist umgestaltet, um verschiedene
Arten von Software aufzunehmen, die unterschiedliche Hardware-Konfigurationen
erfordern, aber ohne die Hardware tatsächlich umzugestalten. Die Rekonfigurationsdaten
werden von einem Netzhauptrechner empfangen und von dem programmierbaren
Mikrocomputer verwendet, um die Hardware irgendeiner von mehreren
Servicestellen, welche mit dem Netzhauptrechner kommunizieren, zu
emulieren. Auf diese Weise wird die Telefon/Computer-Vorrichtung
konfiguriert, um Daten zu/von irgendeiner Anzahl von unterschiedlichen
Servicestellen über
herkömmliche Telefonleitungen
zu kommunizieren.
-
Jedoch
sind Telefon/Computersysteme der in den vorgenannten Patenten beschriebenen
Art typischerweise ziemlich kompliziert und teuer und sind durch
die Arten von Betriebssoftware, die von dem Netzhauptcomputer heruntergeladen
werden können,
begrenzt. Auch sind solche Telefon/Computersysteme relativ langsam,
da der Mikrocomputer rekonfiguriert werden muss, bevor er eine Kommunikation
mit der angeforderten Servicestelle ermöglicht. Wegen dieser charakteristischen
Merkmale werden solche Telefon/Computersysteme typischerweise an öffentlichen
Orten verwendet und sind nicht effizient zum Erzeugen von „Point-of-Entry"-Transaktionen in typischen
kommerziellen oder privaten Plätzen.
Es ist ein „Point-of-Entry"-Transaktionssystem
erwünscht,
das solche Einschränkungen
nicht hat und das betriebssystem-unabhängig ist.
-
Die
Beseitigung der Anforderung eines herkömmlichen Betriebssystems und
der zugehörigen Anwendungsprogramme
für den
Mikrocomputer einer Dateneingabevorrichtung würde die Kosten eines solchen
Geräts
stark verringern. Jedoch ist dies bisher nicht möglich gewesen, weil das Betriebssystem benötigt wird,
um die Anwendungsprogramme auszuführen, welche die Datenkommunikationen
steuern und zusammen diskrete Teile des Systems bearbeiten. Unglücklicherweise
erfordern solche Anwendungsprogramme wesentliche Mengen lokalen
Speichers und wesentliche Verarbeitungsleistung zum Durchführen der
gewünschten
Funktionen. Auch neigen die Betriebssysteme selbst dazu, zum Erwerben und
zur Instandhaltung ziemlich teuer zu sein.
-
Demgemäß ist ein
Dateneingabesystem erwünscht,
welches die inhärenten
Einschränkungen herkömmlicher „Point-of-Entry"-Systeme, wie beispielsweise
das Erfordernis eines Standard-Betriebssystems zur Kommunikation
mit einer entfernten Servicestelle oder einem Datenserver, nicht
haben. Eine Dateneingabevorrichtung und ein zugehöriges System
sind erwünscht,
die eine minimale Verarbeitungsmenge an der Dateneingabevorrichtung
durchführen,
sodass die Dateneingabevorrichtung so einfach und kostengünstig wie
möglich
sein kann, wodurch die Kosten einer solchen Vorrichtung in einen für die meisten
kommerziellen und privaten Nutzungen geeigneten Bereich gebracht
werden. Es ist auch bevorzugt, dass eine solche Dateneingabevorrichtung
einen weiten Funktionalitätsbereich
vorsieht, ohne ein lokales Betriebssystemprogramm und mehrere Anwendungsprogramme
zum Implementieren jeder Funktion zu erfordern. Die vorliegende
Erfindung wurde entwickelt, um diese Bedürfnisse zu erfüllen.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Das
System, das die obigen Bedürfnisse
in der Technik erfüllt,
enthält
eine Transaktionseingabevorrichtung, die es dem Nutzer erlaubt,
alle Aspekte seiner oder ihrer persönlichen Transaktionen sowie irgendwelcher
Transaktionen, die in einer Büroumgebung
auftreten können,
zu organisieren und zu steuern. In einfachsten Worten formatiert
die Transaktionseingabevorrichtung eingegebene Daten in eine Datentransaktion
mit einem Inhalt, der von der Art der Anwendung abhängt, zu
der die zugehörigen
Daten gehören.
Diese Datentransaktionen werden dann zu einem lokalen oder entfernten
Datenbankserver übertragen,
der jede Datentransaktion in ihre Bestandteile „zerlegt", um alle Datenbanken zu aktualisieren,
die Daten enthalten, zu welche die Daten in den Bestandteilen gehören. In
diesem „Transaktionseingabemodus" funktioniert die
Transaktionseingabevorrichtung als ein Mehrzweck-Arbeitsplatz. Da jedoch die Datentransaktionen
ohne die Verwendung eines Betriebssystems oder von Anwendungsprogrammen
erzeugt werden, ist die Transaktionseingabevorrichtung ziemlich
einfach und kostengünstig und
kann einfach mit dem Tischtelefon oder tragbaren Telefon des Kunden
integriert werden.
-
Die
vorliegende Erfindung kombiniert Computertechnologie und Telefontechnologie,
um das Erfassen von Transaktionsdaten am Ausgangspunkt der Transaktion
zu ermöglichen.
Die Transaktionseingabevorrichtung ist in ein gewöhnliches
Telefon integriert, das entweder als normales Telefon in einem Telefonmodus
oder als eine Transaktionseingabevorrichtung in einem Transaktionseingabemodus
arbeitet. Im Telefonmodus funktioniert das Telefon in einer herkömmlichen
Weise. Im Transaktionseingabemodus wird die Transaktionseingabevorrichtung
jedoch durch einen Mikroprozessor angetrieben, der seinerseits durch
einen betriebssystemunabhängigen
Transaktionsassembler- (oder -anwendungs-) Server (TAS) angetrieben
wird, welcher aus in einem Flash-PROM gespeicherten Datenströmen besteht.
Der TAS ist in seiner Beziehung zur Hardware der Transaktionseingabevorrichtung
absolut in sich geschlossen und führt im Allgemeinen die zwei Grundfunktionen
(1) des Erzeugens einer Schablone oder eines Formulars aus einem
Datenstrom und (2) des Entwickelns einer Datentransaktion, wenn
der Benutzer als Reaktion auf Eingabeaufforderungen in der Schablone
oder dem Formular Daten eingibt, durch. Die Schablone ist eine Reihe
von aus einem lokalen Flash-Speicher gelesenen oder direkt von einer
externen Quelle wie beispielsweise einem Datenbank-Datenserver übertragenen
Datenströmen.
-
Während des
Betriebs werden die durch den Benutzer als Reaktion auf Eingabeaufforderungen
in der Schablone eingegebenen Daten in Datentransaktionen gesammelt,
welche unmittelbar zu einem externen Datenbankserver übertragen
werden. Anders als typische Systeme des Standes der Technik, werden
die Datentransaktionen zur Verarbeitung durch den lokalen Mikroprozessor
nicht lokal gespeichert, wenn die Datentransaktion einmal abgeschlossen
ist. Im Gegenteil ist der einzige erforderliche Speicher in der
Transaktionseingabevorrichtung ein Flash-PROM zum Speichern der
TAS-Firmware, ein Flash-Speicher zum Speichern der durch die TAS-Firmware
zum Vervollständigen
eines Formulars verwendeten Datenströme und der Modemnummern für die entfernten
Datenbankserver, und ein kleiner RAM, der als ein Eingangs/Ausgangs-Transaktionspuffer
zum Speichern der Datenströme
der Schablone und der Nutzerantworten auf die Eingabeaufforderungen
in der Schablone während
des Zusammenbaus einer Datentransaktion arbeitet. Der Transaktionspuffer
muss nur so groß sein
wie die größte Datentransaktion,
da er nur das Formular speichert, bis die gesamte Datentransaktion
abgeschlossen ist. In diesem Sinne dient die Transaktionseingabevorrichtung
als ein Montagepunkt für
bestimmte Transaktionen, bis sie für die Übertragung an einen externen
Datenbankserver zur Verarbeitung und Speicherung bereit sind.
-
Die
durch die Transaktionseingabevorrichtung gebildete Datentransaktion
wird über
ein Modem zu einem lokalen oder einem entfernten Datenbankserver
zur Bearbeitung und Speicherung übertragen.
Die Datentransaktion wird über
Standartprotokolle an dem Datenbankserver empfangen, der in Abhängigkeit
von der Anwendung die gesamte Datentransaktion speichert, die Datentransaktion
zerlegt, um Sekundärdatensätze zu erzeugen,
die dann gespeichert werden, und/oder die Datentransaktion oder
einige oder alle der Sekundärdatensätze zu weiteren
Datenbankservern zum Aktualisieren weiterer diesen Datenbankservern
zugeordneter Datenbanken weiterleitet. Auch können als Reaktion auf Anfragen
von der Transaktionseingabevorrichtung einige der Datenbankserver
Datenströme
zurück
zur Transaktionseingabevorrichtung zur Verwendung beim Komplettieren
der Felder in der Datentransaktion oder beim Anzeigen neuer Formulare
oder Menüs zur
Auswahl schicken.
-
So
weist das Datentransaktionssystem der Erfindung wenigstens drei
Ebenen auf: eine erste Ebene zum Erfassen der Datentransaktion vom
Nutzer, wobei die Datentransaktion eine mehrdeutige Beziehung zu
Dateistrukturen besitzt; eine zweite Ebene zum Zerlegen der Datentransaktion
in ihre Bestandteile auf einer systemspezifischen Basis, sodass
jeder Bestandteil eine eindeutige Entsprechung zu einer Datei hat;
und eine dritte Ebene zum Vorsehen zusätzlicher Zerlegungen der Datentransaktionen
auf einer anwendungsspezifischen Basis, sodass jede Anwendung ihren
eigenen Satz von Datentransaktionen hat.
-
Ein
bevorzugtes Ausführungsbeispiel
der Transaktionseingabevorrichtung der Erfindung ähnelt einem
gewöhnlichen
Telefon, außer
dass sie einen Touch Screen und eine optionale Tastatur für eine Dateneingabe
zusätzlich
zu den herkömmlichen Zahlen-
und Funktionstastatureingaben enthält. Ein Telefon-Handapparat
oder Headset ist optional und kann durch ein Mikrofon und einen
Lautsprecher ersetzt werden. Die Transaktionseingabevorrichtung der
Erfindung enthält
auch RS-232 und andere Eingangs/Ausgangs-Anschlüsse zum Aufnehmen weiterer
Optionen, wie beispielsweise einen Drahtlos- (RF-) Empfänger, einen
Magnetkarten- und/oder Smart Card – Leser, eine Videokamera und
ein Videodisplay, Infrarotsteuerungen und dergleichen. Das Telefon
besitzt normale Tastenfunktionen sowie mobile und zellulare Optionen.
-
Vorzugsweise
enthält
die Transaktionseingabevorrichtung einen Mikroprozessor wie beispielsweise
einen Intel 80386SX oder höher
und ist als Daten implementiert, ein Megabyte Flash-Speicher zum dynamischen
Speichern der Datenströme
für die Schablonen,
ein Megabyte Flash-PROM wird zum Speichern der TAS-Firmware, und
einen 128 kB – RAM,
der als ein Transaktionspuffer funktioniert, zum Speichern der Datenströme der Schablonen
und der Nutzerantworten bis zur Beendigung der Datentransaktion.
Ein Grafikbildschirm kann ebenfalls zum Anzeigen der Schablonen
für den
Benutzer für
die Eingabe der Daten, die die Datentransaktion bilden werden, vorgesehen
sein. Vorzugsweise liegt der Grafikbildschirm in der Größenordnung
von 24 Zeilen auf 40 Zeichen für
eine Desktop-Einheit und 12 Zeilen auf 40 Zeichen für eine Zellular-Einheit.
-
Der
Transaktionsassembler(anwendungs)server (TAS) leitet den Benutzer über Menüauswahlen
zu der gewünschten
Schablone, wobei die Menüs
und Schablonen in dem Flash-Speicher als Datenströme gespeichert
sind und durch die TAS-Firmware aufgerufen werden, wenn sie durch den
Benutzer ausgewählt
werden. Allgemein werden die Menüs
als eine spezielle Art von Schablone oder Formular behandelt. Die
in dem Flash-Speicher gespeicherten Schablonen können zu einer beliebigen Zeit
aktualisiert werden, um besondere Anwendungen zu behandeln, indem
ein neuer Datensatz gelesen wird, der offline erzeugt und über ein
Modem oder eine direkte Verbindung auf den Flash-Speicher der Transaktionseingabevorrichtung
heruntergeladen worden ist. Alternativ können die Daten über einen
RS-232-Eingang heruntergeladen werden. Die gleichen Verbindungen
können
benutzt werden, um ein automatisches Lesen von einer entfernten
Datenbank oder ein automatisches Schreiben auf eine entfernte Datenbank
vorzusehen. Neue Anwendungen können
hinzugefügt
werden, indem einfach zusätzliche
Flash-Speicherelemente mit den notwendigen Schablonen für die neue
Anwendung hinzugefügt werden.
-
Die
Telefon/Transaktionseingabevorrichtung und das zugehörige System
zum Speichern von Transaktionsdaten gemäß der Erfindung ist dahingehend
einzigartig, dass es den Nutzer von der Datenbank trennt und einen
einfachen, nutzerfreundlichen Weg bereitstellt, um Transaktionsdaten
einzugeben, ohne ein lokales Betriebssystem zu benötigen, um verschiedene
Anwendungsprogramme laufen zu lassen. Da alle Daten als Datentransaktionen
eingegeben werden, die durch auf spezielle Anwendungen zugeschnittene
Schablonen bestimmt werden, können
die Nutzeranwendungen so generalisiert werden, dass keine einzigartigen
Nutzeranwendungsprogramme geschrieben werden müssen, wenn eine neue Anwendung
hinzugefügt
wird. Falls jedoch ein Code benötigt
wird oder falls ein Multimedia-Element in
eine Datentransaktion integriert werden soll, kann er/es an eine
Datentransaktion als ein zusätzlicher Parameterstrom
in dem die Datentransaktion bildenden Datenstrom angehängt werden.
Da die Natur der Daten in den jeweiligen Feldern der Schablonen
für spezielle
Anwendungen im Voraus bekannt ist, wird auch die Schnittstelle zu
einem Datenbankserver, um ein Speichern der Datentransaktionen und
ihrer Bestandteile in den geeigneten Datenbanken in den geeigneten
Formaten für
die jeweilige Datenbank zu erlauben, trivial.
-
In
einer alternativen Ausführungsform
der Erfindung kann ein Prozess aus dem Menü der Transaktionseingabevorrichtung,
die ein „sichtbares" Menü entsprechend
einem Sprachmailmenü eines entfernten
Telefonmailsystems erzeugt, ausgewählt werden. Wenn ein solcher
Prozess ausgewählt
wird, stellt die Telefon- oder Modemschnittstelle eine Telefonverbindung
mit dem entfernten Telefonmailsystem her, und wenn die Verbindung
einmal hergestellt ist, sendet der Datentransaktionsassembler eine
Datenanforderung für
eine visuelle Darstellung des Telefonmailmenüs des entfernten Telefonmailsystems über die
Telefonverbindung an das entfernte Telefonmailsystem. Ein die visuelle
Darstellung des Telefonmailmenüs
enthaltender Datenstrom von dem entfernten Telefonmailsystem wird
dann über
die Telefonverbindung zurückgegeben
und in einem Speicher der Transaktionseingabevorrichtung zur Präsentation
des Bildschirms der Transaktionseingabevorrichtung 12 gespeichert.
Wenn die gewünschte Telefonmailmenü-Option
aus dem „sichtbaren" Sprachmailmenü ausgewählt wird,
erzeugt der Datentransaktionsassembler eine Datentransaktion, die angibt,
welcher Menüpunkt
ausgewählt
wurde, und sendet die Datentransaktion über die Telefonverbindung an
das entfernte Telefonmailsystem. Basierend auf der Menüauswahl
gibt das entfernte Telefonmailsystem dann über die Telefonverbindung einen
eine visuelle Darstellung des nächsten
Telefonmailmenüs enthaltenden
Datenstrom zur Speicherung und Anzeige zurück. Dieser Prozess wird wiederholt,
bis die anrufende Partei eine Nachricht hinterlassen muss oder die
angerufene Partei erreicht ist.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Die
oben genannten kennzeichnenden Merkmale der Erfindung werden dem
Fachmann in Anbetracht der folgenden detaillierten Beschreibung der
Erfindung besser verständlich
werden. Es zeigen:
-
1 eine
schematische Darstellung eines Systems zu Eingeben von Datentransaktionen
in Datenbanken gemäß der Erfindung;
-
2 eine
allgemeine Schablone zur Verwendung beim Erzeugen einer Datentransaktion
gemäß der Erfindung;
-
3 eine „zerlegte" Datentransaktion,
bei welcher die Bestandteile einer Datentransaktion an datenbankspezifischen
und dateispezifischen Stellen gespeichert werden;
-
4 die „zerlegte" Transaktion von 3 im
Kontext des in 1 gezeigten Systems;
-
5A und 5B zusammen
ein bevorzugtes Ausführungsbeispiel
einer Transaktionseingabevorrichtung gemäß der Erfindung;
-
6 eine
schematische Darstellung der Elektronik der in 5A und 5B dargestellten Transaktionseingabevorrichtung;
-
7 ein
Flussdiagramm eines menügesteuerten
Transaktionsassembler(anwendungs)servers (TAS) gemäß der Erfindung;
-
8 ein
Flussdiagramm einer Technik zum Bearbeiten eines Formulars, das
zum Bilden einer Datentransaktion benutzt wird, gemäß der Erfindung;
-
9A und 9B zusammen
ein Flussdiagramm einer Technik zum Vervollständigen und Editieren einer
Datentransaktion gemäß der Erfindung;
-
10 ein
Flussdiagramm, wie der TAS die Felder jeder Datentransaktion validiert.
-
DETAILLIERTE BESCHREIBUNG
DES DERZEIT BEVORZUGTEN AUSFÜHRUNGSBEISPIELS
-
Ein
System und ein Verfahren, die die oben genannten Aufgaben erfüllen und
weitere vorteilhafte Merkmale vorsehen, gemäß dem derzeit bevorzugten beispielhaften
Ausführungsbeispiel
der Erfindung werden nun unter Bezug auf 1–10 beschrieben.
Der Fachmann wird leicht erkennen, dass die hier bezüglich dieser
Figuren gegebene Beschreibung nur beispielhaften Zwecken dient und
den Schutzumfang der Erfindung in keiner Weise einschränken soll.
Zum Beispiel wird der Fachmann erkennen, dass das Telefon/Transaktionseingabegerät und -system
zum Eingeben von Datentransaktionen in entfernte Datenbanken gemäß der Erfindung
in zahlreichen Einrichtungen in zahlreichen Anwendungen benutzt
werden kann. Demgemäß sollten
alle Fragen bezüglich
des Schutzumfangs durch Bezugnahme auf die Ansprüche gelöst werden.
-
A. SYSTEMBESCHREIBUNG
-
1. Überblick
-
Das
System der Erfindung sieht das automatische Erfassen und Computerisieren
von zu auftretenden Datentransaktionen gehörenden Daten vor. Eine Datentransaktion
in dem hier benutzten Sinne ist die Kombination eines Formulars
oder einer Schablone oder einer Reihe von Formularen oder Schablonen,
die Dateneingabeaufforderungen enthalten, und der als Reaktion auf
diese Aufforderungen eingegebenen Daten. In der weiteren Beschreibung
werden die Begriffe „Formular" und „Schablone" austauschbar verwendet.
-
Die
Datentransaktionen werden durch eine Transaktionseingabevorrichtung
durch einen interaktiven Prozess zwischen dem Nutzer und dem Formular
eingegeben. Die Datentransaktion wird in einem Transaktionspufferspeicher
in der Datentransaktionseingabevorrichtung assembliert und dann
an eine externe Datenbank zum Speichern übertragen. Es steht kein lokaler
Speicher für
Datentransaktionen zur Verfügung.
Die Datentransaktion wird extern durch die Datenbank dahingehend
definiert, dass alle Anwendungen aus einer Reihe von kundenspezifischen
Formularen und Eingabe aufforderungen zum Erbitten einer Eingabe
der Daten bestehen, die zum Aktualisieren der Datenbanken benötigt werden,
die Daten bezüglich
der speziellen Anwendung enthalten. Im Allgemeinen wird die Datentransaktion
eine mehrdeutige Beziehung zu den Dateistrukturen der Daten für diese
Anwendung enthaltenden Datenbank haben.
-
Die
Datentransaktionen werden mittels der Transaktionseingabevorrichtung
eingegeben. Vorzugsweise ist die Transaktionseingabevorrichtung mit
einer Telefonelektronik kombiniert, sodass die resultierende Vorrichtung
wahlweise als ein herkömmliches
Telefon oder als eine Datentransaktionseingabevorrichtung arbeiten
kann. Die resultierende Transaktionseingabevorrichtung enthält vorzugsweise
einen Touch Screen und/oder eine Tastatur, der/die eine Eingabe
in einen Transaktionsassembler(anwendungs)server (TAS) vorsieht,
der seinerseits Auswahloptionen über
Menüs und
Formulare zur Vervollständigung
durch den Nutzer präsentiert. Die
Menü- und Formularauswahl
und die Formularvervollständigung
erfolgen durch Berühren,
durch Tastenauswahl von der Tastatur, durch Bewegen eines Cursors
zu dem geeigneten Auswahlpunkt und Drücken einer Taste, oder sogar
durch einen Sprachbefehl. Wann immer eine Dateneingabe (anders als eine
bloße
Auswahl) erwünscht
ist, wird dies über
einen menügesteuerten
Auswahlprozess und/oder durch eine direkte Dateneingabe mittels
einer Tastatur, eins Tastenfeldes, eines Touch Screens und dergleichen
erreicht. Im menügesteuerten
Fall wird ein Satz von Optionen dem Bildschirm durch die TAS-Firmware
präsentiert.
Falls dieser Satz von Optionen die Kapazität des Bildschirms übersteigt,
dann wird die Liste durch die Verwendung von Scroll-Tasten an dem
Gerät,
durch einen Sprachbefehl oder durch Berührung an Scroll-Befehlspunkten
nach oben oder unten gescrollt. Wenn die Auswahl einmal gemacht
ist, werden die zu dieser Auswahl gehörenden Daten automatisch von
einer lokalen oder entfernten Datenbank in das Formular eingegeben,
oder die Daten werden durch den Nutzer eingegeben. Im Fall einer
Tastatureingabe kann die TAS-Firmware eine
Tastatur am unteren Ende des Bildschirms zur Berührungseingabe präsentieren;
alternativ kann eine optionale Tastatur, die an der Basis der Transaktionseingabevorrichtung
positioniert ist, verwendet werden.
-
Wenn
die Daten unabhängig
von einem Auswahlprozess eingegeben werden, können solche Daten auch mittels
einer Magnetstreifenkarte eingegeben werden, falls die Daten auf
der Magnetstreifenkarte liegen, oder die Daten können über ein Modem von einer externen
Quelle in die Datentransaktion übertragen
werden. Die von der Magnetstreifenkarte gelesenen Daten können benutzt
werden, um ein Formular auszufüllen,
oder können
zu einer/einem externen Datenbank oder Computer übertragen werden. Die von der/dem
externen Datenbank oder Computer über das Modem zurückgegebenen
Daten können
auch benutzt werden, um die Felder in dem Formular auszufüllen. Falls
erwünscht,
können
die Daten in einer Datentransaktion auch auf eine Magnetstreifenkarte,
eine Speicherkarte und dergleichen geschrieben werden.
-
Die
TAS-Firmware der Erfindung speichert die Optionen sowie Steuerprogramme
(Mikrocode) für
den Prozessor zur Verwendung mit den Schablonen beim Erzeugen der
Datentransaktionen. Die TAS-Firmware enthält auch ein Programm, das eine Verbindung über ein
Modem zu einem/einer oder mehreren externen Computern und Datenbanken
erlaubt. Vorzugsweise stehen zwei Betriebmodi zur Verfügung: Transaktionseingabemodus
(mit oder ohne Modemverbindung) und Telefonmodus. Eine Auswahl entweder
des Transaktionseingabemodus oder des Telefonmodus erfolgt durch
eine Schaltauswahl an der Transaktionseingabevorrichtung.
-
Wenn
die Transaktionseingabevorrichtung in den Transaktionseingabemodus
gesetzt ist, präsentiert
die TAS-Firmware sofort ein Auswahlmenü für alle Optionen, für die das
System zum Abwickeln programmiert ist. Im Telefonmodus ist dagegen
ein Wählton
vorgesehen und das Telefontastenfeld freigeschaltet. Im Telefonmodus
können
eine oder mehrere Leitungen verbunden werden, um so die gleichzeitige
Benutzung der Transaktionseingabevorrichtung ohne Störung der
Modemverbindung zu erlauben. Falls jedoch eine einzelne Telefonleitung
benutzt wird, steht die Telefonleistung zu allen Zeiten oder intermittierend über ein
Modem zur Verfügung, wie
es durch die spezielle Anwendung spezifiziert ist. Im intermittierenden
Modus steuert die Transaktionseingabevorrichtung bei einem „Sichern" einen Verbindungsaufbau
und eine Datenübertragung
zu einem entfernten Datenbankserver. Falls dagegen das Telefon mit
einem automatischen Wählmechanismus
benutzt wird, der eine Telefonliste benutzt, kann die Transaktionseingabevorrichtung
automatisch vom Telefonmodus zum Transaktionseingabemodus wechseln.
In diesem Fall kann eine Anzeige am Telefon benutzt werden, um eine
Namens- und Telefonliste zu präsen tieren,
aus der entsprechend den nachfolgend beschriebenen Menüauswahltechniken
eine Auswahl gemacht werden kann.
-
2. Datentransaktionssystem
(1–4)
-
1 ist
eine schematische Darstellung eines Systems 10 zum Eingeben
von Datentransaktionen in Datenbanken gemäß der Erfindung. Wie veranschaulicht,
weist das System 10 eine erste Ebene bzw. Stufe zum Erfassen
einer Datentransaktion mit einer mehrdeutigen Beziehung zu Dateistrukturen, eine
zweite Ebene bzw. Stufe zum Zerlegen der Datentransaktion in Bestandteile
mit einer eindeutigen Beziehung zu Dateistrukturen, und eine dritte
Stufe bzw. Ebene zum Bereitstellen eines zusätzlichen Zerlegens der Datentransaktionen
für spezielle
Anwendungen auf.
-
Die
erste Stufe weist ein Transaktionseingabegerät 12 auf, das die
Datentransaktion von dem Nutzer als Reaktion auf irgendeine von
mehreren Eingaben vom Nutzer erfasst. Das Transaktionseingabegerät 12 enthält eine
herkömmliche
Telefonelektronik 14 und einen Lautsprecher 16 und
einen Datentransaktionsassembler 18 zum Erzeugen einer Datentransaktion
gemäß der Erfindung.
Ein Bildschirm 20 ist vorzugsweise dem Datentransaktionsassembler 18 zugeordnet,
sodass der Nutzer die Erzeugung der jeweiligen Datentransaktion überwachen
kann. Die Telefonelektronik 14 ist über eine herkömmliche
Sprachverbindung 24 über
die Telefonleitungen mit einem Telefonschaltnetz 22 verbunden, während der
Datentransaktionsassembler 18 über Telefonleitungen 26 mit
einem oder mehreren Datenbankservern 28 verbunden ist.
Wie in 1 dargestellt, können die Telefonleitungen 24 und 26 separate
Leitungen sein, wodurch eine gleichzeitige Benutzung der Telefon- und der Dateneingabefunktionen ermöglicht wird,
oder die Telefonelektronik 14 und der Datentransaktionsassembler 18 können mit
einer einzelnen Leitung verbunden sein, wie in Phantomlinien in 1 veranschaulicht.
Natürlich
wird, wenn die Telefonelektronik 14 und der Datentransaktionsassembler 18 mit
einer einzelnen Leitung verbunden sind, ein Modusschalter ihre jeweiligen
ausschließlichen
Funktionsweisen freigeben, oder alternativ kann eine beliebige Anzahl
von herkömmlichen Übertragungsmodellen
verwendet werden, um eine gleichzeitige Übertragung der Sprache von
der Telefonelektronik 14 und der Daten von dem Datentransaktionsassembler 18 über die
gleiche Leitung zu ermöglichen.
-
Während eines
Betriebs im Transaktionseingabemodus reagiert das Transaktionseingabegerät 12 auf
Nutzereingabegeräte
wie beispielsweise einen Touch Screen, ein Telefontastenfeld, eine
Tastatur, ein Mikrofon, eine Magnetstreifenkarte, eine Speicherkarte,
einen Videoeingang und dergleichen, um mittels des Datentransaktionsassembler 18 Datentransaktionen
zu bilden. Alternativ arbeitet das Transaktionseingabegerät 12 in
einem Telefonmodus als ein herkömmliches
Telefon und empfängt
Eingänge
von einem Mikrofon und/oder einem Hörer, einem Touch-Tone-Tastenfeld und dergleichen.
Mehr Einzelheiten des Transaktionseingabegeräts 12 und des Datentransaktionsassembler 18 werden
in den nächsten
Abschnitten unter Bezug auf 5–10 bereitgestellt.
-
Die
zweite Stufe weist einen oder mehrere Datenbankserver 28 und
ihre zugehörigen
Datenbanken 30 auf. Im Allgemeinen empfängt jeder Datenbankserver 28 Datentransaktionen
von einem oder mehreren Transaktionseingabegeräten 12 und „zerlegt" die empfangenen
Datentransaktionen in ihre Bestandteile zur Speicherung in den geeigneten Dateien
der zugehörigen
Datenbank 30. Mit anderen Worten wird die mehrdeutige Dateistruktur
der Datentransaktionen von einem oder mehreren Transaktionseingabegeräten 12 in
viele eindeutige Datentransaktionen zur Speicherung in einzelnen
Dateien der Datenbank 30 umgewandelt.
-
Jeder
Datenbankserver 28 enthält
ein Modem 32 zum Senden/Empfangen von Daten von den Telefonleitungen 26,
insbesondere der Datentransaktionen von einem oder mehreren Transaktionseingabegeräten 12.
Vorzugsweise werden die Datentransaktionen über die Telefonleitungen 26 als
Datenpakete mit zum Beispiel 128 Bytes übertragen, wobei 120 Bytes
Informationen und 8 Bytes Steuerdaten enthalten. Eine Transaktionswarteschlange 34 dient
als ein Eingangspuffer für
die empfangenen Datentransaktionen und steuert die Präsentationsrate
der Datentransaktionen zu der Transaktionssteuerung 36.
Die Transaktionssteuerung 36 bearbeitet die empfangenen
Datentransaktionen, um die physikalischen Dateibeziehungen der Bestandteile
der Datentransaktionen zu extrahieren, und speichert die Bestandteile und
verschiedene Kombinationen davon in den geeigneten Dateien der zugehörigen Datenbank 30.
Alternativ kann die Transaktionssteuerung 36 eine Datenanforderung
von dem Datentransaktionsassembler 18 bearbeiten, der Informationen
von der Datenbank 30 zum Vervollständigen bestimmter Felder einer
durch das Transaktions eingabegerät 12 vorbereiteten
Datentransaktion anfordert. Die Datenbank 30 stellt dann
die angeforderten Informationen dem Datenbankserver 28 bereit,
der über
das Modem 32 einen Datenstrom zurück zum Datentransaktionsassembler 18 zur
Verwendung beim Vervollständigen der
Datentransaktionen oder Präsentieren
zusätzlicher
Menüs und
Formulare gemäß der Erfindung
bereitstellt. Typischerweise werden eine Nutzer-ID und ein Passwort
zu der Transaktionssteuerung 36 übertragen, um das Einrichten
einer Verbindung durch den Datentransaktionsassembler 18 zu
erlauben. Somit prüft
und speichert die Transaktionssteuerung 36 auch Anmelde-
und Abmeldeinformationen zusätzlich
zum Speichern von Datentransaktionen und Leiten von wiederhergestellten
Datentransaktionen zu weiteren Datenbankservern, wie hier beschrieben. Außerdem kann
der Datenbankserver 28 ein herkömmliches Telefonmail-System
mit einer zugehörigen
Datenbank zum Speichern von Sprachmail-Nachrichten enthalten. In
diesem Fall kann die Datentransaktion Sprachdaten zur Speicherung
in dem entfernten Sprachmail-System enthalten.
-
Wie
in 1 dargestellt, können mehrere Datenbankserver 28 vorgesehen
sein. Vorzugsweise hat jedes Transaktionseingabegerät 12 einen
zugehörigen
Datenbankserver 28 zum Durchführen irgendeiner gewünschten
Bearbeitung seiner Datentransaktionen, obwohl es bevorzugt ist,
dass die Datentransaktionen zu wenigstens einem weiteren Datenbankserver 28 kopiert
werden, wie in 1 dargestellt. Diese Redundanz
minimiert die Möglichkeit des
Verlierens von Daten im Fall eines Stromausfalls und dergleichen.
Vorzugsweise enthält
jeder Datenbankserver 28 im Wesentlichen die gleiche Hardware,
obwohl das Modem 32, die Transaktionswarteschlange 34 und
die Transaktionssteuerung 36 zur Vereinfachung der Darstellung
nicht für
alle Datenbankserver 28 dargestellt worden sind.
-
Im
Transaktionseingabemodus erzeugt der Datentransaktionsassembler 18 des
Transaktionseingabegeräts 12 eine
Datentransaktion, die zu einer zugehörigen Transaktionssteuerung 36 eines zugeordneten
Datenbankservers 28 übertragen
wird. Mit „zugehörig" ist gemeint, dass
der Datenbankserver 28 funktioniert, um irgendeine Bearbeitung
durchzuführen,
die in Zusammenhang mit der Speicherung einer Datentransaktion von
einem speziellen Transaktionseingabegerät 12 angefordert wird
oder notwendig ist. Natürlich
kann ein spezieller Datenbankserver 28 mehrere ihm zugeordnete
Transaktionseingabegeräte 12 haben.
Damit keine Daten verloren gehen, kann ein spezieller Datenbankserver 28 auch als
eine Datensicherung für
einen anderen Datenbankserver 28 im Fall des Versagens
irgendeines Datenbankservers 28 dienen.
-
Wie
nachfolgend in mehr Einzelheiten bezüglich 2–4 erläutert, „zerlegt" der Datenbankserver 28 die
von dem Datentransaktionsassembler 18 empfangenen Datentransaktionen
und stellt die Bestandteile der zerlegten dateiabhängigen Datentransaktionen über das
Modem 32 weiteren Datenbankservern 28 bereit,
wie es zum Aktualisieren der weiteren Datenbanken notwendig ist.
Alternativ kann das „Zerlegen" der Datentransaktionen durch
den Datentransaktionsassembler 18 an dem Transaktionseingabegerät 12 durchgeführt werden, und
die Bestandteile können
allen geeigneten Datenbanken 28 zum Aktualisieren der Daten
darin übertragen
werden. Zu diesem Zweck muss der Datentransaktionsassembler 18 auch
die Modemnummern für
alle Datenbankserver 28, die durch die zerlegten Datentransaktionen
aktualisiert werden sollen, kennen. Der Fachmann wird jedoch erkennen,
dass diese letztgenannte Alternative einen Zugriff auf zahlreiche
Telefonleitungen durch das Transaktionseingabegerät erfordert
und dass solche Telefonleitungen dem Nutzer nicht immer zur Verfügung stehen.
-
Schließlich enthält die dritte
Stute des Systems 10 zusätzliche Datenbankserver 38 und
Datenbanken 40, die dateiabhängige Datentransaktionen für spezielle
Anwendungen unterstützen.
Diese zusätzliche
Stufe von Datenbankservern 38 und Datenbanken 40 ermöglicht das
Weiterleiten der Daten in den Datentransaktionen zu anwendungsspezifischen Datenbanken
zur Speicherung anwendungsspezifischer Daten und einen Zugriff durch
diese Transaktionseingabegeräte 12,
die Daten bezüglich
dieser speziellen Anwendung anfordern.
-
Das
Erzeugen und Speichern einer Datentransaktion gemäß der Erfindung
wird nun Bezug nehmend auf 2–4 beschrieben.
-
Die
Datentransaktionen werden durch den Datentransaktionsassembler 18 als
ein Datenstrom eines bekannten Formats erzeugt. Eine allgemeine Datentransaktion
ist in 2 veranschaulicht. Wie hier definiert, wird eine
Datentransaktion mittels eines Formulars erzeugt, das ein oder mehrere
Elemente der folgenden enthält:
An weisungen, Eingabeaufforderungen, Menüauswahloptionen und eine Schablone
mit Feldern zur Dateneingabe. Im Allgemeinen besteht das Menüformular
aus Eingabeaufforderungen zum Auswählen eines Formulars, eines weiteren
Menüs oder
eines Prozesses, und einem einzelnen Platz zum Eingeben einer Auswahl,
während
das Dateneingabeformular aus Eingabeaufforderungen und Anweisungen
zusammen mit Feldern zum Eingeben von Daten besteht, wie in 2 dargestellt.
Das Dateneingabeformular kann entweder ein einzelnes oder mehrere
Felder zum Eingeben von Daten haben.
-
Im
Transaktionseingabemodus navigiert der Nutzer durch Menüs des Datentransaktionsassemblers 18,
bis ein Formular ausgewählt
ist, das sich auf eine spezielle Art eines Dateneingabevorgangs
bezieht. Einmal ausgewählt,
wird das Datentransaktionsformular 42 dem Nutzer auf dem
Anzeigegerät 20 präsentiert.
Das Datentransaktionsformular 42 ist eine Sammlung von
Daten, die die optische Präsentation
auf dem Anzeigegerät 20 definieren,
und eine Liste der Felder, durch welche Verbindungen mit externen
Datenbankdateien definiert sind.
-
Wie
in 2 dargestellt, enthält ein Datentransaktionsformular 42 ein
Formatfeld 44, das die Art der Datentransaktionen, die
dieses Formular betrifft, die Länge
des Formulars, die Anzahl von Seiten in dem Formular, die Anzahl
von Bytes in jedem Feld, Speichertasten und dergleichen identifiziert.
Der Aufbau des Datentransaktionsformulars 42 weist eine vorbestimmte
Reihe von Eingabeaufforderungen 46 auf, die dem Bildschirm 20 als
ein Datenstrom bereitgestellt werden. Die Eingabeaufforderungen
enthalten vorzugsweise beschreibende Daten, welche alphanumerisch,
ein Symbol oder eine Liste, die erforderlichenfalls scrollt, sein
können.
Felder 48 sind leere Räume
vorbestimmter Größe, die
zum Annehmen einer Nutzereingabe als Reaktion auf jede Eingabeaufforderung
vorgesehen sind. Im Allgemeinen ist die Größe jedes Feldes 48 ebenfalls
im Strom der das Datentransaktionsformular 42 definierenden
Daten gespeichert. Da die Eingabeaufforderungen maßgeschneidert
sind, um die notwendigen Daten für
die Anwendung zu eruieren, für
welche das Datentransaktionsformular 42 erzeugt wurde,
enthalten die Felder 48 die zum Bearbeiten einer Datentransaktion
für diese
spezielle Art von Anwendung notwendigen Nutzerdaten. Die Nutzerantworten
werden Teil des Datenstroms, der die Datentransaktion bildet. Typischerweise
enthält
das Datentransaktionsformular 42 auch ein sonstiges Bearbeitungsfeld 50,
das ein Anhängen
von diesem Formular eigenen Verarbeitungsdaten an die Datentransaktion
zur Übertragung ermöglicht.
Solche Verarbeitungsdaten können
zum Beispiel Gleichungen, die die Beziehungen der Daten in bestimmten
Feldern der Datentransaktion definieren, oder an eine Multimedia-Datentransaktion angehängte Audio-
oder Videodaten enthalten. Außerdem
können
mit der Zeit der Dateneingabe, dem Datum der Dateneingabe, der Nutzer-ID
und dergleichen zusammenhängende
Nichtanzeigedaten in dem sonstigen Verarbeitungsfeld 50 gespeichert werden.
-
3 und 4 zeigen
das „Zerlegen" des Stroms der die
unter Verwendung des Datentransaktionsformulars 42 von 2 erzeugten
Datentransaktion bildenden Daten. Wie in 3 dargestellt,
enthält
jede Datentransaktion Daten, die für eine spezielle Datenbank
spezifisch und/oder für
spezielle Dateien in einer oder mehreren Datenbanken spezifisch sind.
Die Daten in der Datentransaktion werden dementsprechend „zerlegt". Zum Beispiel wird
die komplette Datentransaktion von 2 (Formular
A) in einer speziellen Datei (Datei 110) der dem Transaktionseingabegerät 12,
welches die Datentransaktion erzeugte, zugeordneten Datenbank 30 (Datenbank 11
in 1) gespeichert. Das Speichern der gesamten Datentransaktion
ist erwünscht,
sodass im Fall eines Systemfehlers, eines Stromausfalls und dergleichen
Aufzeichnungen erhalten bleiben können. Dann extrahiert die Transaktionssteuerung 36 Daten
aus diesen Feldern der Datentransaktion, bei welchen sie weiß, dass
sie Formulare dieser speziellen Art betreffen. Zum Beispiel können die
Daten in den Feldern 1, 2, 6, 10 und eine Funktion der Daten in
Feld 11 eine spezielle Anwendung betreffen, die in der Datei 111 der
Datenbank 11 gespeichert ist. In ähnlicher Weise können die
Daten in den Feldern 3, 6, 10, 12 und 14 eine Anwendung betreffen,
die in der Datei 112 der Datenbanken 11 gespeichert ist, während die
Daten in den Feldern 1, 2, 7, 8, 9 und eine Funktion der Daten in
den Feldern 10, 11 und 12 eine in der Datei 113 der Datenbank 11
gespeicherte Anwendung betreffen können. Diese Felder werden aus
der empfangenen Datentransaktion durch die Transaktionssteuerung 36 extrahiert,
in einen Dateieintrag des geeigneten Formats (wie benötigt) wiederhergestellt
und in der zugehörigen
Datenbank 30 gespeichert.
-
Alle
Daten in der empfangenen Datentransaktion oder ein Untersatz davon
können
auch zu einer oder mehreren weiteren anwendungsspezifischen Datenbanken
neu übertragen
werden, wie beispielsweise zur Datenbank 21 der Datenbanken 40 in Stufe
3. Wie in 3 veranschaulicht, werden die
datenbankspezifischen Daten der Felder 1, 4, 5, 13 und 14, die den
Untersatz (Formular B) der ursprünglichen
Transaktion (Formular A) bilden, in der Datei 210 der Datenbank
21 gespeichert, sodass man eine komplette Aufzeichnung erhalten
kann. Untersätze der
Daten in Formular B werden dann in speziellen Dateien der Datenbank
21 gespeichert, wie angegeben. Auf diese Weise werden die Daten
der ursprünglichen
Datentransaktion (Formular A) automatisch zu allen Datenbanken geschickt,
die Dateien enthalten, die durch irgendwelche oder alle der Daten in
Formular A aktualisiert werden müssen.
-
4 zeigt
das Zerlegen der Datentransaktion in 3 für das in 1 dargestellte
System 10. Wie dargestellt, werden die Daten in der Datentransaktion
(Formular A) extrahiert, um Dateien 110–113 der Datenbank 11 sowie
Dateien 210–212
der Datenbank 21 zu aktualisieren. Eine redundante Kopie des Formulars
A wird ebenfalls in der Datenbank 12 gehalten.
-
Wie
nachfolgend vollständiger
erläutert,
ist das System von 1–4 darin
bezeichnend, dass die Daten in einer Datentransaktion eine oder mehrere
Datenbanken aktualisieren können,
die durch Dateiserver gepflegt werden, die unter der Steuerung zahlreicher
Arten von Betriebssystemen betrieben werden, ohne die Anforderung
einer Emulation eines Endgeräts
oder eines Betriebssystems durch das Transaktionseingabegerät 12.
Im Gegenteil ermöglicht
das Transaktionseingabegerät 12 der Erfindung
eine Datenerfassung und -speicherung mit einer minimalen Verarbeitungsmenge
an dem Transaktionseingabepunkt (Stufe 1), was natürlich die
Systemkosten minimiert.
-
B. Transaktionseingabegerät 12 (5–10)
-
Wie
oben erwähnt,
ist das Transaktionseingabegerät 12 insbesondere
durch den Datentransaktionsassembler 18 gekennzeichnet,
der die verschiedenen Funktionen des Transaktionseingabegeräts 12 in
seinem Transaktionseingabemodus steuert. Vorzugsweise benutzt der
Datentransaktionsassembler 18 einfache Menüstrukturen
und vorbestimmte Formulare, die als Datenströme in einem Flash-Speicher
gespeichert sind, um die Dateneingabe zu vereinfachen. Die Menüs werden
als eine spezielle Art von Formular behandelt und werden benutzt,
um weitere Menüs, Formulare
oder Prozesse aufzurufen. Die Formulare werden dagegen benutzt,
um Datentransaktionen zu erzeugen, die zu einem oder mehreren Dateiservern,
die unter verschiedenen Betriebssystemen arbeiten, geschickt werden,
wobei die Datentransaktion in ihre Komponenten zur Speicherung in
einer eindeutigen Dateistruktur zum Aktualisieren aller Aufzeichnungen,
die durch die Daten in dieser Datentransaktion beeinflusst werden,
in ihre Bestandteile „zerlegt" wird. Die „zerlegten" Datentransaktionen
können
ihrerseits zu einer weiteren anwendungsspezifischen Datenbank (Stufe
3) zur Speicherung übertragen
werden. Prozesse werden dagegen ausgewählt, um eine begrenzte Verarbeitung
der Werte in den Feldern der Formulare durchzuführen. Eine solche Verarbeitung
kann lokal durchgeführt werden,
aber sie wird vorzugsweise durch den zugehörigen Datenbankserver 28 durchgeführt.
-
1. Hardware
-
Ein
bevorzugtes Ausführungsbeispiel
eines Transaktionseingabegeräts 12,
das in ein herkömmliches
Telefon integriert ist, ist in 5 und 6 dargestellt.
Wie in 5A dargestellt, enthält ein bevorzugtes
Desktop-Ausführungsbeispiel
eines Transaktionseingabegeräts 12 ein
Gehäuse 52 in
der Größenordnung
einer Breite von 8 Inch auf eine Länge von 12 Inch zum Aufnehmen
der Telefonelektronik 14 und der Hardware des Datentransaktionsassemblers 18.
Das Transaktionseingabegerät 12 enthält ein optionales
Handgerät
(oder Headset) 54, eine Gabel 56 (5B),
ein numerisches Tastenfeld 58, Telefonfunktions/Leitungstasten 60,
ein Mikrofon 62 und einen Lautsprecher 16, welche
die Bedienung des Transaktionseingabegeräts im Telefonmodus erleichtern.
Wie dem Fachmann bekannt, können
die durch die Telefonfunktionstasten 60 zugänglichen
Telefonfunktionen Stummschaltung, Lautsprecher, Leitungsauswahl,
Konferenz, Halten, Übertragung,
Lautstärkeregelung
und dergleichen enthalten.
-
Das
Transaktionseingabegerät 12 ist
jedoch weiter durch eine Anzeige 20 mit Touch Screen 64, Modusschalt/Computerfunktionstasten 66,
einer optionalen herausziehbaren Tastatur 68 und einem
optionalen Magnetkartenleser/Smart Card – Leser 70 gekennzeichnet,
was die Bedienung des Transaktionseingabegeräts 12 im Transaktionseingabemodus erleichtert.
Ein Speicherkartenleser kann ebenfalls über eine Klappe (nicht dargestellt)
wie in einem Laptop-Computer zugänglich
sein. Vorzugsweise ist die Anzeige 20 eine reflektierende
Supertwist-Flüssigkristallanzeige
(LCD) mit hohem Kontrast mit minimal 20 Zeichen je Zeile und 16
Zeilen (vorzugsweise 40 Spalten auf 25 Zeilen), wobei ein Touch
Screen 64 vorzugsweise eine klare druckempfindliche Tastatur bestehend
aus 224 Tasten (16 Reihen von 14 Tasten), die auf der Fläche der
LCD angebracht sind, ist. Vorzugsweise steht die LCD auch als eine
hintergrundbeleuchtete Einheit zur Verfügung. Natürlich ist der Touch Screen 64 nicht
notwendig, falls die optionale Tastatur 68 vorgesehen ist.
Außerdem
kann eine Sicherheitsbatterie (6) vorgesehen
sein; alternativ kann die Batterie 71 die Primärstromquelle
für ein tragbares
(zellulares) Ausführungsbeispiel
des Transaktionseingabegeräts 12 gemäß der Erfindung sein.
-
5B zeigt
einige der Anschlüsse
des Transaktionseingabegeräts 12.
Typischerweise enthält
das Transaktionseingabegerät 12 eine
Handapparat- (Headset-) Buchse 72 zum Anschließen eines optionalen
Handapparats (Headsets) 54 an die Telefonelektronik 14,
wenn es erwünscht
ist, mehr privat zu kommunizieren als wenn nur das Mikrofon 62 und der
Lautsprecher 16 benutzt werden. Ein Videoeingangsanschluss 74 ist
ebenfalls zum Verbinden einer herkömmlichen Datenkompressionsschaltung 75 in dem
Transaktionseingabegerät 12 (6)
mit einer optionalen Videokamera, die ein Video des Bildtelefontyps
vorsieht, oder mit einem Faxgerät
oder Scanner vorgesehen. Solche Videodaten können rahmenweise an das Ende
einer Datentransaktion in dem sonstigen Verarbeitungsfeld 50 angehängt werden, um
eine Multimedia-Datentransaktion zu erzeugen, wie oben unter Bezugnahme
auf 2 beschrieben. Ein Videoausgangsanschluss 76 ist
ebenfalls zum Bereitstellen dekomprimierter Video- oder Faxdaten von
der Datendekompressionsschaltung 77 (6) an
einen Videoempfänger,
einen hochqualitativen Computerbildschirm, ein Faxgerät und dergleichen vorgesehen.
Solche Daten können
ebenfalls einem Druckeranschluss 82 oder 84 bereitgestellt
werden, falls erwünscht.
Eine Mehrleitungstelefonbuchse (Modemschnittstelle) 78 ist
ebenfalls vorgesehen. Vorzugsweise sieht die Modemschnittstelle 78 separate
Modemverbindungen für
die Telefonelektronik 14 und den Datentransaktionsassembler 18 vor,
obwohl nur eine einzelne Modemverbindung notwendig ist.
-
Ein
optionaler Infrarot-Transceiver 80 ist ferner zum Ermöglichen
eines Fernsteuerbetriebs einer Fernseh- und Stereoausrüstung und
dergleichen als Reaktion auf durch das Transaktionseingabegerät 12 gesendete/empfangene
Datentransaktionen vor gesehen. Der Infrarot-Transceiver 80 enthält einen
internen Signalgeneratorchip, der in dem Datentransaktionsassembler 18 gespeicherte
Parameter zum Bestimmen der geeigneten Übertragungsfrequenzen für die Infrarotsignale
liest. Eine Steuerung der Infrarotvorrichtungen ist dann durch Menüs auf der
Anzeige 20 vorgesehen. Weitere Infrarot-Transceiver 80 können ebenfalls
an jeder Ecke des Gehäuses 52 vorgesehen
sein, sodass das Infrarotsignal mehr Bereich abdeckt (jeder Sender
deckt typischerweise etwa 60° Umfang
ab). Alle solche Geräte
sind dem Fachmann bekannt und werden daher hier nicht im Detail
beschrieben.
-
Ein
serieller Anschluss 82 einer Computerschnittstelle (RS-232)
und ein paralleler Anschluss 84 sind ebenfalls zum Senden/Empfangen
von Daten zu/von einem weiteren Computergerät bzw. zum Bereitstellen eines
Ausgangs zu einem Drucker vorgesehen. Ein Stromeingangsanschluss 86 und
ein Tastatureingang 88 sind ebenfalls vorgesehen. Der Tastatureingang 88 nimmt
eine Verbindung von einer Standard-Tastatur oder einer ausklappbaren
Tastatur (nicht dargestellt) an, die zusätzlich zu oder anstelle der
herausziehbaren Tastatur 68 benutzt werden können. Eine
optionale entfernbare PCMCIA-Speicherkartenschnittstelle 89 (6)
zum Aktualisieren der Betriebsanweisungen des Datentransaktionsassemblers 18 und
ein optionaler RF-Transceivers 90 (6) für ein drahtloses
Netzwerk mit einer anderen elektronischen Ausrüstung können ebenfalls an dem Transaktionseingabegerät 12 vorgesehen
werden, falls erwünscht.
-
6 ist
eine schematische Darstellung der Elektronik des in 5A und 5B dargestellten Transaktionseingabegeräts. Entsprechende
Bezugsziffern für
entsprechende Elemente sind in 5A und 5B und 6 benutzt.
Wie in 6 dargestellt, kann das Transaktionseingabegerät 12 zusätzlich zu
den oben unter Bezug auf 5A und 5B beschriebenen
Elementen eine einfache Spracherkennungsschaltung 91 enthalten,
die eine Sprachauswahl von Menüoptionen
und dergleichen ermöglicht.
Im „Sprachauswahl"-Modus würde der
Nutzer in Abhängigkeit
von der gewünschten
Menüauswahl „1 ", „2" oder „3" sprechen, und die
Sprache würde durch
das Mikrophon 62 an dem Gehäuse 52 des Transaktionseingabegeräts 12 aufgenommen
und durch die Spracherkennungsschaltung 91 erkannt werden.
Das richtige Auswahlsignal würde
dann an den Datentransaktionsassembler 18 geschickt werden.
Analog kann der Datentransaktionsassembler 18 mittels eines
herkömmlichen
Sprach synthesizers 92, der dem Nutzer über einen Lautsprecher 16 und einem
Anrufer über
die Modemschnittstellen/Telefonleitungs-Verbindung 78 den
Audioausgang bereitstellt, einen hörbaren Ausgang vorsehen. Der Sprachsynthesizer 92 kann
zum Beispiel bestimmte Datentransaktionen für eine blinde Person, die keine Auswahl
von einer herkömmlichen
Videoanzeige machen kann, hörbar
werden lassen. Außerdem
kann ein Sprachaufzeichnungsgerät 93 so
vorgesehen werden, um Abschnitte von Telefonanrufen, Abschnitte
von Sprachdatentransaktionen oder eine Anrufermitteilung wie bei
der Benutzung eines herkömmlichen
digitalen Anrufbeantworters aufzuzeichnen. Andererseits kann das
Sprachaufzeichnungsgerät 93 in
dem Datenbankserver 28 zur Verwendung beim Speichern/Weiterleiten
von hörbaren
Nachrichten an die Datenbank 30 vorgesehen sein.
-
Wie
oben erwähnt,
ist das Transaktionseingabegerät 12 durch
den Datentransaktionsassembler 18 gekennzeichnet, der die
Erzeugung von Datentransaktionen im Transaktionseingabemodus steuert.
Wie in 6 dargestellt, ist der Datentransaktionsassembler 18 durch
einen herkömmlichen
Mikroprozessor 94, wie beispielsweise einen Intel 80386SX
(20 MHz oder höher)
oder äquivalent,
einen TAS-PROM 95, einen Formular/Menüspeicher 96 und einen
Transaktionspufferspeicher RAM 97 in Hardware implementiert.
In einem bevorzugten Ausführungsbeispiel
ist der TAS-PROM 95 ein Flash-PROM,
der 1 MB Steuerdaten (Firmware) für den Mikroprozessor 94 (beispielsweise
den Mikrocode für
die Algorithmen der 7–10 unten) hält, während der
Formular/Menüspeicher 96 ein Flash-Speicher
ist, der 1 MB Datentransaktionsmenüs und -formulare hält. Der
Transaktionspufferspeicher 97 muss dagegen nur so groß wie die
größte Datentransaktion
sein und kann zum Beispiel bis zu 128 kB Transaktionsdaten einschließlich Anwendungs-
und Betriebssystemvariablen halten. Vorzugsweise werden der TAS-PROM 95 und
der Formular/Menüspeicher 96 durch
Herunterladen von Datenströmen,
die neue Anweisungen und/oder Formulare und Menüs enthalten, über einen
herkömmlichen
Datenbus 98 über
ein Modem 78, eine Magnetkartenschnittstelle 70 oder über eine
durch die Speicherkartenschnittstelle 89 gelesene entfernbare Speicherkarte
aktualisiert, falls erforderlich. Alternativ können zusätzliche Flash-Speicherelemente
hinzugefügt
werden, wenn zusätzliche
Anwendungen dem Transaktionseingabegerät 12 hinzugefügt werden.
Der Transaktionspufferspeicher 97 kann auch erweitert werden,
um Transaktionen irgendeiner Größe oder
Art, einschließlich
Multimedia-Anwendungen, bei denen Video- und/oder Audiodaten an
die Datentransaktionen angehängt
werden, zu behandeln.
-
Der
Fachmann wird erkennen, dass das Transaktionseingabegerät 12 an
eine Dockstation eines Netzwerks angedockt werden kann. Der RF-Transceiver 90 kann
für drahtlose
Kommunikationen in einer solchen Umgebung verwendet werden. Außerdem wird
der Fachmann erkennen, dass das Transaktionseingabegerät 12 als
ein batteriebetriebenes tragbares Gerät, das eine Kreuzung zwischen einem
Laptop-Computer
und einem Zellulartelefon des zum Beispiel durch Paajanen et al.
im US-Patent Nr.
5,189,632 dargestellten Typs ist, implementiert sein. In einem solchen
Ausführungsbeispiel
kann ein optionales Kopfstück
sowie eine Mikrofon- und Lautsprecheranordnung in der Klappe vorgesehen
werden. Natürlich
würde der
Flüssigkristallbildschirm 20 in
der Größe auf zum
Beispiel 40 Spalten auf 12 Reihen verkleinert werden, und der Touch
Screen 64 kann weggelassen werden. Die meisten der anderen Optionen
des Ausführungsbeispiels
der 5A und 5B würden jedoch
vorzugsweise bleiben, sodass die tragbare Einheit auch an einem
Tisch benutzt werden kann, falls erwünscht. Die Elektronik des Transaktionseingabegeräts 12 würde sonst
wie in 6 dargestellt sein, außer was bestimmte Größen- und
Formenüberlegungen
angeht, die im Bereich des Wissens eines Fachmanns liegen.
-
2. Software
-
Wie
aus der folgenden Beschreibung offensichtlich, benutzt der Datentransaktionsassembler 18 kein
herkömmliches
Betriebssystem, um den Betrieb des Mikroprozessors 94 zu
steuern. Dagegen speichert der TAS-PROM 95 einfache Firmware-Algorithmen (7–10),
die in einer Kernweise zum Navigieren eines Nutzers durch Menüs und Formulare, die
von dem Formular/Menüspeicher 96 für spezielle Anwendungen
bereitgestellt werden, arbeiten, und es sind die resultierenden
Datenströme,
die den Mikroprozessor 94 zu jedem Zeitpunkt steuern. Mit
anderen Worten rekonfigurieren die Datenströme von dem TAS-PROM 95 und
die Datenströme
von dem Formular/Menüspeicher 96 zusammen
den Mikroprozessor 94 in einen Spezialprozessor für jede durch
die Formulare bestimmte Anwendung. Der Mikrocode des TAS-PROM 95 und
die Parameterströme
von dem Formular/Menüspeicher 96 arbeiten
so als ein einfaches formulargesteuertes Betriebssystem für den Mikroprozessor 94 für alle Anwendungen zusammen
und sind der einzige Code, der zum Steuern des Mikroprozessors 94 benutzt
wird (d.h. keine herkömmlichen
Betriebssysteme oder Anwendungsprogramme werden bereitgestellt).
Als Ergebnis kann der Mikroprozessor 94 in einen neuen
Spezialcomputer mit jedem neuen aus dem Formular/Menüspeicher 96 gelesenen
Formular rekonfiguriert werden, und solche Formulare/Menüs können zu
einer beliebigen Zeit durch Einlesen der geeigneten Datenströme von einer
Speicherkarte oder von einem Datenbankserver 28 oder durch
Hinzufügen
eines zusätzlichen
PROM hinzugefügt
werden. Eine spezielle Ausführungsform
der in dem TAS-PROM 95 gespeicherten TAS-Firmware wird
nun Bezug nehmend auf 7–10 beschrieben.
-
So
enthält
der TAS-PROM 95 enthält
Steuerdaten (Firmware) für
den Mikroprozessor 94, und er ist in jedem Transaktionseingabegerät 12 zum
Erzeugen einer Schablone für
eine Datentransaktion aus einem in dem Formular/Menüspeicher 96 gespeicherten
(oder direkt von einer Speicherkarte oder einem externen Datenbankserver
empfangenen) Datenstrom und aus durch einen Nutzer eingegebenen oder
von einer externen Datenbank oder Magnetkarte, Smart Card und dergleichen
abgerufenen Daten vorhanden. Die TAS-Firmware und die ausgewählte Schablone
steuern zusammen das Verhalten des Mikroprozessors 94 durch
logisches Definieren einer Tabelle von Menüoptionen und/oder Datenbankschnittstellen,
durch welche der Nutzer navigiert. Wie oben erwähnt, navigiert der Nutzer durch
eine Reihe von Menüauswahlen
durch Auswählen
eines weiteren Menüs,
eines Formulars oder eines Prozesses. Wenn die Datentransaktion
für eine
gewünschte
Anwendung einmal abgeschlossen ist, wird sie zum „Zerlegen" in alle ihre Bestandteile
zur Speicherung ausgesendet. In dieser Form ersetzen die TAS-Firmware
von dem TAS-PROM 95 und die Menüs und Formulare aus dem Formular/Menüspeicher 96 der Erfindung
zusammen ein herkömmliches
Betriebssystem und einzelne Anwendungsprogramme. Tatsächlich ermöglicht die
Erfindung, dass das Transaktionseingabegerät 12 vollständig betriebssystem-unabhängig ist.
-
Der
Datentransaktionsassembler 18 der Erfindung ist über ein
vorbestimmtes Protokoll, das als Anweisungen in dem TAS-PROM 95 gespeichert
ist, mit einem Datenbankserver 28 und seiner zugehörigen Datenbank 30 verbunden.
Wie oben erwähnt,
arbeitet der dem speziellen Transaktionseingabegerät 12 zugeordnete
Datenbankserver als ein Aufbewahrungsort der durch das Transaktionseingabegerät 12 er zeugten
Datentransaktionen und als Lieferant von Daten zu dem Transaktionseingabegerät 12 zum Vervollständigen der
Formulare und Bereitstellen zusätzlicher
Formulare, Menüs,
Prozesse und dergleichen. Da das System der Erfindung ein betriebssystem-unabhängig ist,
gibt es keine Hardware- oder Softwarebeschränkungen bezüglich der Eigenschaften des
Datenbankservers 28.
-
Der
die einzelnen Formulare bildende Parametersatz wird typischerweise
durch den Datenbankserver 28 als ein Datenstrom über das
Modem bereitgestellt und in dem Formular/Menüspeicher 96 gespeichert,
während
irgendwelche heruntergeladenen Anweisungen in dem TAS-PROM 95 gespeichert werden.
Eine Verbindung zwischen dem Datentransaktionsassembler 18 und
seinem Datenbankserver 28 wird bevorzugt über ein
für jeden
Datenbankserver 28 spezifisches Dateilistenprogramm vorgesehen.
Dieses Dateilistenprogramm kennt die Eigenschaften jedes Feldes
jedes Formulars für
die jeweilige Datentransaktion und wird vom Datenbankserver 28 benutzt,
um die empfangenden Datentransaktionen in ihre Bestandteile zu „zerlegen".
-
Vorzugsweise
fordert der Datentransaktionsassembler 18 beim Einschalten
automatisch den Nutzer mit einem Befehl „Download Parameter Streams" auf, dass der Nutzer
die gewünschten
Ströme
von Menü-
und Formulardaten für
die gewünschte
Anwendung von einer externen Quelle in den Formular/Menüspeicher
(Flash-Speicher) 96 laden kann.
Der Prozess „Download
Parameter" wird
dann durch Wählen
des externen Datenbankservers 28 initiiert, der die Verbindung über die
Modemschnittstelle 78 initiiert. Einmal verbunden wird
die Transaktionssteuerung 36 des Datenbankservers 28 den
angeforderten Parameterstrom übertragen.
Der Datentransaktionsassembler 18 wird den empfangenen Datenstrom
in den Formular/Menüspeicher 96 laden, und
bei Abschluss wird auf dem Bildschirm 20 das Kommando „Executive
Menu Ready" präsentiert. Das
Ausführungsmenü wird dann
automatisch dem Nutzer zur Auswahl des gewünschten Menüs, Formulars oder Prozesses
präsentiert.
-
Bei
Initiierung des Transaktionseingabemodus durch den Nutzer ruft der
Datentransaktionsassembler 18 einen Satz von Tafelparametern
aus dem Formular/Menüspeicher 96 ab
und zeichnet ein Formular auf den Bildschirm 20. Diese
Formulare sind entweder Menüs
zum Navigieren zu speziellen Formularen oder ein Formular, in das
Daten durch den Nutzer eingetragen werden. Wie nachfolgend erläutert, stellen
die Menüs
eine Funktionalität
durch eine einfache Menüauswahl
bereit. Das Formular auf dem Bildschirm 20 wird durch den
Nutzer durch Eintragen der geeigneten Daten mittels Touch Screen 64 oder optionaler
Tastatur 68 vervollständigt.
Alternativ können
die angeforderten Daten von einer Speicherkarte über die Speicherkartenschnittstelle 90,
von einem Magnetstreifen auf einer Magnetstreifenkarte oder einer
Smart Card über
die Magnetkartenschnittstelle 70 oder die Speicherkartenschnittstelle 89,
oder Spracheingabe über
die Spracherkennungsschaltung 91 eingelesen werden. Außerdem kann
eine Abfrage zu dem zum Transaktionseingabegerät 12 gehörenden Datenbankserver 28 für benötigte Daten geschickt
werden, um gewisse Felder in dem aktuellen Formular auszufüllen. Die
Art des Dateneintrags wird von einem Untersatz von dem Benutzer
beim Drücken
einer „?"-Taste oder eines
Knopfes „Request
for More Information" präsentierten
Optionen angefordert. Diese Anfrage wird dem Nutzer mehrere Optionen
zum Auswählen
geben, wie beispielsweise Dateneingabe mittels Tastatur 68,
Touch Screen 64, Magnetstreifenkarte über die Magnetkartenschnittstelle 70,
Speicherkarte über
die Speicherkartenschnittstelle 89, durch Sprachanzeige
der Nummer der Position in dem Menü über die Spracherkennungsschaltung 91,
oder über
Modem von einer Datenbank 30. Daher kann die durch den
Datentransaktionsassembler 18 erzeugte Datentransaktion
Gebrauch von den gespeicherten Daten machen oder nicht, um die Menge
der vom Nutzer geforderten Dateneingabe zu reduzieren.
-
Wenn
eine Dateneingabeoption ausgewählt ist,
tut der Datentransaktionsassembler 18 eines der folgenden
Dinge: ein weiterer Satz von Parametern wird aufgerufen und ein
weiteres Formular wird gezeichnet, die Korrektheit der Auswahl wird
verifiziert und ein Satz von Optionen für die Auswahlen wird basierend
auf Wechselwirkungen mit gespeicherten Daten präsentiert, die komplettierte
Datenbanktransaktion wird über
ein Modem an einen Datenbankserver 28 zur Speicherung in
der Datenbank 30 übertragen,
oder Datenwerte werden von der Datenbank 30 zur Integration
in den Transaktionspufferspeicher 97 angefragt. In einem
bevorzugten Ausführungsbeispiel
erfolgen die Auswahlen aus dem Menü durch Berühren der richtigen Stelle auf
dem Menü mittels Touch
Screen 64; durch Sprachanzeige der Nummer der Menüposition über das
Mikrofon 62 und die Spracherkennungsschaltung 91;
durch Verwenden einer der Computerfunktionstasten 66, um
einen Cursor das Menü hochlaufen
zu lassen, einer weiteren Taste, um den Cursor das Menü herunterlaufen
zu lassen, und einer dritten Taste, um eine Auswahl in einer herkömmlichen
Weise zu machen; oder durch Benutzen einer Tastatur 68 als
eine Auswahlvorrichtung. Wenn die Tastatur 68 benutzt wird,
können
die Tastaturtasten benutzt werden, um einen Cursor zu steuern, wobei
die „Enter"-Taste zum Vornehmen
einer Auswahl benutzt wird; alternativ kann die Nummer der ausgewählten Position
eingegeben und die „Enter"-Taste gedrückt werden, um die Auswahl
vorzunehmen. Wenn die Auswahl einmal vorgenommen ist, wird das geeignete
Formular aus dem Formular/Menüspeicher 96 als
ein Strom von Daten extrahiert.
-
Alternativ
kann der Datentransaktionsassembler 18 zusätzlich zum
Präsentieren
eines Menüs
zur Auswahl oder Vervollständigung
eines Formulars auch eine Menüauswahl
zum Initiieren eines Prozesses wie beispielsweise einer Berechnung
einer interessierenden Rate unter Verwendung eines oder mehrerer
Felder in dem Formular, des Findens eines Mittelwerts, des Findens
eines Namens oder des Suchens nach Einträgen für ein spezielles Datum präsentieren.
Diese Prozesse können
in dem TAS-PROM 95, in dem Formular/Menüspeicher 96, in einem
Offline-Server,
wo sie initiiert werden, oder an irgendeiner anderen Stelle, wo
sie zu dem Betriebsabschnitt des Transaktionseingabegeräts 12 heruntergeladen
werden können,
gespeichert werden. In einem bevorzugten Ausführungsbeispiel werden die Prozesse
im Allgemeinen in dem Datenbankserver 28 durch Senden einer
Datenanfrage an den Datenbankserver 28, Bearbeiten der
Daten in dem Datenbankserver 28 und dann Zurückgeben
der Antwort als einen Datenstrom oder Rückbericht an das Transaktionseingabegerät 12 initiiert.
-
Ein
Prozess initiiert typischerweise eine Datenkette, die einen Prozess
an einer externen Maschine aufruft. Zum Beispiel kann das Transaktionseingabegerät 12 benutzt
werden, um Steuersignale für
eine Infrarotsteuerung verschiedener Geräte mittels des Infrarot-Transceivers 80 herunterzuladen und
zu speichern (5 und 6).
Das Formular der Steuersignale wird von der Signalspeicherung in einem
optionalen Infrarot-Chip abhängen,
der durch den Datentransaktionsassembler 18 oder durch
ein Offline-Gerät über das
Modem oder durch die Luft mittels des RF-Transceivers 90 für einen
direkten digitalen Transfer in drahtloser Form abhängen. Außerdem kann
in dem Fall, wenn das Transaktionseingabegerät 12 zum Beispiel
in einem Arztbüro
benutzt wird, der Prozess benutzt werden, um ein Rezept an eine
Apotheke oder ein Email-Auftragshaus unter Verwendung vorgespeicherter
Modemnummern zu übertragen,
oder kann es dem Arzt ermöglichen,
eine Liste von für
den Tag zu machenden Telefonanrufen oder eine Liste der kommenden
Termine für
ein spezielles Datum aufzurufen. Mit anderen Worten kann die TAS-Firmware
auch die Datentransaktion in alle ihre Zusatzteile zur Übertragung
zu zahlreichen Aufzeichnungen in einer oder mehreren Datenbanken „zerlegen".
-
Ein
bevorzugtes Ausführungsbeispiel
der TAS-Firmware wird nun unter Bezug auf 7–10 beschrieben.
-
Wie
oben erwähnt,
ist der Transaktionsassembler(anwendungs)server TAS ein Datenstrom, der
in dem TAS-PROM 95 gespeichert ist, der zusammen mit den
Formularen aus dem Formular/Menüspeicher 96 ein
einfaches formulargesteuertes Betriebssystem erzeugt, welches die
notwendigen Steuerdaten (Firmware) dem Mikroprozessor 94 bereitstellt,
sodass kein herkömmliches
Betriebssystem notwendig ist. 7 ist ein
Flussdiagramm eines menügesteuerten
TAS 18 gemäß einem
bevorzugten Ausführungsbeispiel
der Erfindung. Wie veranschaulicht, startet die TAS-Firmware in
Schritt 100 und ruft in Schritt 102 ein Startmenü aus dem
Formular/Menüspeicher 96 ab.
Das Startmenü wird
innerhalb weniger Sekunden nach dem Booten der TAS-Firmware nach
dem Systemlogo veranlasst. Das Startmenü präsentiert typischerweise die
Optionen des Herunterladens eines Parameterstroms vom Datenbankserver 28 zum
Ermöglichen
zusätzlicher
Funktionen oder des Druckens eines Ausführungsmenüs. Falls das Ausführungsmenü ausgewählt wird,
wird das Ausführungsmenü aus dem
Formular/Menüspeicher 96 abgerufen.
Das Ausführungsmenü enthält zahlreiche
Anwendungsoptionen für
den Nutzer, nämlich die
Auswahl eines Formulars, eines weiteren Menüs, eines Prozesses oder eines
automatischen Schaltens in den Telefonmodus, von denen eine in Schritt 104 ausgewählt wird.
Die Datenströme
im Formular/Menüspeicher 96 können hinsichtlich
des Typs (Formular, Menü oder
Prozess) durch Anhängen
eines Codes wie beispielsweise „F" für
Formular, „M" für Menü und „P" für Prozess
und hinsichtlich der Nummer durch Anhängen einer Formular-, Menü- oder Prozessnummer
an den Beginn des folgenden Datenstroms unterschieden werden. Diese
Codes werden durch die TAS-Firmware erkannt, und sie agiert dementsprechend.
-
Falls
die in Schritt 104 ausgewählte Option ein Formular ist,
wird das richtige Formular (Datenstrom für das Formular Fxy)
in Schritt 106 aus dem Formular/Menüspeicher 96 abgerufen,
ein Transaktionspufferspeicher 97 einer Länge gleich
der Größe der zu
dem Formular Fxy gehörenden Aufzeichnung wird in
dem RAM gebildet, das Formular wird in dem Transaktionspufferspeicher 97 gespeichert,
und eine Verbindung wird mit dem/den geeigneten Datenbankserver(n) 28 hergestellt.
Der Datenstrom für
das ausgewählte
Formular besteht aus Eingabeaufforderungen, Druckstellen für die Eingabeaufforderung, Dateneingabepunkten,
Druckstellen für
den Dateneingabestart, der Dateneingabelänge und einem Code bezüglich der
Natur der Dateneingabe. Dieser Code kann numerisch, alphanumerisch,
ein Querverweis zu gespeicherten Daten oder zuvor eingegebenen Daten,
eine Formel für
die interne Erzeugung des Ergebnisses aus zuvor eingegebenen Daten
an den Datentransaktionsassembler 18 oder eine externe
Anfrage für
Daten, Hilfe oder neu formulierte Werte sein. Der in die Felder
des Formulars eingegebene Datenstrom zeigt nicht nur die Stelle
für das
Drucken der Eingabeaufforderung und das Feld für die Dateneingabe an, sondern
auch die Größe des Feldes
und der Speicherung, einen Startpunkt in dem Transaktionspuffer
für das
gespeicherte Element, und die Art der Daten: alphanumerisch, numerisch
(Fließpunkt oder
ganzzahlig), Datum und dergleichen.
-
Falls
in Schritt 108 bestimmt wird, dass das angeforderte Formular
tatsächlich
ein Menü (Mxy) ist, wird ein versteckter Satz von Codes
gelesen, die auf das Formular Fxy zeigen,
zu dem die Auswahl führen wird,
und die Steuerung verzweigt zurück
zu Schritt 104 zur Auswahl eines weiteren Menüs oder Formulars.
Wenn ein Menü gewählt wird,
hat jede Position ihre Sequenznummer, ihren Deskriptor und einen Code,
für was
sie „steht" (ein weiteres Menü, Formular
oder Prozess). Mit anderen Worten steht jede Auswahl mit einer Reihe
von Positionscodes in Zusammenhang, die zu einem weiteren Formular,
Menü oder
Reihen von Tests an den eingegebenen Daten abzweigen. Ein Menü hat auch
einen numerischen Code für
jeden der Speicherbereiche und einen speziellen Code einschließlich eines
Sicherheitscodes für
bestimmte Menüpunkte,
Prozesscodes von Formularen in dem Menü, oder einen Pointer zu dem Prozesscode.
Ein Pointer kann auch in dem Menü für offline
durchzuführende
Prozesse (d.h. in einem zugehörigen
Datenbankserver 28) vorgesehen sein.
-
Falls
in Schritt 104 ein Prozess (Pxy)
ausgewählt
wird, wird dem Datenbankserver 28 gemeldet, dass etwas
von seiner Datenbank 30 angefordert wird oder dass eine
Verarbeitung von Daten angefordert wird. Zum Beispiel kann der Datentransaktionsassembler 18 eine „?"-Anfrage an den Datenbankserver 28 senden,
sodass Optionen an den Datentransaktionsassembler 18 zur
Präsentation
an den Nutzer zur Auswahl zurückgegeben
werden. Der Prozess löst
einen externen Prozess des Datenbankservers 30 mit einem
Parameterstrom aus, und eine Steuerung wird entweder zum Datentransaktionsassembler 18 zurückgegeben
oder eine Steuerung wird gehalten, bis der Prozess abgeschlossen
ist, in welchem Fall dem Datentransaktionsassembler 18 eine Mitteilung
zurückgeschickt
wird. Diese Mitteilung kann ein Bericht, ausgewählte Daten, ein aus einer Berechnung
resultierender Wert und dergleichen sein. Eine Verarbeitung wie
beispielsweise das Überprüfen von
Sensoren und dergleichen kann ebenfalls lokal durch den Datentransaktionsassembler 18 durchgeführt werden.
-
Wenn
das gewünschte
Formular einmal für die
Nutzeranwendung ausgewählt
ist, wird das Formular in Schritt 110 entsprechend den
in 8–10 dargestellten
Schritten bearbeitet. Wenn eine Eingabe in jedem Feld gemacht ist,
wird sie automatisch in dem Eingangspufferbereich des Transaktionspufferspeichers 97 an
ihrer zugeordneten Stelle und in dem vorgeschriebenen Format gespeichert.
Jederzeit kann das gesamte Formular mit einer automatischen Rückkehr zu
dem Menü,
welches es aufgerufen hat, verlassen werden oder das Formular kann
zur Datenneueingabe gelöscht
werden. Wenn das Formular einmal bearbeitet und zu dem/den geeigneten
Datenbankserver(n) 28 übertragen
worden ist, wird die Datenbankserververbindung beendet und dem Nutzer
wird in Schritt 112 das letzte Menü präsentiert, aus dem der Nutzer
seine oder ihre Auswahl getroffen hat. Alternativ wird das Ausführungsmenü als ein
Vorgabemenü aufgerufen.
-
Falls
der Nutzer in Schritt 114 anzeigt, dass er oder sie wünscht, mit
der Vervollständigung
eines neuen Formulars fortzufahren, zweigt die Steuerung zurück zu Schritt 104 zur
Menüauswahl
ab, und gegebenenfalls erfolgt eine neue Datenbankserververbindung.
Dieser Prozess wird für
jedes Formular wiederholt. Wenn keine weiteren Auswahl gewünscht sind,
wird die TAS-Firmware in Schritt 116 verlassen.
-
8 ist
ein Flussdiagramm, das eine Technik zum Bearbeiten eines Formulars
(Schritt 110) veranschaulicht, um eine Datentransaktion
gemäß der Erfindung
zu erzeugen. Wie dargestellt, startet der Prozess von 8 in
Schritt 118 und initialisiert in Schritt 120 einen
Transaktionspufferspeicher 97 zur Speicherung der Datentransaktion,
wenn sie erzeugt wird. Mit anderen Worten wird ein Formular, falls
es eines für
die angeforderte Anwendung gibt, aus dem Formular/Menüspeicher 96 zum
Transaktionspufferspeicher 97 bewegt. Falls das angeforderte
Formular im Formular/Menüspeicher 96 nicht
vorhanden ist, wird eine Fehlermeldung gesendet oder es kann eine Anfrage
an den Datenbankserver 28 geschickt werden, um einen Datenstrom
mit den Parametern für das
angeforderte Formular herunterzuladen. Vorzugsweise ist der Transaktionspufferspeicher 97 wenigstens
so groß wie
die größte Datentransaktion
und dient als ein Assemblerbereich für die Datentransaktion. Vorzugsweise
sind Lese- und Schreibpuffer gebildet, sodass Sende- und Empfangspufferspeicher zu/von
einer Modemschnittstelle 78 zur Verfügung stehen. Natürlich kann
der Transaktionspufferspeicher 97 für diesen Zweck größer gemacht
werden.
-
Wenn
der Transaktionspufferspeicher 97 in Schritt 120 einmal
initiiert ist, wird der Bildschirm 20 gelöscht, und
in Schritt 122 wird das ausgewählte Formular zu seiner ersten
Seite initialisiert. Die erste Seite des Formulars wird dann in
Schritt 124 dem Bildschirm 20 präsentiert.
In Schritt 126 vervollständigt der Nutzer die Formularseite
auf einer feldweisen Basis unter Verwendung irgendeiner der oben
beschriebenen Dateneingabetechniken und der Feldsteuerungen von 9 und 10.
-
Der
Transaktionspufferspeicher 97 sammelt die Daten, die zu
dem dem Nutzer auf dem Bildschirm 20 präsentierten Formular gehören, und
enthält
geeignete Stellen für
jedes separate Datenelement. Bei Abschluss der Datentransaktion
werden die Inhalte des Transaktionspufferspeichers 97 über das
Modem oder drahtlos zu dem/den geeigneten Datenbankserver(n) 28 übertragen,
mit einem vorangestellten Satz von Codes (Feld 44, 2),
welche die Art der Datentransaktion identifizieren, und gefolgt
von einer Kette von Prozessidentifikatoren für den/die Datenbankserver 28 zur
Verwendung in ihren Programmen beim Erzeugen zusätzlicher Transaktionen und
beim Speichern der Daten und aller Hilfsdatentransaktionen in dem
regulären
Dateiformat der zu dem/den Datenbankserver(n) 28 gehörenden Datenbank 30.
Als Ergebnis kann die in dem Transaktionspufferspeicher 97 erzeugte
Datentransaktion eine mehrdeutige Beziehung zu den in der Datenbank 30 gespeicherten
Daten haben.
-
Falls
der Nutzer sich irgendwann entscheidet, die Bearbeitung eines Formulars
zu verlassen (Schritt 128), wird die Formularbearbeitungsroutine in
Schritt 129 verlassen. Sonst wird in Schritt 130 bestimmt,
ob der Nutzer eine Seite zurückgehen
will (für ein
mehrseitiges Formular), um eine Dateneingabe zu korrigieren. Falls
dies so ist, kehrt die Steuerung zu Schritt 124 zur Präsentation
der früheren
Seite zurück.
Falls der Nutzer nicht wünscht,
eine vorherige Seite zu überprüfen oder
zu editieren, wird in Schritt 132 bestimmt, ob das aktuelle
Formular eine weitere Seite besitzt, die noch nicht zur Vervollständigung durch
den Nutzer angezeigt worden ist. Falls das Formular mehrere Seiten
hat, bewegt sich die Routine in Schritt 134 zur nächsten Seite,
und in Schritt 136 wird bestimmt, ob die Bewegung zur nächsten Seite
erfolgreich war. Falls dem so ist, kehrt die Steuerung zu Schritt 124 zur
Präsentation
der nächsten
Seite zurück.
Natürlich
kann der Prozess des Aufrufens einer nachfolgenden Seite in einem
Formular oder eines weiteren Formulars bei Vervollständigung
eines Formulars in Abhängigkeit
von einem automatischen Aufruf dieser Seite oder Formularfolge oder
der Möglichkeit
einer Sprungsequenz (d.h. Seiten überspringen) in Abhängigkeit
von einem Wert in irgendeinem Feld, der eingegeben worden ist, sein.
In jedem Fall wird, falls es nicht mehrere Seiten in dem Formular gibt
oder falls die Bewegung zur nächsten
Seite nicht erfolgreich war, das Ende des Formulars mit einem Code
markiert und die Transaktion wird in Schritt 138 durch Übertragen
der Datentransaktion zu dem/den geeigneten Datenbankserver(n) 28 zur
Speicherung in seiner zugehörigen
Datenbank 30 und/oder zum „Zerlegen" zur Speicherung der Daten in weitere
Datenbanken 40 gesichert. Falls in Schritt 140 bestimmt wird,
dass die Sicherung wegen eines Modemfehlers und dergleichen nicht
erfolgreich war, kehrt die Steuerung zu Schritt 122 zurück und der
Prozess wird wiederholt. Falls die Datentransaktion erfolgreich
gesichert wurde, wird die Formularbearbeitungsroutine in Schritt 129 verlassen,
und das zuletzt benutzte Menü wird
präsentiert
(Schritt 112).
-
Optional
werden gespeicherte Prozesse in einem Datentransaktionsformular
(Feld 50, 2) zur geeigneten Zeit im Ablauf
der Formularbearbeitungsroutine vor ihrem Verlassen ausgeführt. Diese Prozesse
können
jedoch vertagt und durch den Datenbankserver 28 bei Bedarf
durchgeführt
werden.
-
9A und 9B zeigen
zusammen ein Ablaufdiagramm einer Technik zum Vervollständigen und
Editieren der Felder eines Formulars (Schritt 126 von 8).
Die Feldvervollständigungsroutine
startet in Schritt 142 und bestimmt zuerst in Schritt 144,
ob eine Anfrage zum Abbruch oder zum Bewegen zu einer gültigen Seite
anhängig
ist. Falls dem so ist, wird die Feldvervollständigungsroutine in Schritt 146 verlassen.
Falls jedoch keine Anfrage zum Abbruch oder zur Seitenbewegung anhängig ist,
werden die Felddaten für
das erste Feld des Transaktionspufferspeichers 97 in Schritt 148 eingegeben.
Wie oben erwähnt,
können
diese Felddaten über
die Tastatur 68 oder den Touch Screen 64 eingegeben, über die
Magnetkartenschnittstelle 70 eingelesen, von einer Speicherkarte über die
Speicherkartenschnittstelle 89 eingelesen, über die
Modemschnittstelle 78 von einem Datenbankserver 28 eingelesen,
oder durch eine Spracheingabe bestimmt werden. Eine Voreditierverarbeitung
der Felddaten wird dann in Schritt 150 ausgeführt. Eine
solche Voreditierverarbeitung kann zum Beispiel das Einstellen von
Vorgabewerten, das Durchführen
von Berechnungen, das Einrichten von Verbindungen zu Daten in anderen
Dateien, das Nachschauen und Schreiben von Daten in bereits mit
dem aktuellen Formular verbundene(n) Dateien, das Hervorbringen
eines weiteren Formulars, das Durchführen spezieller Aktualisierungen des
Bildschirms 20, das Verstecken von Feldern aus der Sicht
des Nutzers und dergleichen enthalten. Eine solche Voreditierverarbeitung
kann auch benutzt werden, um zu bestimmen, ob Modifikationen oder
Aktionen in dem aktuellen Feld einen Eintrag in einem weiteren damit
verbundenen Feld ungültig
machen können.
Falls dem so ist, werden geeignete Maßnahmen getroffen, um alle
beeinflussten Felder zu aktualisieren oder solche Probleme durch
Setzen geeigneter Vorgabewerte zu verhindern.
-
Die
Feldvervollständigungsroutine
prüft dann nach
Feldfehlern in Schritt 152 auf der Basis der in Schritt 150 gesetzten
Vorgabewerte und dergleichen. Falls es in Schritt 152 keinen
Feldfehler gibt, wird in Schritt 154 bestimmt, ob der Operator
das Feld in Abwesenheit eines Feldfehlers editieren darf. Falls
dem so ist oder falls ein Feldfehler in Schritt 152 gefunden wurde,
editiert der Operator das Feld in Schritt 156. Falls das
Editieren durch den Operator umgangen wird, geht die Steuerung direkt weiter
zu einer Nacheditierverarbeitung in Schritt 158, welche
im Wesentlichen die gleichen Funktionen wie der Voreditierverarbeitungsschritt 150 durchführt, außer dass
die Daten speziell validiert werden können. Das Feld wird dann noch
einmal in Schritt 160 auf einen Feldfehler überprüft. Falls
in Schritt 160 ein Feldfehler gefunden wird, kehrt die
Steuerung zu Schritt 144 zum Bearbeiten des nächsten Feldes
oder ggf. zum Verlassen zurück.
-
Falls
in Schritt 160 kein Feldfehler gefunden wird, wird in Schritt 162 bestimmt,
ob die allgemeine Feldvalidierungsroutine von Schritt 164 (10) übersprungen
werden soll. Falls dem so ist, geht die Steuerung zu Schritt 166,
wo das Feld noch einmal auf einen Feldfehler überprüft wird. Falls jedoch die allgemeinen
Feldvalidierungen gewünscht
werden, gelangt die Steuerung zu der Routine von Schritt 164 (10).
Falls in Schritt 166 kein Feldfehler gefunden wird, wird
das Feld in Schritt 168 in den Transaktionspufferspeicher 97 gesichert,
und der aktualisierte Feldwert wird in Schritt 170 auf
den Bildschirm 20 gezeichnet. Falls der Nutzer dann wünscht, in
Schritt 172 ein vorheriges Feld zu überprüfen, geht die Steuerung in
Schritt 174 zu einem vorherigen Feld, und die Feldvervollständigungsroutine
wird für
das vorherige Feld wiederholt. Falls jedoch kein vorheriges Feld überprüft werden
soll und falls in Schritt 176 bestimmt wird, dass ein weiteres
Feld vorhanden ist, geht die Steuerung in Schritt 178 zum
nächsten
Feld, und die Feldvervollständigungsroutine
wird für
das nächste
Feld wiederholt. Dieser Prozess wird wiederholt, bis das letzte
Feld vervollständigt
ist, und die Routine wird in Schritt 180 verlassen. Die
Steuerung kehrt dann zu 8 zum Bearbeiten einer anderen Seite
des Formulars zurück.
-
Jedes
Formular kann in einem oder mehreren Modi bearbeitet werden. In
dem oben beschriebenen Eingabemodus wird die Datentransaktion erzeugt
und zum Datenbankserver 28 übertragen. Im Editiermodus
wird jedoch beim Eingeben der ID einer speziellen Aufzeichnung diese
Aufzeichnung von einer externen Datenbank 30 oder 40 in
den Transaktionspufferspeicher 97 zum Editieren gelesen.
Vorzugsweise wird eine Aufzeichnung der Editierungen beibehalten,
um einen Prüflauf
vorzusehen. Im Betrachtungsmodus wird beim Eingeben der ID einer speziellen
Aufzeichnung diese Aufzeichnung in ähnlicher Weise aus einer externen
Datenbank 30 oder 40 in den Transaktionspufferspeicher 97 gelesen, aber
nur zur Anzeige. Schließlich
kann in einem Löschmodus
eine gesamte Aufzeichnung aus der Datenbank 30 oder 40 gelöscht werden,
falls der Nutzer die richtige Sicherheitsfreigabe hat.
-
10 zeigt,
wie die TAS-Firmware die Felder jeder Datentransaktion validiert.
Wie dargestellt, startet die Feldvalidierungsroutine in Schritt 182 und bestimmt
zuerst in Schritt 184, welcher Feldtyp vorhanden ist. Falls
das aktuelle Feld ein alphanumerisches Feld ist, geht die Steuerung
zu Schritt 186, wo die Feldvorgaben bearbeitet werden.
Es wird dann in Schritt 188 bestimmt, ob der Nutzer die
für dieses Feld
erlaubten Werte kennt. Falls nicht und falls Daten in dieses Feld
einzusetzen sind, wird in Schritt 190 eine Einsetztabelle
gesucht. Ein „?" kann durch den Operator
verwendet werden, um anzuzeigen, dass er oder sie nicht die für dieses
Feld erlaubten Werte kennt und die Einsetztabelle zu suchen wünscht. Eine
Liste möglicher
Werte wird dann aufgerufen, die zu den bisher eingetragenen Daten
passen. Aus dieser Liste kann der Operator die Liste durchblättern und
den Wert auswählen,
der den Dateneintrag vervollständigt.
Falls jedoch der Wert nicht in der Liste gefunden wird, wird in
Schritt 192 ein Feldfehler erzeugt, und die Feldvalidierungsroutine wird
in Schritt 194 verlassen. Falls der Wert in der Liste gefunden
wird, geht die Steuerung weiter zu Schritt 200.
-
Falls
dagegen in Schritt 188 bestimmt wird, dass keine Daten
in das aktuelle Feld hinzugefügt (eingesetzt)
werden müssen,
springt die Steuerung zu Schritt 196, wo bestimmt wird,
ob der aktuelle Feldtyp ein Feld ist, der einen Fall bildet, in
welchem das aktuelle Feld (zusammen mit seinem Formular) mit irgendeiner
Aufzeichnung irgendeiner Datei oder irgendwelcher Dateien (eine
bis viele) irgendeiner Datenbank zum Zweck einer Datenverifizierung und/oder
Datenextraktion verbunden werden kann. Falls dem so ist, geht die
Steuerung zu Schritt 198, wo die Daten aus dem aktuellen
Feld zusammen mit irgendwelchen weiteren vorher gesammelten Daten benutzt
werden, um die gewünschte
Verbindung herzustellen. Wie in dem oben genannten Dateneinsetzschritt 188 kann
der Nutzer ein „?" eingeben, um die zum
Herstellen dieser Verbindung benötigten
Informationen zu bekommen. Falls die Daten für die Verbindung nicht gefunden
werden, wird in Schritt 192 ein Feldfehler ausgegeben,
und die Feldvalidierungsroutine wird in Schritt 194 verlassen.
Falls jedoch die Daten für
die Verbindung gefunden werden, wird das Feld in Schritt 200 auf
Leerstellen überprüft, und
ein Feldfehler wird in Schritt 192 ausgegeben, falls Leerstellen
im Feld vorhanden, aber nicht erlaubt sind. Falls in dem aktuellen
Feld keine Leerstellen gefunden werden, oder falls Leerstellen gefunden
werden, aber erlaubt sind, wird die Feldvalidierungsroutine in Schritt 202 verlassen.
-
Falls
in Schritt 184 bestimmt wird, dass das aktuelle Feld ein
numerisches Feld ist, wird das Feld in Schritt 204 überprüft, um zu
bestimmen, ob der Zeichensatz gültig
ist. Falls dem so ist, wird erforderlichenfalls die Genauigkeit
der Zahlen in Schritt 206 eingestellt, und der Bereich
und Umfang der Zahlen wird in Schritt 208 überprüft, um sicherzustellen,
dass die Feldeinträge
den Grenzbedingungen (z.B. kein Teilen durch Null) genügen. Falls
der Zeichensatz in Schritt 204 nicht gültig ist oder der Bereich und
Umfang der Zahlen in Schritt 208 nicht gültig ist,
wird in Schritt 210 ein Feldfehler ausgegeben, und die
Datenvalidierungsroutine wird in Schritt 212 verlassen. Andernfalls
wird die Feldvalidierungsroutine in Schritt 214 verlassen.
-
Falls
in Schritt 184 bestimmt wird, dass das aktuelle Feld ein
Datum/Zeitfeld ist, wird das Feld in Schritt 216 überprüft, ob der
Zeichensatz gültig
ist. Falls nicht, wird in Schritt 210 ein Feldfehler ausgegeben,
und die Feldvalidierungsroutine in Schritt 212 verlassen.
Andernfalls überprüft eine
Routine der TAS-Firmware in Schritt 218 den Datum/Zeiteintrag, um
durch Durchführen
einer Bereichsüberprüfung und
dergleichen zu bestimmen, ob er das korrekte Format besitzt. Falls
der Datum/Zeiteintrag nicht das korrekte Format hat, wird in Schritt 210 ein
Feldfehler ausgegeben, und die Feldvalidierungsroutine in Schritt 212 verlassen.
Andernfalls wird in Schritt 220 bestimmt, ob das aktuelle
Feld ein Datum enthält. Falls
nicht, wird die Datenvalidierungsroutine in Schritt 221 verlassen.
Falls dem so ist, wird das Datum in Schritt 222 überprüft, um zu
sehen, ob es ein Wochenende enthält,
und falls dem so ist, wird in Schritt 224 überprüft, ob ein
Wochenenddatum eine akzeptable Antwort auf dieses Feld ist. Es wird
dann in Schritt 226 bestimmt, ob die Kalenderdatei zu überprüfen ist,
und falls dem so ist, wird in Schritt 228 die Kalenderdatei überprüft, um zu
sehen, ob das Datum gültig
ist (z.B. kein 30. Februar und dergleichen). Schließlich wird
in Schritt 230 bestimmt, ob ein Warndatum überschritten
worden ist, und falls dem so ist, wird in Schritt 210 ein
Feldfehler ausgegeben, bevor die Feldvalidierungsroutine in Schritt 212 verlassen wird.
Sonst wird die Feldvalidierungsroutine in Schritt 221 verlassen.
-
Der
Fachmann wird erkennen, dass, um die Sicherheit zu gewährleisten,
die TAS-Firmware
auch ein Sicherheitsformular für
eine Passworteingabe durch den Nutzer bereitstellen kann. Das Sicherheitsformular
und die ID des Transaktionseingabegeräts 12 werden dann
verschlüsselt
und an den zu dem speziellen Datentransaktionsassembler 18 gehörenden Datenbankserver 28 übertragen.
Die Transaktionssteuerung 36 dieses Datenbankservers 28 wird
dann als Transaktionssteuerung für
diesen Datentransaktionsassembler 18 arbeiten und Passwörter und
dergleichen während
des Betriebs überprüfen, um
sicherzustellen, dass die Datensicherheit nicht verletzt wird. Die
Datenbankserver 28 können einen
Datentransaktionsassembler 18 deaktivieren, falls eine
nicht-autorisierte Benutzung versucht wird. Auf diese Weise kann
nur die richtige Person das jeweilige Menü betrachten. Natürlich können eine
unterschiedliche Anzahl von Sicherheitsstufen und unterschiedliche
Ausführungsmenüs präsentiert
werden, falls erwünscht,
alle unter der Steuerung der Transaktionssteuerung 36.
-
C. Datenbankserver 28
-
Wie
oben erwähnt,
kann der Datenbankserver 28 als ein Vehikel zum Trennen
von durch den Datentransaktionsassembler 18 erzeugten Datentransaktionen
in deren Bestandteile wirken, die dann direkt in eine oder mehrere
Datenbanken 30 und 40 gespeichert werden können. Mit
anderen Worten zerlegt der Datenbankserver 28 die ursprüngliche
Datentransaktion in Datentransaktionen für viele verschiedenen Dateien
zum Aktualisieren von Aufzeichnungen in den Dateien und dergleichen.
Auch kann der Datenbankserver 28 virtuell sein sowie real,
in einer einzelnen Maschine oder in mehreren Maschinen existieren,
als Ganzes oder teilweise.
-
Im
Allgemeinen wickelt der Datenbankserver 28 beliebige und
alle empfangenen Datentransaktionen ab, verarbeitet Daten in den
Datentransaktionen, erzeugt oder startet durch eine Datentransaktionen angeforderte
Prozesse oder Berichte, und zerlegt die empfangenen Datentransaktionen
in alle Sorten von Datentransaktionen, die durch die ursprüngliche
Datentransaktion hervorgebracht würden. Der Datenbankserver 28 kann
auch Werte in existierenden Aufzeichnungen aktualisieren und kann
zu einem Prozess zum Bearbeiten von Werten in den Aufzeichnungen
schalten, falls notwendig. Auf diese Weise kann eine einzelne Datentransaktion
Aktionen definieren, die eine Aktualisierung mehrerer Dateien bewirken.
Der Datenbankserver 30 behandelt auch Anfragen von dem
Datentransaktionsassembler 18 und bearbeitet sie bei Bedarf.
Solche Anfragen können Dateneingabe/ausgabeanforderungen,
Datenverriegelung und -freigabe, Berichtverarbeitungen und Anfragen
nach neuen Formularen oder Menüs
enthalten. Der Fachmann wird erkennen, dass der Datenbankserver 28 die
mehrdeutigen Beziehungen, die zwischen dem Nutzer und dem System
der Erfindung existieren, die mehrdeutigen Präsentationen zu dem Benutzer
und den Dateien in den Datenbanken 30 und 40,
die mehrdeutigen Datentransaktionen zu den Hilfsaufzeichnungen,
sowie die Aktualisierungen und Sendungen, wie sie für diverse
Computerdateien zahlreicher Datenbanken 40 erforderlich
sein können, über das
Transaktionseingabegerät 12 und
die Datenbankserver 28 beibehält.
-
Wie
oben erwähnt,
sammelt der Transaktionspufferspeicher 97 die zu dem dem
Nutzer über den
Bildschirm 20 präsentierten
Formular gehörenden
Transaktionsdaten. Der Transaktionspufferspeicher 97 ist
das Bild der Datentransaktion mit geeigneten Stellen für jedes
separate Datenelement. Die Inhalte des Transaktionspufferspeichers 97 werden dem
Datenbankserver 28 über
die Modemschnittstelle 78 oder über den RF-Transceiver 90 übertragen, mit
einem vorangestellten Satz von Codes 44 (2),
die den Typ der Transaktion identifizieren, gefolgt von einer Kette
von Prozessidentifikatoren für den
Datenbankserver 28 zur Verwendung in seinen Programmen,
beim Erzeugen zusätzlicher
Datentransaktionen und beim Speichern der Daten und aller Hilfstransaktionen
in der Datenbank 30 in dem normalen Dateiformat der Datenbank 30.
Mit anderen Worten bestimmt der Datenbankserver 28, welche
Art von Aktion vorzunehmen ist, basierend auf der Art der empfangenen
Datentransaktion, „zerlegt" gegebenenfalls eine
Datentransaktion in mehrere weitere Datentransaktionen zur Übertragung
an weitere Datenbanken, und setzt die Daten für seine zugehörige Datenbank 30 in
das geeignete Dateiformat um. Natürlich unterscheidet sich jeder
Datenbankserver 28 von jedem anderen Datenbankserver 28,
da er unterschiedliche Arten von Datentransaktionen abwickelt, unterschiedliche
Betriebssystemeigenschaften hat und unterschiedliche Dateiumsetzungen
entsprechend den Dateiformaten seiner zugehörigen Datenbank 30 vornimmt.
Zum Beispiel kann der Datenbankserver 28 unter einem Betriebssystem
wie beispielsweise Unix, Windows oder DOS arbeiten, wobei das Betriebssystem
dem Datenbankserver 28 Verbindungen zu den normalerweise
durch ein Betriebssystem behandelten Hardwarefunktionen bereitstellt.
Vorzugsweise arbeitet der Datenbankserver 28 auch mit Menüs, Formularen
und dergleichen in der gleichen Weise wie der Datentransaktionsassembler 18,
außer
dass er die Datentransaktionen in seiner zugehörigen Datenbank 30 als
Transaktionsdateien speichert.
-
Wie
gerade erwähnt,
besteht der Zweck des Datenbankservers 28 darin, die Datentransaktion vom
Datentransaktionsassembler 18 zu bearbeiten und die Datentransaktion
entweder in alle ihre zugehörigen
Bestandteile zur Speicherung zu zerlegen, die Speicherung von Positionen
aus dem Zerlegungsprozess abzuwickeln, die Datentransaktion selbst
für Referenzzwecke
zu speichern, und als Lieferant von Informationen, Menüs und/oder
Formularen zu dem Datentransaktionsassembler 18 als Reaktion
auf Anfragen während
der Erzeugung der Datentransaktion und während des Herunterladens von Parametern
für Menüs und Formulare
zu dem Datentransaktionsassembler 18 zu wirken. Falls erwünscht, kann
der Datenbankserver 28 auch dem Datentransaktionsassembler 18 Informationen
zurückliefern,
nachdem eine Datentransaktion empfangen ist, oder kann einen Prozess
initiieren, der zur Abgabe eines Berichts, von Daten oder eines
Menüs an
den Datentransaktionsassembler 18 führt. Außerdem können der Datenbankserver 28 und
der Datentransaktionsassembler 18 sich an der gleichen
Maschine befinden, solange das Betriebssystem des Datenbankservers
die TAS-Firmware erkennt oder die TAS-Firmware zur Benutzung mit
dem Betriebssystem des Datenbankservers 28 modifiziert
ist.
-
D. Anwendungen der Erfindung
-
Wie
oben skizziert, enthält
die vorliegende Erfindung einen Punkt eines Transaktionsgeräts, das ein
oder mehrere Menüs
einem Nutzer präsentiert, aus
denen eine Option ausgewählt
wird. Ein auf die ausgewählte
Option maßgeschneidertes
Formular erscheint zum Leiten des Nutzers durch die Dateneingabe.
Die vollen Einzelheiten der Datentransaktion werden erfasst, wenn
sie durch den Nutzer eingegeben werden. Eine Modemwechselwirkung
mit einer zentralen Datenbank oder einer Nutzerdatenbank erlaubt
eine Wechselwirkung zur Hilfe und zur Validierung bestimmter eingegebener
Daten. Die komplette Transaktion wird dann an die zentrale oder die
Nutzerdatenbank zur weiteren Verarbeitung und Speicherung übertragen.
Die Dateneingabe kann auch über
eine Magnetstreifenkarte oder eine Smart Card, aus von irgendeiner über die
Modemschnittstelle zugänglicher
Datenbank empfangenen Daten oder andere bekannte Verfahren vorgesehen
werden.
-
Ein
Datentransaktionssystem dieser Art kann für viele Anwendungen verwendet
werden. Zum Beispiel ist in einer ersten, derzeit bevorzugten Anwendung
das Datentransaktionseingabegerät 12 in einem
Arztbüro
zum Eintragen von Patientendaten positioniert. Bei dieser Anwendung
identifiziert eine Magnetstreifenkarte den Patienten, eine Smart
Card identifiziert den Arzt, und die Modemverbindung erlaubt die
Eingabe und Übertragung
der gesamten Forderungstransaktion an die Versicherungsunternehmen
zur Bearbeitung. Die Patientendatensätze können auch automatisch aktualisiert
werden, und Rezepte können
erzeugt, dem Patienten gegeben, an den Apotheker übertragen
und an den Zahlenden und den Patientendatensatz übertragen werden. Patientenanweisungen,
wie beispielsweise spezielle Diäten, Übungen,
Behandlungen, Termine und dergleichen, können aus dem Datentransaktionsformular am
Zentralrechner des Arztes gedruckt werden. Außerdem ermöglicht ein Videobild, das über einen
Videoeingang 74 bereitgestellt und durch eine Datenkompressionsschaltung 75 komprimiert
wird, das Anhängen
eines Bildes eines medizinischen Zustandes wie beispielsweise eines
Ausschlages an die Datentransaktion (in dem sonstigen Bearbeitungsfeld 50 von 2)
zur Übertragung
mit dem Patientennamen, dem Datum, einer Beschreibung der Patientensymptome
und dergleichen. In analoger Weise kann ein aufgezeichneter Herzschlag
an das Ende der Datentransaktion zur Übertragung mit den Patientendaten
angehängt
werden.
-
Das
Datentransaktionseingabesystem der Erfindung hat auch zahlreiche
Heimanwendungen. In einer bevorzugten Heimanwendung wird das Transaktionseingabegerät zum Durchführen von
Banküberweisungen
von zu Hause benutzt. In diesem Fall würden Formulare durch die Bank
für verschiedene Arten
von Banktransaktionen bereitgestellt werden. Diese Formulare würden dann
auf die Transaktionseingabevorrichtung im Haus des Kunden heruntergeladen
und beim erzeugen und Übertragen
von Datentransaktionen an den Bankcomputer für eine Offline-Bearbeitung verwendet
werden.
-
Als
ein weiteres Beispiel kann der Benutzer eine 900er Nummer anrufen,
um eine Schnittstelle zu einer zentralen Datenbank zu bekommen,
die Codes in den TAS- PROM 95 oder
den Formular/Menü-Speicher 96 herunterlädt, die
die Erzeugung von Infrarotsignalen bei bestimmten Frequenzen ermöglichen. Der
Nutzer muss nur die Art, die Marke und das Modell irgendeines zu
steuernden elektronischen Geräts
bestimmen, um den gewünschten
Code zu erhalten. Dann würde
der Nutzer, um irgendein elektronisches Gerät zu Hause zu betreiben, durch
Eingabeaufforderungen von Menüs
geleitet werden. Das Transaktionseingabegerät 12 würde dann
ein Infrarotsignal über
(einen) Infrarot-Transceiver 80 aussenden, um das elektronische
Gerät zu
betreiben, einen Anruf über
ein Modem für
ein Fernsehprogramm initiieren, oder rechtzeitige Anfragen zur Videoaufzeichnung
zum Ein- und Ausschalten des Videorecorders initiieren, und dergleichen
-
Für andere
Hausanwendungen kann das Transaktionseingabegerät 12 auch über Eingabeaufforderungen
von Menüs
Sequenzen zum Ein- und Ausschalten verschiedener Haushaltsgeräte einschließlich Alarmsysteme,
Kaffeemaschinen und dergleichen initiieren. In diesem Modus kann
das Transaktionseingabegerät 12 ein
RF- oder Infrarot-Signal empfangen, das anzeigt, dass ein Einbruch-
oder Feueralarm aktiviert worden ist, und gegebenenfalls ein Formular
zum Anrufen der Polizei oder Feuerwehr aufrufen. Ein Aufrufen des
Transaktionseingabegeräts 12 kann
dann benutzt werden, um den Einbruch- oder Feueralarm durch Verändern eines
Feldes in einem Formular, das dem Infrarot-Transceiver 80 oder
dem RF-Transceiver 90 befiehlt, ein geeignetes Steuersignal
an die Alarmvorrichtung zu senden, auszuschalten. Dieses Merkmal kann
auch von einem Autotelefon über
eine Ferninitiierung des diese Funktion durchführenden Formulars veranlasst
werden.
-
Das
Transaktionseingabegerät 12 kann
auch alle Haushaltstelefonnutzungen sowie die Steuerung des Anrufbeantworters
und das Unterhalten eines Telefontransaktionsprotokolls steuern.
Der Nutzer kann auch Haushaltsrechnungen durch Vervollständigen eines
geeigneten Formulars und Übertragen des
Formulars an einen Zahlungsempfänger
wie beispielsweise eine Kreditkartenfirma, eine Bank oder dergleichen,
bezahlen. Kurz gesagt, ermöglicht
es das Transaktionseingabegerät
dem Eigentümer,
eine entfernte Datenbank ohne Erwerb eines herkömmlichen Computersystems mit
einem Betriebssystem und dergleichen anzuschließen.
-
Für persönliche Anwendungen
kann das Transaktionseingabegerät 12 benutzt
werden, um eine Faxübertragung
zu initiieren, Telefonlisten mit automatischem Anruf bei Auswahl
bereitzustellen, Spesenkonten, persönliche Terminplanung, Steuererfassung,
und dergleichen bereitzustellen, und einen direkten Zugriff auf
Reiseinformationen bereitzustellen. Zum Beispiel kann der Datenbankserver 28 ein
Flugreservierungssystem sein. Bei dieser Anwendung ruft der Datentransaktionsassembler 18 das Modem
des Flugreservierungssystems an, wenn der Benutzer eine Dateneingabe
in ein Flugreservierungsformular anfordert, das am Transaktionseingabegerät 12 des
Nutzers verfügbar
ist. das Datentransaktionsgerät 18 stellt
eine Modemverbindung zum Datenbankserver 28 her, und das
Betriebssystem des Datenbankservers 28 wählt Schnittstellenprogramme
für die
Flugreservierungssysteme aus. Die Schnittstellenprogramme rufen
die Datenbankserver 38 der Fluglinien an, rufen das geeignete Menü von der
Datenbank 40 ab, und senden das Menü an den Datentransaktionsassembler 18.
Der Datentransaktionsassembler 18 zeigt dann das Flugreservierungsmenü auf seinem
Bildschirm 20 zur Vervollständigung und Rückübertragung
an den Flugreservierungs-Datenbankserver zur Bearbeitung an. Die
Magnetstreifenkarte kann benutzt werden, um Kreditkartenzahlungsinformationen
bereitzustellen, und kann aktualisiert werden, indem der Datentransaktionsassembler 18 auf
die Magnetstreifenkarte schreiben kann. Der Nutzer kann auch auf
Vielfliegerclub- und Meilendaten, spezielle Angebote in Hotels,
Kreuzfahrten und andere Reisen, und dergleichen zugreifen.
-
In
einer weiteren Heim- (oder Geschäfts-) Anwendung
kann das Transaktionseingabegerät 12 benutzt
werden, um herkömmliche
Telefonmail-Grüße zu beseitigen,
indem das Transaktionseingabegerät 12 des
Anrufers einen Satz von sichtbaren Menüs aus dem Sprachmail-Menü der angerufenen
Partei einlesen kann, sodass die anrufende Partei die gewünschten
Optionen mittels eines sichtbaren Menüs anstelle eines sprachlichen
Menüs auswählen kann. Mit
anderen Worten müsste
der Anrufer nicht durch die Litanei von sprachlichen Telefonmail-Optionen warten,
bevor er eine Auswahl trifft, und könnte die gewünschte Auswahl
direkt von seinem oder ihrem eigenen Display machen. Dies würde durch
Auswählen
eines Prozesses aus dem Menü des
Transaktionseingabegeräts 12 erreicht
werden, das ein „sichtbares" Menü erzeugt.
Wenn ein solcher Prozess ausgewählt
wird, stellt die Telefonelektronik 14 oder die Modemschnittstelle 78 eine
Telefonverbindung zu einem entfernten Telefon mail-System her. Wenn
die Verbindung einmal hergestellt ist, sendet der Datentransaktionsassembler 18 eine
Datenanfrage für
eine visuelle Darstellung des Telefonmail-Menüs des entfernten Telefonmail-Systems über die
Telefonverbindung an das entfernte Telefonmail-System. Ein Datenstrom
mit der visuellen Darstellung des Telefonmail-Menüs von dem
entfernten Telefonmail-System wird dann über die Telefonverbindung zurückgegeben
und in dem Formular/Menü-Speicher 96 gespeichert
und dem Bildschirm 20 des Transaktionseingabegeräts 12 zur
Auswahl mittels der hier beschriebenen Techniken präsentiert.
Wenn die Menüpunkte aus
dem „sichtbaren" Sprachmail-Menü ausgewählt werden,
erzeugt der Datentransaktionsassembler 18 eine Datentransaktion,
die angibt, welcher Menüpunkt
ausgewählt
wurde, und sendet die Datentransaktion über die Telefonverbindung an
das entfernte Telefonmail-System. Basierend auf der Menüauswahl
gibt das entfernte Telefonmail-System dann einen Datenstrom mit
einer visuellen Darstellung des nächsten Telefonmail-Menüs über die
Telefonverbindung zur Speicherung in dem Formular/Menü-Speicher 96 und
zur Anzeige auf dem Bildschirm 20 zurück. Dieser Prozess wird wiederholt,
bis die anrufende Partei eine Nachricht hinterlassen muss oder die angerufene
Partei erreicht wird. Ein solches System wäre insbesondere hilfreich zur
Wechselwirkung mit Sprachmail-Systemen wie beispielsweise in Regierungsbüros, wo
zahlreiche Optionen zur Auswahl angeboten werden.
-
Der
Fachmann wird erkennen, dass die Erfindung aufgrund ihrer Fähigkeit,
Anwendungen auf Formulare zu verallgemeinern, sodass kein Code geschrieben
werden muss, um eine bestimmte Funktion zu implementieren, einzigartig
ist. Falls jedoch ein Code benötigt
wird oder falls Multimedia-Daten Teil einer Datentransaktion sein
sollen, können
sie an ein Formular, das gespeichert wird, als ein Parameterstrom
in einem Strom von Daten angehängt
werden. Auch kann, obwohl das Transaktionseingabegerät 12 als
eine Computer-Workstation beschrieben worden ist, es ebenso in Zusammenhang
mit einem optionalen Offline-Speichergerät als eine in sich geschlossene
Workstation- und Datenbankeinheit unabhängig von herkömmlichen
Betriebssystemen benutzt werden. Das Transaktionseingabegerät 12 kann
auch mit einem zusätzlichen
optionalen Steckanschluss wie ein Netzwerkserver oder wie eine Nutzerschnittstelle
in einer Netzwerkdockstation benutzt werden.
-
Der
Fachmann wird auch erkennen, dass die obigen Ausführungen
die derzeit bevorzugten Ausführungsbeispiele
der Erfindung erläutert
hat, aber dass zahlreiche alternative Ausführungsbeispiele ohne Verlassen
der neuen Lehren und Vorteile der Erfindung möglich sind. Demgemäß sollen
alle solchen Modifikationen im Schutzumfang der anhängenden
Ansprüche
enthalten sein.