DE19842688A1 - Standard-Benutzerschnittstellen-Steuerung für einen Datenanbieter - Google Patents
Standard-Benutzerschnittstellen-Steuerung für einen DatenanbieterInfo
- Publication number
- DE19842688A1 DE19842688A1 DE19842688A DE19842688A DE19842688A1 DE 19842688 A1 DE19842688 A1 DE 19842688A1 DE 19842688 A DE19842688 A DE 19842688A DE 19842688 A DE19842688 A DE 19842688A DE 19842688 A1 DE19842688 A1 DE 19842688A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- filter
- data provider
- user
- provider
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2428—Query predicate definition using graphical user interfaces, including menus and forms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2425—Iterative querying; Query formulation based on the results of a preceding query
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99934—Query formulation, input preparation, or translation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
Description
Die vorliegende Erfindung betrifft Techniken zum Richten von
Anfragen (Queries) an Datenanbieter und zum Zurückgeben der
Ergebnisse in einer standardisierten Form.
Computernutzer werden häufig mit einer überwältigenden In
formationsmenge konfrontiert, wenn sie versuchen, einen Com
puter zu benutzen. Ein Datenanbieter (Datenprovider), wie
eine Internet-Suchmaschine (Internet Search Engine), kann
als Reaktion auf eine einfache Abfrage Tausende von "Tre
ffern" zurückliefern. Ein Datenanbieter für ein e-mail-Ar
chiv kann Hunderte von Nachrichten anzeigen, die man
durchblättern muß, um eine einzelne Nachricht zu finden. Ein
Dateiverzeichnisbaum eines Computers kann in verwirrenden
Schichten Zehntausende von Dokumenten auflisten. Fig. 1A
zeigt ein Computersystem mit einer eigenen Schnittstelle
200, 202, 204, 206, 208 für jeden Datenanbieter 210, 212,
214, 216, 218.
Um die Schwierigkeit beim Zugreifen auf diese Information
noch zu erhöhen, verwenden die Datenanbieter keine normierte
Benutzerschnittstelle oder Benutzeroberfläche (User Inter
face). Anstatt sich mit einer vielseitigen Benutzerschnitt
stelle vertraut zu machen, muß sich ein Benutzer an ver
schiedene Benutzerschnittstellen gewöhnen, eine zeitauf
wendige und frustrierende Aufgabe.
Das Fehlen einer standardisierten Benutzerschnittstelle er
zeugt zusätzliche Arbeit für Softwareentwickler, die für
jeden Datenanbieter eine andere Schnittstelle konzipieren
müssen. In einer Windows-Umgebung muß ein Softwareentwickler
z. B. ein neues Steuermodul oder Steuerfenster mit unter
schiedlichen Tabulatoren, Tasten und einer neuen Gesamtkon
figuration entwerfen, um die Anforderungen jedes Datenanbie
ters zu erfüllen.
Vorhandene Benutzerschnittstellen erlauben die Filterung von
Datensätzen gestützt auf mehrere Attribute auf einmal. Al
lein aus der Betrachtung einer Benutzeroberfläche ist es
jedoch nicht immer offensichtlich, wie dies zu geschehen
hat. Eine Benutzerschnittstelle kann z. B. eine präzise Fil
terung unter Verwendung mehrerer Attribute eines Datensatzes
nur dann unterstützten, wenn der Benutzer fortgeschrittene
Kenntnisse über die Eigenschaften oder die Abfragesprache
des Datensatzes hat. Keine standardisierte Benutzerschnitt
stelle erlaubt eine präzise Filterung eines Datensatzes im
Hinblick auf mehrere Attribute auf intuitive Weise.
Eine Benutzerschnittstelle kann sogar noch präzisere Anfra
gen an einen Datensatz richten, wenn für jeden Abfrageterm
mehrere Vergleichsverfahren oder -modi unterstützt werden.
Die AutoFilter-Funktion von Microsoft Exel 97 unterstützt
z. B. mehrere Vergleichsmodi für einen Abfrageterm.
AutoFilter erlaubt es dem Benutzer zu spezifizieren, wie der
Abfrageterm mit dem Datensatz verglichen werden soll. Ein
Nachteil der AutoFilter-Funktion ist, daß der Benutzer den
Vergleichsmodus in einer Dialogbox spezifiziert, die von der
Hauptbenutzeroberfläche getrennt ist.
Benutzer geben häufig iterrative, verknüpfte Abfragen aus,
wenn sie versuchen, nach und nach enorme Datenmengen auf
managebare Mengen herunterzufiltern. Ein Benutzer, der eine
einfache Abfrage an eine Internet-Suchmaschine ausgibt, kann
als Antwort z. B. Tausende von "Treffern" empfangen. Der Be
nutzer kann dann eine engere Abfrage ausgeben, um eine Un
tergruppe innerhalb dieser Antworten zu finden. Die enger
gefaßte Abfrage ist üblicher Weise die ursprüngliche Anfrage
plus ein weiterer Term.
Wenn die modifizierte Abfrage mit dem gesamten Datensatz
anstelle des verringerten Datensatzes, der abhängig von der
ersten Abfrage zurückgegeben wurde, durchgeführt wird, ent
stehen enorme Redundanzen. Eine geringere Redundanz ergibt
sich, wenn der gesamte Satz der Abfrageterme statt nur die
Änderungen der Abfrageterme zwischen der Benutzerschnitt
stelle und dem Datenanbieter weitergegeben werden. Diese
Redundanzen führen zu einer wenig ansprechenden optischen
Rückkoppelung auf einer Benutzeroberfläche und zu einer
langsamen Ansprechzeit bei der Filterung eines Datensatzes.
Anstatt zu zeigen, daß ein Datensatz abhängig von der Ein
gabe weitere Kriterien "schrumpft", senden die meisten exi
stierenden Benutzerschnittstellen eine Abfrage erst dann
los, wenn ein Benutzer explizit angegeben hat, daß die For
mulierung der Abfrage abgeschlossen ist. Ein Benutzer muß
z. B. eine Abfrage tippen und dann <ENTER< drücken, um die
Abfrage abzusenden. Der Nachteil dieses Verfahrens ist, daß
der optische Eindruck bei der Betrachtung des schrumpfenden
Datensatzes, während die Eingaben eingegeben werden, verlo
ren geht.
Einige der vorhandenen Benutzerschnittstellen filtern daher
nach jedem Tastenanschlag, der zu einer Texteingabe gehört.
Viele Anwendungen haben z. B. Hilfe-Indices, die mit der Ein
gabe jedes Tastenanschlages durchlaufen werden. Wenn der
Benutzer Hilfe mit der "Anzeige" braucht, tippt der Benutzer
"a" und der Index springt zu "a". Wenn der Benutzer "n"
tippt, springt der Index zu "an" usw. Der Nachteil dieses
Verfahrens ist, daß das Filtersystem bei der Filterung gro
ßer Datensätze manchmal überfordert ist; darunter leiden die
Ansprechgeschwindigkeit und die optische Darstellung.
Ein weiterer Nachteil vorhandener Benutzerschnittstellen
ist, daß sie eine nicht textorientierte Filterung von Daten
sätzen nicht unterstützen. Vielmehr werden die Datensätze
abhängig von willkürlichen Textmustern oder präzisen Text
werten sortiert, selbst wenn der Benutzer nach einer Farbe,
einem Piktogramm, einer Bitabbildung oder einem Klang in
einem Datensatz sucht.
Die bevorzugte Ausführungsform der vorliegenden Erfindung
überwindet die Nachteile des Standes der Technik und sieht
eine standardisierte Benutzerschnittstelle vor, über die ein
Benutzer wirksam und intuitiv mit einem ihm nicht vertrauten
Datenanbieter interagieren kann.
Insbesondere sieht die Erfindung ein Verfahren zum Standar
disierung der Filterung von Daten gemäß Anspruch 1, ein Ver
fahren zum Anzeigen eines Steuerelementes zum Filtern von
Daten auf einer Anzeigeeinrichtung gemäß Anspruch 12, ein
Computerspeichermedium gemäß Anspruch 17, ein Computerbe
triebssystem gemäß Anspruch 24, ein Verfahren zum Abfragen
eines Datenanbieters gemäß Anspruch 26 und ein Verfahren zum
Formulieren einer Anfrage an einen Datenanbieter gemäß An
spruch 29 bzw. Anspruch 34 vor.
Die bevorzugte Ausführungsform der vorliegenden Erfindung
sieht ein Anfangssteuermodul bzw. ein Anfangssteuerfenster
(Header Control) vor, das es einem Benutzer ermöglicht,
einen unvertrauten Datensatz intuitiv und wirksam zu fil
tern. Das Anfangssteuermodul und seine enthaltene standar
disierte Benutzerschnittstelle vereinfachen die Aufgaben für
Benutzer und Softwareentwickler. Die Benutzer müssen sich
nicht mehr mit einer Vielzahl von Benutzerschnittstellen
vertraut machen. Die Softwareentwickler müssen nicht mehr
für jeden Datenanbieter neue eine neue Benutzerschnittstelle
entwerfen. Statt dessen können die Softwareentwickler ein
Minimum an Information über den Datenanbieter und den Daten
satz an die standardisierte Benutzerschnittstelle liefern.
Bei der beschriebenen Ausführungsform erscheint die standar
disierte Benutzerschnittstelle als ein "QuickFilter"-An
fangssteuerfenster in einer Windows-Umgebung. Die standar
disierte Benutzerschnittstelle umfaßt eine Kennung, ein Fil
ter und eine PullDown-Menü-Taste für jedes Attribut eines
Datensatzes, der von einem entsprechenden spaltenförmigen
"Listendarstellungs"-Steuerfenster bzw. -modul angezeigt
wird. Die PullDown-Menü-Taste kann betätigt werden, um ein
Menü anzuzeigen, dessen Elemente zu Attributen des Datensat
zes gehören. Das Steuermodul steht mit einem Datenanbieter
über einer Gruppe aus Anwendungsprogrammier-Schnittstellen
(API; Application Programming Interfaces) in Verbindung, die
im Betriebssystem des Computers enthalten sind.
Über diese APIs sendet der Datenanbieter die Anfangssteuer-Daten
sätze und die PullDown-Menü-Information, die dann als
Teil der üblichen Benutzeroberfläche in der Anfangssteuer
oberfläche angezeigt werden. Das Anfangssteuermodul benach
richtigt den Datenanbieter über Änderungen der Filter in dem
Steuerfenster. Das Anfangssteuermodul benachrichtigt den
Datenanbieter auch über jede Auswahl, die mit der
PullDown-Menü-Information getroffen wurde, welche von dem Datenan
bieter geliefert wird.
Der Datenanbieter filtert den Datensatz abhängig von Filter
änderungen und Auswahlinformation, die er von dem Anfangs
steuermodul empfängt. Jeder Datenanbieter bestimmt abhängig
von der von dem Anfangssteuermodul empfangenen Information,
wie ein Datensatz gefiltert werden soll. Wenn der Datensatz
gefiltert ist, sendet: der Datenanbieter ihn zurück an das
Listendarstellungs-Steuerfenster, in dem er angezeigt wird.
Das Anfangssteuermodul ist so konzipiert, daß es intuitiv
und leicht zu gebrauchen ist. Es ermöglicht präzise, in
tuitive Abfragen durch Positionieren einer Kennung und eines
Filters für jedes der Attribute eines Datensatzes über dem
angezeigten Attribut des Datensatzes. Wenn die Filter von
dem Benutzer verändert werden, wird der Datensatz von dem
Datenanbieter gefiltert und in dem Listendarstellungs-Steuer
fenster neu angezeigt, wodurch sich mit dem Empfang
von Filterabfragewerten der optische Effekt einer Schrump
fung des Datensatzes ergibt.
Das Anfangssteuermodul erreicht diesen optischen
"Schrumpf"-Effekt durch Senden von Filteränderungsnachrichten, ohne daß
der Benutzer dies explizit veranlassen muß. Um zu verhin
dern, daß die Filterabfragen hinterherhinken und den vor
teilhaften Schrumpfeffekt verderben, bestimmt ein Filter
zeitgeber - der von dem Datenanbieter eingestellt wird -,
wie oft Filteranfragen gesendet werden. Wenn die Filterung
und Neuanzeige eines Datensatzes schnell erfolgen kann, kann
der Datensatz nach jedem eingegebenen Tastenanschlag gefil
tert werden. Wenn die Filterung und Neuanzeige eines Daten
zeigers jedoch längere Zeit benötigt, kann der Filterzeitge
ber auf eine längere Zeitspanne eingestellt werden, um das
Ansprechverhalten der Anzeige zu berücksichtigen, damit sich
nicht durch einen zu häufigen Neuaufbau des Bildes eine
Funktionsverschlechterung ergibt.
Bei der beschriebenen Ausführungsform zeigen die PullDown-Menüs
Information über Vergleichsmodi an, gemäß denen ein
Filter für ein Attribut mit dem Datensatz verglichen werden
kann. Die Anzeige dieser Information in einem PullDown-Menü
in der Nähe des Attributs, für das die Information relevant
ist, trägt zur intuitiven Benutzbarkeit der standardisierten
Benutzerschnittstelle bei.
Bei einer anderen Ausführungsform zeigt das PullDown-Menü
benutzerspezifische Steuerelemente an (oder startet ein
zweites Fenster, um benutzer- oder kundenspezifische
Steuerelemente anzuzeigen), welche von dem Datenanbieter
geliefert werden. Die benutzerspezifischen Steuerelemente
erlauben es dem Benutzer, nicht textorientierte Filtereinga
ben einzugeben, die zum Filtern eines Datensatzes mit nicht
textorientierten Attributen verwendet werden. Ein benutzer
spezifisches Steuerelement kann z. B. eine Farbpalette sein,
auf der ein Benutzer eine Farbe auswählt, die dann zum Fil
tern eines Datensatzes nach Farben verwendet wird.
Die obigen sowie weitere Merkmale und Vorteile der vorlie
genden Erfindung ergeben sich deutlicher aus der folgenden
detaillierten Beschreibung bevorzugter Ausführungsformen mit
Bezug auf die Zeichnungen. In den Figuren zeigt:
Fig. 1A ein Diagramm eines Computersystems mit bekan
nten Benutzerschnittstellen zum Zugreifen auf
unterschiedliche Datenbanken;
Fig. 1B zeigt ein Blockschaltbild eines Computersystems
mit einer Benutzerschnittstelle gemäß einer
Ausführungsform der vorliegenden Erfindung zum
Zugreifen auf verschiedene Datenbanken;
Fig. 2 zeigt ein Blockdiagramm eines Computersystems,
das als eine Betriebsumgebung für eine Ausfüh
rungsform der Erfindung dient;
Fig. 3 zeigt ein Steuerfenster, das (1) eine Listen
darstellungs-Steueroberfläche mit einem Raum
für einen Datensatz und (2) eine Anfangssteu
eroberfläche mit Kennungen für die Attribute
des Datensatzes, PullDown-Menü-Tasten und Fil
tern für die Attribute enthält;
Fig. 4 zeigt das Steuerfenster der Fig. 3 zum Anzei
gen eines Datensatzes, der aus Zeilen mit Da
tenobjekten besteht, die in Attributspalten be
schrieben sind;
Fig. 5 zeigt das Steuerfenster der Fig. 4 mit einer
betätigten PullDown-Menü-Taste und einem
Pull-Down-Menü, das nach dem Wiedergewinnen der In
formation über den Vergleichsmodus von einem
Datenanbieter angezeigt wird;
Fig. 6 zeigt das Steuerfenster der Fig. 4, nachdem
der Datensatz nach dem Typ "MS" mit dem Ver
gleichsmodus "Beginne mit" gefiltert wurde;
Fig. 7 zeigt das Steuerfenster der Fig. 4, nachdem
der Datensatz nach dem Typ "Word" mit dem Ver
gleichsmodus "Ende mit" gefiltert wurde;
Fig. 8 zeigt das Steuerfenster der Fig. 4, nachdem
der Datensatz nach dem Typ "MS" mit dem Ver
gleichsmudus "Beginne mit" und nach dem Datum
"97" mit dem Vergleichsmodus "Jahr" gefiltert
wurde;
Fig. 9A zeigt das Steuerfenster der Fig. 4, nachdem
der Datensatz nach dem Typ "MS Wor" mit dem
Vergleichsmodus "Beginne mit" gefiltert wurde,
wobei der Filtervorgang nach Ablauf des Filter
zeitgebers gestartet wurde;
Fig. 9B zeigt das Steuerfenster der Fig. 9A, nachdem
der Datensatz nach dem Typ "MS Work" mit dem
Vergleichsmodus "Beginne mit" gefiltert wurde,
wobei der Filterprozeß gestartet wurde, nachdem
der Benutzer <Enter< gedrückt hat;
Fig. 10 zeigt ein Steuerfenster mit einem Datensatz,
der aus Heimen und einem kundenspezifischen
Steuermenü aufgebaut ist, das einen Bereich für
die Eingabe von Filterwerten und einen Bereich
für die Eingabe des Vergleichsmodus umfaßt;
Fig. 11 zeigt das Steuerfenster der Fig. 4 mit einem
Menü enthaltend eine Liste mit eindeutigen Wer
ten, das die eindeutigen Werte der Spalten an
zeigt, über denen es liegt, und das verwendet
wird, um Filtereingangswerte zu erhalten;
Fig. 12 ist ein Flußdiagramm, das ein Verfahren gemäß
einer Ausführungsform der Erfindung darstellt;
Fig. 13 ist ein Flußdiagramm, das die Reaktionen dar
stellt, welche das Anfangssteuermodul unter
verschiedenen Umständen macht;
Fig. 14 ist die Darstellung eines Steuerfensters, das
ein sekundäres "Kalender"-Fenster gestartet
hat, nachdem das "modifizierte" PullDown-Menü
aktiviert wurde;
Fig. 15 ist ähnlich der Fig. 14, zeigt jedoch eine
Auswahl eines Bereichs von Daten in dem sekun
dären "Kalender"-Fenster; und
Fig. 16 zeigt ein weiteres sekundäres Fenster, das
durch Aktivieren des "modifizierten" PullDown-Menüs
gestartet werden kann, wobei dieses Fen
ster die Auswahl eines "modifizierten" Attribu
tes um ein bestimmtes Datum herum ermöglicht.
Die Erfindung wird nun in bezug auf ein Verfahren und eine
Vorrichtung zum Vorsehen einer standardisierten Benutzer
schnittstelle (SUI; Standard User Interface) für einen
willkürlichen Datenanbieter oder Datenprovider erläutert.
Durch die Verwendung der SUI kann ein Benutzer präzise An
fragen an einen ihm unvertrauten Datenanbieter stellen und
eine prompte Antwort erhalten. Die Pünktlichkeit der Antwort
variiert, um die Effizienz bei der Bearbeitung der Anfragen
und die optische Wirkung der kontinuierlichen Anzeige von
aktualisierten Zwischenergebnissen einer Anfrage zu ma
ximieren. Bei der gezeigten Ausführungsform wird die Stan
dardisierung der SUI erreicht, indem eine Reihe von Anwen
dungsprogrammierschnittstellen (API; Application Programming
Interfaces) von der SUI und den Datenanbietern übernommen
werden.
Fig. 2 und die folgende Erläuterung sollen einen kurzen
allgemeinen Überblick über eine geeignete Rechenumgebung
bieten, in der die Erfindung realisiert werden kann. Während
die Erfindung zusätzlich im Zusammenhang mit von einem Rech
ner ausführbaren Befehlen eines Computerprogramms, das auf
einem Personal Computer läuft, beschrieben ist, wird der
Fachmann erkennen, daß die Erfindung auch in Kombination mit
anderen Programmodulen realisiert werden kann.
Programmodule umfassen im allgemeinen Routinen, Programme,
Komponenten, Datenstrukturen etc., die bestimmte Aufgaben
ausführen oder bestimmte abstrakte Datentypen realisieren.
Der Fachmann wird ferner verstehen, daß die Erfindung auch
in anderen Rechnersystemkonfigurationen angewendet werden
kann, einschließlich handgehaltene Geräte, Multiprozessor
systeme, mikroprossergestützte oder programmierte Verbrau
cherelektronik, Minicomputer, Mainframecomputer und derglei
chen. Die Erfindung kann auch in verteilten Rechenumgebungen
eingesetzt werden, in der Aufgaben von dezentralen Verarbei
tungseinrichtungen ausgeführt werden, die über ein Daten
übertragungsnetz miteinander verbunden sind. In einer ver
teilten Rechenumgebung können die Programmodule sowohl in
zentralen als auch in entfernten dezentralen Speicherein
richtungen liegen.
Fig. 2 zeigt ein Beispiel eines Rechnersystems, das als
eine Betriebsumgebung für die Erfindung dient. Das Rechner
system umfaßt einen Personal Computer 120 mit einer Verar
beitungseinheit 121, einem Systemspeicher 122 und einem Sy
stembus 123, der die verschiedenen Systemkomponenten ein
schließlich des Systemspeichers mit der Verarbeitungseinheit
121 verbindet. Der Systembus kann eine von verschiedenen
Arten von Busstrukturen aufweisen, einschließlich einen
Speicherbus oder eine Speicher-Steuereinrichtung, einen Pe
ripheriebus oder einen lokalen Bus mit einer von vielen ver
schiedenen Busarchitekturen, wie PCI, VESA, Microchannel
(MCA), ISA und EISA, um nur einige zu nennen.
Der Systemspeicher umfaßt einen Festspeicher (ROM) 124 und
einen Arbeitsspeicher (RAM) 125. Ein Basis-Ein-Ausgabesystem
(BIOS), das die Grundroutinen enthält, die bei der Übertra
gung von Information zwischen den Elementen innerhalb des
Personal Computers 120 helfen, z. B. während des Hochfahrens,
ist im ROM 124 gespeichert.
Der Personal Computer 120 umfaßt ferner ein Festplattenlauf
werk 127, ein Magnetplattenlaufwerk 128, z. B. zum Lesen von
und Schreiben auf eine entfernbare Platte 129, und ein opti
sches Plattenlaufwerk 130, z. B. zum Lesen einer CD-ROM 131
oder zum Lesen von und Schreiben auf ein optisches Medium.
Das Festplattenlaufwerk 127, das Magnetplattenlaufwerk 128
und das optische Plattenlaufwerk 130 sind über eine Fest
plattenlaufwerk-Schnittstelle 132, eine Magnetplattenlauf
werk-Schnittstelle 133 bzw. eine optische Laufwerkschnitt
stelle 134 mit dem Systembus 123 verbunden. Die Laufwerke
und ihre zugehörigen computerlesbaren Medien bilden einen
nichtflüchtigen Speicher für Daten, Datenstrukturen, von
einem Computer ausführbare Befehle (Programmcode, wie dyna
mische Bibliotheken und ausführbare Dateien) etc. für den
Personal Computer 120.
Obwohl oben eine Festplatte, eine entfernbare Magnetplatte
und eine CD beschrieben sind, können als computerlesbare
Medien auch andere Arten von Medien verwendet werden, die
von einem Computer lesbar sind, wie Magnetkassetten, Blitz
speicher-Karten (Flash-Speicherkarten), digitale Bildplat
ten, Bernoulli-Kassetten und dergleichen.
In den Laufwerken und dem RAM 125 können eine Reihe von Pro
grammodulen gespeichert sein, einschließlich eines Be
triebssystems 135 (z. B. Windows NT, Windows 95, MS-DOS
etc.), ein oder mehrere Anwendungsprogramme 136, andere Pro
grammodule 137 und Programmdaten 138.
Ein Benutzer kann Befehle und Informationen in den Personal
Computer 120 über eine Tastatur 140 und eine Lenkvorrich
tung, wie eine Maus 142, eingeben. Andere Eingabeeinrichtun
gen (nicht gezeigt) können ein Mikrophon, einen Joystick,
ein Spielpad, eine Satellitenschüssel, einen Scanner oder
dergleichen umfassen. Diese und anderer Eingabevorrichtungen
sind mit der Verarbeitungseinheit 121 häufig über eine se
rielle Portschnittstelle 146 verbunden, die mit dem System
bus gekoppelt ist, sie können jedoch auch über andere
Schnittstellen angeschlossen sein, wie einen parallelen
Port, einen Gameport, oder einen universellen, seriellen Bus
(USB).
Ein Monitor 147 oder eine andere Art Anzeigeeinrichtung ist
ebenfalls über eine Schnittstelle mit dem Systembus 123 ver
bunden, z. B. über einen Videoadapter 148. Zusätzlich zu dem
Monitor weisen Personal Computer üblicherweise weitere Peri
pherieausgabegeräte (nicht gezeigt) auf, wie Lautsprecher
und Drucker.
Der Personal Computer 120 kann in einer vernetzten Umgebung
arbeiten, die logische Verbindungen zu einem oder mehreren
entfernten Computern nutzt, z. B. zu dem entfernten Computer
149. Der entfernte Computer 149 kann ein Server, eine Leit
wegsteuereinrichtung (Router), ein gleichrangiges Gerät oder
ein anderer üblicher Netzknoten sein, und er umfaßt übli
cherweise viele oder alle der oben in bezug auf den Personal
Computer 120 beschriebenen Elemente, obwohl in Fig. 1 nur
eine Speichervorrichtung 150 gezeigt ist. Die in Fig. 1
gezeigten logischen Verbindungen umfassen ein lokal es Netz
(LAN) 151 und ein Fernnetz (WAN) 152. Solche Netzumgebungen
sind in Büros, unternehmensweiten Computernetzen, Intranet
zen und dem Internet allgemein üblich.
Wenn der Personal Computer 120 in einer LAN-Netzumgebung
eingesetzt wird, ist er mit dem lokalen Netz 151 über eine
Netzschnittstelle oder einen Adapter 153 verbunden. Wenn er
in einer WAN-Netzumgebung eingesetzt wird, umfaßt der Perso
nal Computer 120 üblicherweise ein Modem 154 oder ein ande
res Mittel zum Aufbauen von Datenübertragungsverbindungen
über das Fernnetz 152, wie das Internet. Das Modem 154, das
in oder außerhalb des Computers liegen kann, ist mit dem
Systembus 123 über die serielle Portschnittstelle 146 ver
bunden.
In einer Netzumgebung können Programmodule, die in bezug auf
den Personal Computer 120 dargestellt sind, oder deren Teile
in der entfernten Speichervorrichtung gespeichert sein. Man
wird verstehen, daß die gezeigten Netzverbindungen lediglich
Beispiele sind und daß auch andere Mittel zum Einrichten
eines Übertragungsweges zwischen den Computern eingesetzt
werden können.
Fig. 1B und 3-13 zeigen die Funktionen des Anfangssteuer
moduls (header control) und des Listendarstellungs-Steuer
moduls (list view control), welche die Standardbenutzer
schnittstelle (SUI) einer Ausführungsform der vorliegenden
Erfindung bilden. Die Fig. 1B und 3-8 zeigen die Ar
beitsweise des Anfangssteuermoduls und der SUI insgesamt,
während die Fig. 9A und 9B zeigen, wie der Filterzeitge
ber für eine Textfiltereingabe innerhalb der SUI arbeitet.
Fig. 10 und 11 zeigen alternative Ausführungsformen der
vorliegenden Erfindung, welche benutzerspezifische Steuerme
nüs bzw. Listen mit eindeutigen Werten verwenden. Die Fig.
12 und 13 sind Flußdiagramme, welche den Betrieb des
gezeigten Systems allgemeiner beschreiben.
Fig. 1B zeigt ein Beispiel einer SUI gemäß der vorliegenden
Erfindung. Im Gegensatz zu den mehreren Benutzerschnittstel
len, die bei den Verfahren des Standes der Technik zum Zu
greifen auf mehrere Datenanbieter 210, 212, 214, 216, 218
benötigt werden, sieht die vorliegende Erfindung eine ein
zige SUI 220 vor, um auf mehrere Datenanbieter zuzugreifen.
Die gezeigte SUI 220 kann auf jeden Datenanbieter zugreifen,
der gemäß den unten erläuterten APIs konzipiert ist. Die SUI
kann z. B. dazu verwendet werden, über einen Dateimanager 202
auf einen Dateiverzeichnisbaum 212 zuzugreifen, indem sie
die unten erläuterten APIs verwendet. Dieselbe SUI kann dazu
verwendet werden, auf ein elektronisches Arbeitsblatt
(spread sheet) 216, das Internet 214, e-mail-Archive 218
zuzugreifen.
Die SUI 220 hat sowohl für die Benutzer von Computersystemen
als auch für die Softwareentwickler Vorteile. Der Benutzer
muß nicht mehr verschiedene Abfragesprachen lernen oder sich
merken, wie er mit verschiedenen Schnittstellen bzw. Ober
flächen umgeht, um auf verschiedene Datenanbieter zuzugrei
fen. Die Softwareentwickler müssen nicht mehr für die ver
schiedenen Datenanbieter spezifische Benutzerschnittstellen
entwerfen. Statt dessen können die Softwareentwickler mit den
Funktionen der SUI arbeiten.
Fig. 3 zeigt ein Steuerfenster, das die SUI 220 enthält,
nachdem das Steuermodul/Steuerfenster von dem Benutzer ges
tartet wurde. Die in Fig. 3 gezeigte SUI ist Teil eines
selbständigen (stand alone) Steuermoduls. Bei einer anderen
Ausführungsform ist die SUI Teil eines anderen Abfragesteu
ermoduls.
Das Steuerfenster 222 umfaßt einen Bereich 310 für die An
zeige eines Datensatzes (einschließlich Spalten 350, 352,
354, 356 für Attribute), von Kennungen 320, 322, 324, 326
für die Attribute des Datensatzes, von Filtern 330, 332,
334, 336 für die Attribute des Datensatzes und von Tasten
eines PullDown-Menüs 340, 342, 344, 346 in der Nähe der Ken
nungen für die Attribute. Die Anzahl der Attribute und die
Kennungen der Attribute sind bekannt, wenn das Steuerfenster
gestartet wird. Bei einer anderen Ausführungsformen werden
die Anzahl der Attribute und die Kennungen für die Attribute
aus dem in dem Steuerfenster angezeigten Datensatz abgelei
tet. In jedem Fall können die Anzahl der Spalten und die
Kennungen für die Attribute abhängig von dem Datensatz vari
ieren.
Bei der gezeigten Ausführungsform wird das Anfangssteuerfen
ster unabhängig von dem Listendarstellungs-Steuerfenster
gestartet. Das bedeutet, daß das Anfangssteuerfenster sicht
bar werden kann, bevor ein Datensatz angezeigt wird, wie in
Fig. 3 gezeigt. Bei einer anderen Ausführungsform wird der
Datensatz innerhalb des Listendarstellungs-Steuerfensters
angezeigt, sobald das Anfangssteuerfenster gestartet wird.
Der Datenanbieter liefert den Datensatz sowie die in den
PullDown-Menüs enthaltene Information, welche aktiviert wer
den, indem die Tasten des PullDown-Menüs in dem Anfangs
steuerfenster gedrückt werden.
Wie der Fachmann verstehen wird, kann die präzise Konfigura
tion des Bereiches für den Datensatz, der Kennungen, der
Filter und PullDown-Menü-Tasten nach Wunsch modifiziert wer
den.
Fig. 4 zeigt das Steuerfenster der Fig. 3, in dem ein Da
tensatz angezeigt ist. Der Datensatz umfaßt Zeilen 360 mit
Datenobjekten und Spalten 370 mit Attributen, welche diese
Datenobjekte beschreiben. Obwohl der in Fig. 4 gezeigte
Datensatz aus Anwendungsdokumenten zusammengesetzt ist, die
durch ihren Namen, Typ, Pfad und ihr Datum beschrieben sind,
können auch andere Datensätze verwendet werden. Die Daten
sätze können z. B. w.w.w.-Seiten (w.w.w. = World Wide Web)
umfassen, die Treffer einer Internet-Suchmaschine wieder
geben, e-mail-Nachrichten, die in einem e-mail-Archiv ge
speichert sind oder Daten in einem elektronischen Arbeits
blatt. Der Datensatz wird von dem Datenanbieter geliefert.
Das gezeigte Listendarstellungs-Steuerfenster kann einen
Datensatz mit einer beliebigen Anzahl von Datenobjekten oder
Datenattributen aufnehmen. Das gezeigte Anfangssteuerfenster
kann ähnlich eine beliebige Anzahl von Datenattributen un
terbringen.
Wie der Fachmann erkennen wird, kann die präzise Organisa
tion des Datensatzes verändert werden, ohne die Funktions
weise der gezeigten Ausführungsweise zu ändern. Die Zeilen
des Datensatzes könnten z. B. Attribute enthalten, während
die Spalten den Objekten entsprechen könnten.
Fig. 5 zeigt die SUI der Fig. 4, wobei eine Taste 342 des
PullDown-Menüs gedrückt ist und von dem Anfangssteuerfenster
ein PullDown-Menü 382 angezeigt wird. Das PullDown-Menü 382
zeigt die Vergleichsverfahren oder -modi an, mit denen der
Filter 332 (Fig. 3) für die Attribute der Spalten 352 auf
den Datensatz angewendet werden sollte. Es ist z. B. das
PullDown-Menü für das Attribut "Typ" gezeigt. Durch Auswahl
eines Vergleichsmodus kann ein Benutzer überprüfen, ob ir
gendein Element des Datensatzes zu einem Typ gehört, der mit
dem für das Attribut in den Filter 332 eingegebenen Term
"beginnt", "endet", "(genau) gleich ist", oder "ungleich
ist".
Der Datenanbieter liefert die in dem PullDown-Menü ange
zeigte Information über den Vergleichsmodus. Diese Infor
mation kann für jedes Attribut anders sein. In Fig. 5 hat
der Benutzer den Vergleichsmodus "Beginnt mit" mit einem
Cursor 390 einer Lenkvorrichtung ausgewählt. (Wie der Fach
mann erkennen wird, können auch andere Eingabevorrichtungen
verwendet werden, um einen Vergleichsmodus auszuwählen, ohne
die Funktionsweise der gezeigten Ausführungsformen zu ver
ändern.) Wenn der Benutzer für ein Attribut keinen Ver
gleichsmodus auswählt, verwendet der Datenanbieter einen
voreingestellten Vergleichsmodus, wenn er eine Abfrage aus
führt.
Fig. 6 zeigt die SU:E der Fig. 4, nachdem der Benutzer eine
Eingabe in den Typ-Filter 332 des Anfangssteuermoduls ein
gegeben hat. Der Benutzer hat den Typ-Filter aktiviert, in
dem er mit einer Lenkvorrichtung den Filter angeklickt hat.
Bei Anklicken des Filters schaltet der Filter in den Edi
tiermodus um. Der Benutzer hat "MS" eingetippt und <ENTER<
gedrückt, um an den Datenanbieter eine Datenänderung zu
übermitteln. Alternativ könnte der Benutzer die SUI mit der
Lenkeinrichtung auch an irgendeiner anderen Stelle anklick
en, um den Editiermodus zu verlassen.
Wenn der Benutzer den Editiermodus verläßt, wird die Filter
änderung von dem Anfangssteuermodul an den Datenanbieter ge
sendet. Der Datenanbieter filtert den Datensatz in Überein
stimmung mit dem Typ-Filterterm "MS" und dem Vergleichsmodus
"Beginne mit", der vom Benutzer ausgewählt sein kann oder
der der voreingestellte Vergleichsmodus sein könnte. Der
gefilterter Datensatz wurde vom Datenanbieter zurückgegeben
und in dem Listendarstellungs-Steuerfenster angezeigt.
Obwohl ein Datenanbieter bestimmt, wie eine Abfrage mit dem
eingegebenen Filter und dem Vergleichsmodus behandelt werden
soll, ignoriert ein Datenanbieter normalerweise Filter, die
von einem Benutzer nie verändert wurden. Mit anderen Worten,
in der Voreinstellung sind Filter leer (oder auf andere
Weise als inaktiv dargestellt) und werden bei der Filterung
nicht verwendet.
Wie der Fachmann verstehen wird, können andere Verfahren zum
Aktivieren und Verlassen der Filter für den Zweck der Edi
tierung eingesetzt werden, ohne die Funktionsweise der ge
zeigten Ausführungsformen zu verändern.
Fig. 7 zeigt die SUI der Fig. 4, nachdem der Benutzer den
Typ-Vergleichsmodus "Ende mit" und den Typ-Filter "Word"
ausgewählt hat. Der Datenanbieter hat den Datensatz abhängig
von der Information über den Filter und das Verfahren, die
an ihn übergeben wurde, gefiltert. Der gefilterte Datensatz
wurde vom Datenanbieter zurückgegeben und in dem Listendar
stellungs-Steuerfenster angezeigt.
Fig. 8 zeigt die SUI der Fig. 4, nachdem der Benutzer den
Typ-Vergleichsmodus "Beginne mit", den Typ-Filter "MS", den
Datums-Vergleichsmodus "Jahr" und den Datums-Filter "97" in
nerhalb des Anfangssteuerfensters ausgewählt hat. Der Daten
satz wird im Steuerfenster angezeigt, und die Filter werden
im Anfangssteuerfenster angezeigt, nachdem der Datenanbieter
den Datensatz mit all dieser Information gefiltert hat.
Der Datenanbieter ermittelt, wie die Filter und die ausge
wählten Modi bei dem Datensatz angewendet werden sollten. In
Fig. 8 hat der Datenanbieter Datenobjekte gefiltert, die
mit "MS" beginnen UND aus dem Jahr "97" stammen. Alternativ
könnte ein Datenanbieter Datenobjekte filtern, die mit "MS"
beginnen ODER aus dem Jahr "97" stammen. Ein Datenanbieter
kann die Filterterme und die ausgewählten Modi in jedem
geeigneten Filteralgorithmus verwenden. Das Filterverfahren
ist in dem Anfangssteuerfenster und dem Listendarstellungs-Steuer
fenster der gezeigten Ausführungsform nicht sichtbar.
Das Anfangssteuermodul sendet Änderungen des Filters und die
Auswahl der Modi an den Datenanbieter (oder sein Schnitt
stellenprogramm), und das Listendarstellungs-Steuermodul
empfängt im Gegenzug die gefilterten Datensätze.
Obwohl Fig. 8 den Datensatz nach der Filterung abhängig von
allen Termen der Abfrage zeigt, wie oben bemerkt, werden
Veränderungen des Filters an den Datenanbieter gesendet,
wenn der Benutzer den Editiermodus für einen bestimmten Fil
ter verläßt. Die Auswahl des Vergleichsmodus wird an den
Datenanbieter gesendet, sobald sie getroffen wurde. Wenn der
Datenanbieter eine Veränderung des Filters oder eine Auswahl
des Vergleichsmodus empfängt, filtert er den Datensatz ab
hängig von den aktuellsten Termen der Abfrage. Bei der Ab
frage der Fig. 8 würde der Datenanbieter mehrere Filter
schritte durchgeführt haben, bevor er zu dem Filterergebnis
gemäß dem Datensatz der Fig. 8 kommt.
Fig. 9A und 9B zeigen die SUI der Fig. 4, die mit einem
Zeitgeber (Timer) für textliche Filteränderungen arbeitet.
Wenn ein Benutzer einen Filter editiert, mißt der Zeitgeber
die Zeit, die verstrichen ist, seitdem der Benutzer das
letzte Mal Eingaben über die Tastatur gemacht hat. Wenn eine
Tastatureingabe empfangen wird, wird sie von dem Anfangs
steuermodul stapel- oder chargenweise verarbeitet, bis sie
als eine Änderung des Filters an den Datenanbieter gesendet
wird. Das Anfangssteuermodul sendet eine Charge der Eingaben
automatisch, wenn der Benutzer den Editiermodus für den Fil
ter verläßt. Wenn die Zeit, die verstrichen ist, seitdem
zuletzt eine Eingabe über die Tastatur empfangen wurde (oder
die Zeit, die verstrichen ist, seitdem zuletzt eine Anfrage
an den Datenprovider gesendet wurde), über einem bestimmte
Grenzwert liegt, werden die chargenweise verarbeiteten Tas
tatureingaben an den Datenanbieter gesendet.
Mit Bezug auf die Fig. 9A sei angenommen, daß ein Benutzer
des gezeigten Ausführungsbeispiels ein ungeübter Sekretär
ist, und daß der Zeitgeber auf 2 Sekunden eingestellt ist.
Der Benutzer möchte den Datensatz der Fig. 4 nach dem Typ
"MS Works" filtern. Der Benutzer tippt "MS Wor", bevor er
jedoch das "k" auf der Tastatur finden kann, läuft der Zeit
geber ab, und der veränderte Typ "MS Wor" wird an den Daten
anbieter gesendet. Der gemäß dem Typ "MS Wor" und dem Ver
gleichsmodus "Beginne mit" (Voreinstellung) gefilterte Da
tensatz wird zurückgegeben und angezeigt.
Mit Bezug auf Fig. 9B wir angenommen, daß der Benutzer dann
das "k" findet und "ks" <ENTER< tippt. Das <ENTER< bewirkt,
daß der Benutzer den Editiermodus verläßt, wodurch automa
tisch die Veränderung des Filtertyps "ks" sofort an den Da
tenanbieter gesendet wird, ohne daß der Ablauf des Zeitge
bers abgewartet wird. . Der gemäß dem Typ "MS Works" und dem
Vergleichsmodus "Beginne mit" (Voreinstellung) gefilterte
Datensatz wird dann zurückgegeben und angezeigt.
Bei der gezeigten Ausführungsform wird der Zeitgeber jedes
mal zurückgesetzt, nachdem ein Tastenanschlag empfangen wur
de. Wenn der Zeitgeber auf 3 Sekunden eingestellt wird, be
wirkt eine Pause von weniger als 3 Sekunden zwischen den
Tastenanschlägen, daß die Tastenanschläge in einer einzigen
Filteränderung als Charge zusammengefaßt werden und der
Zeitgeber nach jedem Tastenanschlag zurückgesetzt wird. Eine
Pause von 3 oder mehr Sekunden nach dem Empfang des letzten
Tastenanschlags bewirkt, daß die als Charge zusammengefaßten
Eingaben über die Tastatur als eine Filteränderung abge
schickt werden.
Bei der gezeigten Ausführungsform der Erfindung wird der
Zeitgeber von dem Datenanbieter eingestellt und kann verän
dert werden. Wenn der Datenanbieter den Zeitgeber mit einer
sehr kurzen Dauer einstellt, filtert der Datenanbieter nach
der Eingabe jedes Tastenanschlags. In einem solchen Fall
kann es dann, wenn der Filtervorgang des Datenanbieters län
ger als das Tippen eines Tastenanschlags benötigt, gesche
hen, daß der Datenanbieter in Filterabfragen versinkt, was
die Neuanzeige der Datensätze verlangsamt und insbesondere
zu einem langsamen optischen Ansprechverhalten führt, wenn
der Benutzer durch Verlassen des Editiermodus die Filterope
ration explizit startet.
Wenn der Zeitgeber andererseits auf eine lange Zeitdauer
eingestellt ist, verliert die SUI die vorteilhafte optische
Wirkung, daß der Datensatz "schrumpft", während der Benutzer
auf der Tastatur tippt.
Der Datenanbieter stellt also den Zeitgeber so ein, daß ein
Kompromiß zwischen dem Ansprechverhalten der SUI und der
Leistungsverschlechterung durch den zu häufigen Neuaufbau
des Datensatzes gefunden wird. Wenn der Datenanbieter stär
ker oder weniger stark in Anspruch genommen wird, kann sich
die optimale Zeit ändern. Wenn der Datenanbieter z. B. eine
Internet-Suchmaschine ist, wird die Zeit während der Stoß
zeiten den Internetzugang länger und während der Nebenzeiten
für den Internetgebrauch kürzer sein.
Wie der Fachmann erkennen wird, kann der Zeitgeber auch wäh
rend des Startens des Anfangssteuermoduls von diesem einge
stellt werden, wenn es möglich ist, eine optimale Zeit für
den Datenanbieter zu ermitteln, ohne die Funktionsweise der
gezeigten Ausführungsform zu verändern.
Fig. 10 zeigt eine andere Ausführungsform für das Steuer
modul/Steuerfenster und die SUI der vorliegenden Erfindung.
Bei dieser Ausführungsform wird, wenn der Benutzer die Taste
342 des PullDown-Menüs aktiviert, ein benutzer- oder kun
denspezifisches Steuermenü 402 angezeigt. Der Datenanbieter
liefert das benutzerspezifische Steuerfenster 412, das in
dem PullDown-Menü angezeigt wird. Bei einer anderen Ausfüh
rungsform signalisiert der Datenanbieter dem Steuermodul,
welches von mehreren benutzerspezifischen Steuerfenstern 412
in dem PullDown-Menü angezeigt werden soll. (Das Farbaus
wahl-Steuerfenster 412 der Fig. 10 ist grau, weil eine an
dere Farbgebung in Patentdokumenten nicht wiedergegeben wer
den kann. In der Praxis würde die Farbauswahl jedoch ein
zweidimensionales Spektrum von Farbwahlmöglichkeiten wieder
geben.).
Der Benutzer interagiert mit dem benutzerspezifischen Steu
erfenster 412, um (z. B. mit dem Cursor 390 einer Lenkvor
richtung) nicht textorientierte Abfrageterme für das Attri
but 352, zu dem das benutzerspezifische Steuerfenster ge
hört, einzugeben. Diese nicht textorientieren Abfrageterme
werden auf die gleiche Weise wie die Textfilter zum Filtern
eines Datensatzes verwendet.
Ein Datensatz, nach dem gesucht wird, kann z. B. aus Autos
bestehen, die ein örtlicher Autohändler im Lager hat und die
auf einer Seite des World Wide Web enthalten sind. Ein At
tribut jedes Autos ist die Farbe. Ein möglicher Käufer des
Autos, der über ein begrenztes Vokabular zum Beschreiben der
Farbe (weiß, gebrochenes Weiß, grün, grau etc.) verfügt,
wäre im Nachteil, wenn er ein Auto mit einer gewünschten
Farbe textorieniert sucht. Um die Unfähigkeit des Benutzers,
den gesamten Bereich der Autofarben in textlichen Begriffen
zu beschreiben, zu überwinden, und einen intuitiveren Filter
zu realisieren, ermöglicht die gezeigte Ausführungsform ein
benutzerspezifisches Steuerfenster 412 in der Form einer
Farbpalette für Autofarben. Nach Vorgabe dieser Farbpalette
wählt der Benutzer eine Farbe mit der Lenkvorrichtung aus.
Die Auswahl wird wie eine Filteränderung an den Datenanbie
ter weitergegeben. Der Datenanbieter filtert dann den Daten
satz abhängig von der Farbauswahl als ein Filter.
Das benutzerspezifische Steuermenü zeigt Information über
den Vergleichsmodus, die von dem Datenanbieter geliefert
wird, in einem PullDown-Menü 382 neben dem benutzerspezifis
chen Steuermenü 402 an. Wenn das benutzerspezifische Steuer
modul 412 z. B. eine Farbpalette ist, könnten die Vergleichs
modi "Liegt nahe bei" und "Ist nicht" angezeigt werden. Bei
einer anderen Ausführungsform enthält das benutzerspezifi
sche Steuermenü das benutzerspezifische Steuermodul, während
die Information über den Vergleichsmodus in einem getrennten
Menü dargestellt wird.
In noch einer anderen Ausführungsform kann das benutzerspe
zifische Steuermodul die Form eines Nebenfensters annehmen,
das bei Aktivierung eines Filter-PullDown-Menüs durch Aus
wahl eines "benutzerspezifisch. . ."-Eintrags in dem
PullDown-Menü gestartet wird.
Fig. 14 zeigt eine solche Anordnung, bei der ein sekundäres
"Kalenderfenster" gestartet wird, wenn der Benutzer das "mo
dified"-PullDown-Menü startet. Der Benutzer kann ein einzel
nes Datum in dem Kalender anklicken, oder er kann, wie in
Fig. 15 gezeigt, den Cursor mit der Lenkeinrichtung über
mehrere Daten in dem Kalenderfenster ziehen. Im ersten Fall
wird in das "modified"-Filterfeld ein einziges Datum einge
geben; im letzteren Fall wird eine Reihe von Daten eingege
ben.
Fig. 16 zeigt ein anderes Beispiels eines sekundären Fen
sters, das gestartet werden kann, wenn ein Benutzer die Ta
ste des "modified"-PullDown-Menüs aktiviert. Bei diesem
Beispiel erlaubt das sekundäre Fenster es dem Benutzer, eine
von mehreren Bedingungen auszuwählen, z. B. "Am", "Zwischen"
oder "Ungefähr". Wenn der Benutzer "ungefähr" (around) aus
wählt, wird ein Schiebesteuermodul aktiviert, das die Ein
gabe eines Zeitbereichs um das spezifizierte Datum herum er
möglicht, in dem die Filterkriterien erfüllt werden.
Wenn man sich wieder dem benutzerspezifischen Farbauswahl
modul zuwendet, kann z. B. dann, wenn die Farbdaten bei dem
Datenanbieter in quantitativer Form (z. B. RGB, YUV, etc.)
gespeichert sind, die "liegt nahe bei"-Bedingung von solchen
Farben als erfüllt angesehen werden, deren entsprechende
Farbkomponenten numerisch innerhalb von z. B. 15% der Farb
komponente der vom Benutzer ausgewählten Farbe liegen. (Bei
einer anderen Ausführungsform können für verschiedene Farb
komponenten unterschiedliche Prozentbereiche verwendet wer
den, um die "Nähe" zu beurteilen, z. B. abhängig von der un
terschiedlichen Empfindlichkeit des menschlichen Auges auf
verschiedene Farben).
Obwohl dies in Fig. 10 nicht gezeigt ist, gibt es weitere
Farbbeziehungen, die spezifiziert werden können, wie "hel
ler als" und "dunkler als". Diese können beurteilt werden,
indem z. B. die vom Benutzer ausgewählte Farbe in einen ent
sprechenden Grauskalenwert umgewandelt wird, und dieser Wert
mit entsprechenden Grauskalenwerten der bei einem Datenanb
ieter gespeicherten Farben verglichen wird.
Fig. 11 zeigt eine weitere Ausführungsform des Anfangssteu
ermoduls und der SUI der Fig. 1. Bei dieser Ausführungsform
wird, wenn der Benutzer die Taste 342 des PullDown-Menüs
betätigt, ein Menü 422 mit einer Liste aus eindeutigen Wer
ten angezeigt. Die Liste aus eindeutigen Werten zählt die
eindeutigen Werte der Attribute auf, zu denen die Liste aus
eindeutigen Werten gehört. Die Liste aus eindeutigen Werten
der Fig. 11 zeigt z. B. "MS Word", MS Exel", "MS Works" und
"Text" an - eine erschöpfende Liste aller Datentypen, die in
dem Datenanbieter gespeichert sind.
Die Liste aus eindeutigen Werten, die in einem PullDown-Menü
angezeigt wird, wird vom Benutzer dazu verwendet, mit der
Lenkvorrichtung einen Wert auszuwählen. Diese Auswahl wird
als eine Änderung des Filters an den Datenanbieter weiter
gegeben, der dann die Auswahl dieses eindeutigen Wertes zum
Filtern des Datensatzes verwendet.
Der Datenanbieter liefert die Liste aus eindeutigen Werten.
Vor der Initialisierung des Inhalts des PullDown-Menüs ta
stet der Datenanbieter den aktuellen Datensatz ab und ermit
telt die eindeutigen Werte, die für ein gegebenes Attribut
des Datensatzes vorhanden sind. Die eindeutigen Werte werden
ähnlich wie die Vergleichsmodi zurückgegeben.
Wenn Filter für mehrere Attribute eingestellt sind, UND-ver
knüpft der Datenanbieter diese Attribute, wenn er die Abfra
gen ausführt, wie bereits erwähnt wurde. Die Liste aus ein
deutigen Werten ermöglicht eine leistungsstarke Erweiterung
dieses Grundprotokolls: Wenn der Benutzer mehrere verschie
dene Werte in einer einzigen Attributliste aus eindeutigen
Werten auswählt (z. B. durch Festhalten der Steuertaste wäh
rend der Auswahl mehrerer Werte), werden diese bei der Ab
frage des Datenanbieters ODER-verknüpft. Bei Testversuchen
hat sich ergeben, daß diese Maßnahme eine stark intuitive
Schnittstelle schafft.
Wie erwähnt, werden vom Benutzer häufig iterativ verknüpfte
Abfragen ausgegeben, wenn er versucht, nach und nach große
Datenmengen auf bewältigbare Mengen herunterzufiltern. Ein
Benutzer, der eine einfache Anfrage an eine Internet-Suchma
schine ausgibt, kann z. B. Tausende von "Treffern" als Ant
wort empfangen. Der Benutzer kann dann eine engere Abfrage
ausgeben, um innerhalb dieser Antworten eine Untermenge zu
finden. Die engere Abfrage ist üblicherweise die ursprüng
liche Abfrage plus (UND) ein anderer Term.
Es ergeben sich enorme Redundanzen, wenn die modifizierte
Abfrage mit dem gesamten Datensatz anstelle des engeren Da
tensatzes, der abhängig von der ersten Abfrage zurückgegeben
wurde, ausgeführt wird. Diese Redundanz verschlechtert die
optische Rückkoppelung auf der Benutzeroberfläche und ver
langsamt die Ansprechzeit.
Bei der gezeigten Ausführungsform wird die Handhabung der
eingeschränkten Filter den jeweiligen, abgefragten Datenan
bietern überlassen. Wenn eine zweite Abfrage vorliegt, wel
che die Ergebnisse einer unmittelbar vorhergehenden Abfrage
weiter eingrenzt, können einige Datenanbieter die Suche neu
durchführen. Andere, intelligentere Datenanbieter können die
Ergebnisse der vorhergehenden Suche beibehalten und verfei
nern, anstatt neu zu starten.
In einigen Fällen ist es vorteilhaft, eine Abfrage anstelle
nur der Abfrageergebnisse an einen Benutzer weiterzugeben
(letztere können bald überholt und ferner sehr umfangreich
sein). Bei der gezeigten Ausführungsform kann der Benutzer
ein QuickFilter-Steuermodul an einen anderen Benutzer z. B.
mittels e-mail übertragen. Dieser anderer Benutzer kann dann
die übertragene Abfrage nach Bedarf zu gewünschter Zeit
durchführen.
Manchmal sind die Filterkriterien so breit eingestellt, daß
Hunderte von Datenobjekten (oder mehr) in dem Datenanbieter
angezeigt werden müssen. Bei einer Ausführungsform werden
alle Datenobjekte, welche die Filterkriterien erfüllen, für
die Anzeige an das Listendarstellungs-Steuermodul weiterge
geben, unabhängig von ihrer Anzahl. Bei einer anderen Aus
führungsform wird eine begrenzte Anzahl von Objekten (z. B.
zwei mal so viele, wie in dem Fenster angezeigt werden kön
nen) übergeben. Dadurch kann etwas durch das Fenster geblät
tert werden, ohne daß das System durch die übermäßigen Da
tenübertragungen belastet würde. Wenn der Benutzer versucht,
an dem letzten Eintrag im Fenster vorbeizublättern, kann der
Datenanbieter angewiesen werden, zusätzliche Objekte zur
Anzeige durch das Listendarstellungs-Steuermodul vorzusehen.
Bei der gezeigten Ausführungsform wird die Sortierung der in
der SUI dargestellten Objekte von dem Datenanbieter vorge
nommen, der die Objekte sortiert an das Listendarstellungs-Steuer
modul liefert. Bei anderen Ausführungsformen kann die
Sortierung auf der SUI-Seite erfolgen.
Wie erwähnt, kommuniziert das Anfangssteuermodul mit dem
Datenanbieter und der übergeordneten Steuerung (oder dem
Stammprogramm; Parent) über eine Gruppe APIs. Die APIs ar
beiten im allgemeinen durch den Austausch von Nachrichten
und Benachrichtigungen. Das Anfangssteuermodul sendet Be
nachrichtigungen an die übergeordnete Steuerung und den Da
tenanbieter durch die übergeordnete Steuerung. Das Anfangs
steuermodul empfängt Nachrichten von der übergeordneten
Steuerung und von dem Datenanbieter über die übergeordnete
Steuerung.
Fig. 12 ist ein Ablaufdiagramm des Anfangssteuermoduls der
gezeigten Ausführungsform auf einer hohen Ebene. Wie in Fig.
12 gezeigt, wird das Anfangssteuermodul von dem Benutzer
in Gang gesetzt 500. An diesem Punkt werden der Steuerrah
men, Kennungen, Filter und Tasten eines Pull-Down-Menüs an
gezeigt. Gleichzeitig kann der Datensatz angezeigt werde,
oder auch nicht, abhängig davon, ob auch das Listendarstel
lungs-Steuermodul initialisiert wurde. Das Anfangssteuermo
dul kann als ein unabhängiges (stand alone) Steuerfenster
oder als Teil eines größeren Abfragefensters gestartet wer
den. In jedem Fall verfügt das Anfangssteuermodul über eine
übergeordnete Steuerung, über die es Nachrichten sendet und
empfängt. Bei Verwendung in Verbindung mit Microsoft Windows
wird die Anwendungsprogrammierschnittstelle (APT) Win32
Create Window verwendet.
Wenn das Anfangssteuermodul gemäß den Normen von Microsofts
QuickFilter erzeugt wurde, ist das Steuermodul in Nachrich
ten an das Steuermodul und Benachrichtigungen von dem
Steuermodul als eine NM_QUICKFILTER oder QF_FILTER-Struktur
beschrieben.
Diese Struktur wird als ein Teil der Nachrichten von dem
Datenanbieter unter Einsatz einzelner Filter weitergegeben.
Die Nachricht erlaubt es der übergeordneten Steuerung, die
aktuellen Filterwerte für eine bestimmte Spalte einzustellen
oder wiederzugewinnen.
Das Feld dwType gibt gestützt auf die Werte FILTER_TYPE_*
an, welche der Filterwerte gültig sind. Wenn dwType gleich
FILTER_TYPE_INT, dann ist das iFilter-Feld gültig. Wenn
dwType gleich FILTER_TYPE_STRING, dann wird angenommen, daß
pszFilter zu einem geeigneten Puffer zeigt, von dem aus die
Filterdaten eingestellt, oder in den die Filterdaten zurück
gegeben werden sollen. Wenn der Filter eingestellt wird,
definiert cchFilter die maximale Editiergröße des Filters,
und wenn die Filterdaten zurückgegeben werden, definiert es
die Puffergröße, auf den pszFilter zeigt.
Wenn mit einer Benachrichtigung WM_NOTIFY Daten zur überge
ordneten Steuerung des Anfangssteuermoduls zurückübertragen
werden, gibt eine Struktur NM_QUICKFILTER an, welche Spalte
der Gegenstand der Benachrichtigung ist. Alle Benachrichti
gungen von dem Steuermodul QuickFilter haben diese Kopfzei
len.
Das Feld NMHDR ist ein Standardteil einer Benachrichtigungs
nachricht. iColumn gibt an, welche Spalte innerhalb der
Kopfzeile Gegenstand der Nachricht ist.
Nach dem Starten warten das Anfangssteuermodul (520, Fig.
12) auf den Empfang von Nachrichten. Wenn das Steuermodul
eine Nachricht empfängt, übersetzt es (540) die Nachricht,
um zu bestimmen, wie abhängig von der Nachricht vorgegangen
werden soll.
Nach der Übersetzung der Nachricht reagiert das Anfangssteu
ermodul (560) auf die Nachricht, bevor es in den Wartezu
stand (520) zurückgeht und auf die nächste Nachricht wartet.
Eine von dem Steuermodul vorgenommene Aktion kann das
Schließen des Steuerfensters (570), das Verschieben oder
Verändern der Größe des Steuerfenster, das Verändern des Er
scheinungsbildes des Steuerfensters oder das Senden einer
Benachrichtigung an die übergeordnete Steuerung oder den Da
tenanbieter über die übergeordnete Steuerung sein.
Viele Nachrichten sind Standardnachrichten zum Manipulieren
eines Anfangssteuermoduls, und sie betreffen nicht speziell
das Steuermodul der gezeigten Ausführungsform. Bei einer
Ausführungsform in einer Windowsumgebung empfängt z. B. das
Steuermodul der gezeigten Ausführungsform Win32 HDM-Nach
richten von dem übergeordneten Steuerprogramm, die es anwei
sen, die Spalten des Steuerfensters neu anzuordnen. Das
Steuermodul empfängt auch andere übliche Win32-Nachrichten
von der übergeordneten Steuerung, die es Anweisen, das
Steuerfenster zu bewegen oder seine Größe zu verändern.
Das Anfangssteuermodul empfängt HDM-Nachrichten von dem Da
tenanbieter über die übergeordnete Steuerung, welche den an
gezeigten Datensatz als Teil der Standardbenutzerschnitt
stelle vorsieht. Das Anfangssteuermodul empfängt ferner
HMENU-Nachrichten von dem Datenanbieter über die übergeord
nete Steuerung, welche die in den PullDown-Menüs angezeigte
Information vorsehen.
Zusätzlich zu diesen Standardnachrichten empfängt das An
fangssteuermodul weitere Nachrichten, die für die Steuerung
der gezeigten Ausführungsform spezifisch sind. Diese Nach
richten sind im folgenden Abschnitt beschrieben.
Das gezeigte Anfangssteuermodul reagiert auf Nachrichten,
welche es anweisen, einen Filter einzustellen, einen Filter
zu holen, alle Filter zu zeigen/zu verbergen, die übergeord
nete Steuerung, an die Benachrichtigungen gesendet werden,
einzustellen, und die Dauer des Filterzeitgebers einzustel
len.
Wenn das Anfangssteuermodul gemäß der QuickFilter-Norm von
Microsoft konzipiert ist, sind die Nachrichten, welche das
Steuermodul bei der Durchführung der obigen Funktionen
leiten, wie folgt realisiert.
Die übergeordnete Steuerung sendet diese Nachricht zum Ein
stellen des Filterwertes für eine bestimmte Spalte. wParam
enthält die Spalte, auf die der Filter gesetzt werden soll,
wobei angenommen wird, daß der zuvor von HDM-SETITEM zu dem
QuickFilter-Steuermodul hinzugefügt wurde. lParam enthält
einen Zeiger zu einer QF_FILTER-Struktur.
Wenn der Filter ein Integer-Filter (FILTER_TYPE_INT) ist
(ein Filter für ganzzahlige Werte), wird der Wert einfach im
Speicher gespeichert. Wenn das Editiersteuermodul erzeugt
wird, damit der Benutzer den Wert modifizieren kann, werden
die entsprechenden Stylebits gesetzt, so daß der Benutzer
nur Ziffern eingeben kann.
Wenn der Filter ein String-Filter (FILTER_TYPE_STRING) ist
(ein Filter für Zeichenketten), wird eine Kopie des Strings
(der Zeichenkette) hergestellt, der durch pszFilter aus
gewiesen wird. Wenn der Wert des Strings editiert wird, wird
cchFilter verwendet, um die Anzahl der Zeichen zu begrenzen,
die ein Benutzer eingibt.
Nach erfolgreicher Beendigung gibt der Aufruf WAHR (TRUE)
zurück.
Die übergeordnete Steuerung sendet diese Nachricht, um den
Filterwert aus einer bestimmten Spalte zu erhalten. wParam
enthält die Spalte, aus der der Filter geholt werden soll.
lParam enthält einen Zeiger zu einer QF_FILTER-Struktur.
Die Struktur wird gefüllt, so daß sie den aktuellen Filter
inhalt und den Typ enthält. Es wird angenommen, daß der Da
tenanbieter den Typ des Filters für eine bestimmte Spalte
kennt und daß die QF_FILTER-Struktur einen gültigen Puffer
zeiger und eine gültige Puffergröße enthält.
Wenn der Filter FILTER_TYPE_INT ist, wird der ganzzahlige
Wert einfach in der Struktur gespeichert. Wenn der Filter
FILTER_TYPE_STRING ist, wird der String in den von dem Da
tenanbieter vorgesehenen Puffer kopiert, wenn dieser Puffer
groß genug ist. Anderenfalls versagt der Aufruf.
Bei erfolgreicher Beendigung gibt der Aufruf WAHR (TRUE)
zurück.
In der Voreinstellung ist der Filterbalken des Steuerungs
moduls sichtbar. Diese Nachricht ermöglicht es dem aufrufen
den Programm, ihn gestützt auf den Wert in wParam darzu
stellen oder zu verbergen. Wenn wParam nicht Null ist, wird
der Filterbalken gezeigt, anderenfalls bleibt er verborgen.
Der Aufruf gibt des vorhergehenden Sichtbarkeitszustand des
Filterbalkens zurück.
Bei Verwendung des Anfangssteuermoduls QuickFilter zum Er
setzen des Standard-Anfangssteuermoduls in einer Listendar
stellung werden gemäß Voreinstellung Benachrichtigungen an
ListView gesendet, da es das übergeordnete Steuerprogramm
ist. QuickFilter kann spezifizieren, daß statt dessen Benach
richtigungen an das Fenster gesendet werden, das in dem HWND
von lParam beschrieben ist.
Bei erfolgreicher Beendigung gibt dieser Aufruf WAHR (TRUE)
zurück.
Wenn ein Filter editiert wird, verarbeitet das Steuermodul
QuickFilter die Editierung chargenweise und sendet eine ein
zelne Benachrichtigung (QFN_CHANGE) nach einer vorgegebenen
Ablaufzeit (timeout). Diese Nachricht erlaubt es einem
Datenanbieter, die Ablauf zeit gegenüber der Voreinstellung
zu verändern, wobei die Voreinstellung zweimal so lang wie
die Ablaufzeit beim Doppelklick (double click time out) ist.
lParam enthält die Zeit zum Einstellen des Filterzeitgebers
in Millisekunden.
Nach erfolgreicher Beendigung gibt der Aufruf WAHR (TRUE)
zurück.
Das gezeigte Anfangssteuermodul sendet auch Benachrichtigun
gen, die einem Datenanbieter mitteilen, daß ein Filter ver
ändert wurde, anfordern, daß der Datenanbieter ein PullDown-Menü
zurückgibt, dem Datenanbieter mitteilen, daß ein Opera
tor gewählt wurde, und der übergeordneten Steuerungen mit
teilen, daß ein Filter gestartet oder fertig editiert wurde.
Wenn das Anfangssteuermodul gemäß den Normen des QuickFil
ters von Microsoft konzipiert ist, werden diese Benachrich
tigungen wie folgt realisiert.
Die Benachrichtigung QFN_CHANGE benachrichtigt die überge
ordnete Steuerung des Anfangssteuermoduls davon, daß einer
der Filter verändert wurde. Eine Struktur NM_QUICKFILTER
wird als ein Parameter weitergegeben und enthält Informatio
nen über sowohl das Steuermodul als auch die Spalte, die
modifiziert wurde.
Benachrichtigungen QFN_CHANGE werden gesendet, nachdem der
Filterzeitgeber abgelaufen ist, nachdem der Benutzer in dem
Editiersteuerfenster <ENTER< gedrückt hat, oder nachdem der
Benutzer einen Vergleichsmodus aus dem PullDown-Menü ausge
wählt hat.
Der von dieser Nachricht zurückgegebene Wert wird ignoriert.
Die Benachrichtigung QFN_GETOPERATORMENU wird gesendet, wenn
der Filter das Vergleichsoperatormenü eine bestimmte Spalte
anzeigen möchte. Eine Struktur NM_QUICKFILTER wird als ein
Parameter übergeben und enthält Information über sowohl das
Steuermodul als auch die Spalte für die Anzeige. Die überge
ordnete Steuerung sollte bei Empfang dieser Nachricht ein
HMENU zurückgeben, das dann angezeigt wird. Wenn der zurück
gegebene Wert NULL ist, ignoriert der Aufruf das Operatorme
nü für diese Spalte. Der zurückgegebene Wert aufgrund dieser
Benachrichtigung ist entweder HMENU oder NULL.
Nachdem das Vergleichsoperatormenü angezeigt wurde und der
Benutzer eine Auswahl getroffen hat, sendet das Steuermodul
Quickfilter diese Benachrichtigung an die übergeordnete
Steuerung, um diese über die Änderung zu informieren.
Der von dieser Nachricht zurückgegebene Wert wird ignoriert.
Die Benachrichtigung gibt eine Struktur NM_QFOPERATORCHOSEN
als einen Parameter weiter. Nach dem Senden einer Benach
richtigung QFN_GETOPERATORMENU ruft das Filtersteuermodul
das TrackPopUpMenu auf, um das Ergebnis anzuzeigen. Der von
diesem TrackPopUpMenu zurückgegebene Code wird unter Verwen
dung von NM_QFOPERATORCHOSEN an die übergeordnete Steuerung
weitergegeben.
NM_QFOPERATORCHOSEN besteht aus einer Kopfzeile NM_QUICKFIL-
TER und einem Feld wID, das das Ergebnis des TrackPopUpMenu
enthält, soweit angenommen wird, daß es nicht Null ist.
Diese beiden Benachrichtigungen werden dazu verwendet, die
übergeordnete Steuerung zu informieren, wenn ein Filter edi
tiert wird. Eine NM_QUICKFILTER-Struktur wird als einfacher
Parameter weitergegeben und enthält die Identifikation der
editierten Spalte.
Der von dieser Nachricht zurückgegebene Wert wird ignoriert.
Bei Ausführungsformen, die benutzerspezifische Steuermodule
enthalten, wird ein Microsoft COM-Objekt verwendet, um eine
Schnittstelle mit dem Namen IQFCustomFilter zu realisieren.
Diese Schnittstelle interagiert zwischen dem Anfangssteuer
modul QuickFilter und dem benutzerspezifischen Filter wie
folgt:
Wenn der Benutzer innerhalb des Filterbereichs anklickt, wird
das Verfahren ::Edit aufgerufen, das die Relativkoordinaten
X/Y (als einen Punkt) übergibt. Das Verfahren gibt ein HWND
an den vorgesehenen Zeiger zurück. Wenn der Aufruf S_False
zurückgibt oder ein Fehler auftritt, wird angenommen, das
phWnd ungültig ist. Anderenfalls wird das Fenster angezeigt,
so daß der Benutzer die Eigenschaft editieren kann.
Dieses Modul wird zum Anzeigen des Filters in dem Filterbal
ken aufgerufen. Das ICustomFilter-Objekt ist verantwortlich
für die Wiedergabe einer Darstellung der Daten, welche es
enthält, in dem gegebenen HDC/Rechteck.
Diese Module bilden direkt auf die Benachrichtigungen
QFN_GETOPERATORMENU/QFN_SETOPERATOR ab, welche von dem Fil
tersteuermodul an die übergeordnete Steuerung gesendet wer
den. Wenn das ICustomFilter-Objekt aus dem ICustomFil
ter::GetOperatorMenu E_NOTIMPL zurückgibt, wird die Stan
dardbenachrichtigung ausgegeben. Ein QFN_OPERATORCHOSEN wird
immer ausgegeben, damit die übergeordnete Steuerung die
Identität (ID) des Operators speichern kann. Wenn das Opera
tormenü zurückgegeben wird, wird zu dem spezifizierten Zei
ger HMENU zurückgegeben. Wenn dies NULL ist, oder der Aufruf
S_FALSE zurückgibt, wird er ignoriert.
Wenn der benutzerspezifische Filtereditor den Zustand des
Filters modifiziert hat, wird QFM_DISMISSEDIT gesendet, um
die Beendigung anzuzeigen. fRefreh gibt an, ob das benut
zerspezifische Filterobjekt im Filterbalken neu dargestellt
werden sollte.
Wie der Fachmann verstehen wird, hängt die Funktionsweise
der gezeigten Ausführungsform nicht von der Verwendung von
Nachrichten und Benachrichtigungen ab, die exakt identisch
mit den oben beschriebenen sind. Sie sind lediglich als Bei
spiele ausgeführt.
Das Ablaufdiagramm der Fig. 13 zeigt die Funktionsweise des
Editiersteuermoduls und des Filterzeitgeber, die bei der ge
zeigten Ausführungsform eingesetzt werden.
Ein Editiersteuermodul wird in Gang gesetzt (600), wie oben
beschrieben, wenn der Benutzer einen Filter anklickt und das
Steuermodul sendet eine Benachrichtigung (QFN_BEGINFILTER-EDIT),
um das Editieren des Filters zu beginnen. Die Ein
gangscharge des Filters wird gelöscht (602). Anschließend
wird der Filterzeitgeber auf den Wert, der von dem Datenan
bieter angegeben wurde, zurückgesetzt (604). Das Editier
steuermodul wird über den vom Benutzer angeklickten Filter
gelegt. Nach dem Starten wartet das Editiersteuermodul auf
Nachrichten, welche die Dauer des Filterzeitgebers verändern
(620) oder das Editieren beenden (630), es wartet auf Tasta
tureingaben (640), und es überwacht und aktualisiert den
Filterzeitgeber (650).
Wenn das Editiersteuermodul eine Nachricht empfängt, welche
den Filterzeitgeber verändert (QFN_SETTIMEOUT) (620), wird
die Dauer des Filterzeitgebers abhängig von der Nachricht
verändert, und der Zeitgeber wird zurückgesetzt (622).
Wenn das Editiersteuermodul eine Nachricht empfängt, die es
anweist, das Editieren zu beenden (QFN_ENDFILTEREDIT) (630),
schließt das Editiersteuermodul (632), und der Filter zeigt
die Textkette an, die zuletzt in dem Editiersteuermodul mo
difiziert wurde.
Wenn das Editiersteuermodul einen Tastenanschlag empfängt
(640), wird der Filterzeitgeber auf den Wert zurückgesetzt
(642), der von dem Datenanbieter spezifiziert wurde
(QFM_SETTIMEOUT). Wenn ein Tastenanschlag <Enter< ist (670),
hat der Benutzer explizit gefordert, daß der Datenanbieter
eine Filteroperation beginnt. Wenn eine Charge/ein Stapel
von Filterveränderungen vorliegen, werden diese Veränderun
gen zu dem Datenanbieter gesendet (680) (QFN_CHANGE), bevor
das Editiersteuermodul geschlossen wird. Wenn irgendeine
andere Taste außer <Enter< gedrückt wird, wird der Tasten
anschlag zu der Stapeldatei hinzugefügt (674), welche all
die Filteränderungen enthält, die gemacht wurden, seitdem
die letzte Charge Filteränderungen zu dem Datenanbieter ge
sendet wurde (QFN_CHANGE). Der Zeitgeber wird neu initiali
siert (676) und zeichnet die Zeit auf, die seit dem letzten
Tastenanschlag verstrichen ist. Das Steuermodul wartet dann
auf die nächste Eingabe.
Wenn das Eiditiersteuermodul wieder einen Tastenanschlag
(640), noch eine Zeitablaufnachricht (620) oder ein Editier
endesignal (630) empfängt, wird der Filterzeitgeber über
prüft (650). Wenn der Filterzeitgeber abgelaufen ist (d. h.,
wenn die Zeit seit der letzten Eingabe eines Tastenanschlags
durch den Benutzer größer oder gleich der Zeit ist, die von
dem Datenanbieter eingestellt wurde) und der Filterstapel
nicht leer ist, sendet die Steuerung eine Benachrichtigung
über eine Filteränderung (QFN_CHANGE) (660) an den Datenanb
ieter, wobei die Charge der Filteränderungen einen Parameter
bildet (680). Das Steuermodul wartet dann auf die nächste
Eingabe.
Wenn der Benutzer überhaupt keine Tastenanschläge gemacht
hat oder keine Tastenanschläge eingegeben hat, seitdem die
letzte Charge der Filteränderungen gesendet wurde, ist die
Charge/der Stapel leer, die verstrichene Zeit ist Null, und
das Steuermodul wartet auf die nächste Eingabe.
Wie der Fachmann erkennen wird, kann die genaue Reihenfolge
der Schritte in dem Flußdiagramm der Fig. 13 auf viele Ar
ten verändert werden, ohne die Funktionsweise der gezeigten
Ausführungsform zu verändern.
Ausführungsformen der vorliegenden Erfindung sind besonders
nützlich beim Sichten von Ergebnissen aus Suchvorgängen im
Internet. Bei solchen Ausführungsformen ist der Datenanbie
ter üblicherweise ein entfernter Computer, der über eine
Übertragungsverbindung mit dem Computer des Benutzers ver
bunden ist. Beliebte Suchmaschinen, die als solche entfernte
Computer dienen können, umfassen Excite, Lycos, HotBot und
AltaVista.
Bei diesen Ausführungsformen wird die Datenübertragung zwi
schen der graphischen Abfrage-Bildschirmoberfläche auf dem
Computer des Benutzers und dem entfernten Datenanbieter üb
licherweise nicht mit: den oben erläuterten APIs von Micro
soft Windows durchgeführt werden. Statt dessen findet die
Datenübertragung mit anderen Mitteln statt. Wenn das System
in Java oder dergleichen realisiert ist, können Java-Benach
richtigungen dazu verwendet werden, die Datenübertragung
auszuführen. Bei anderen Ausführungsformen können HTTP-Ver
bindungen verwendet werden.
Die Datenattribute mit denen die Internetobjekte gefiltert
werden können, umfassen Datum, Größe, Bereich (Domain),
Textauszug, etc.
Wie bei anderen netzgestützten Anwendungen sollte man sich
mit den Problemen der Übertragungsverzögerung befassen. Bei
einer bevorzugten Ausführungsform wird die Zeitkonstante für
den Zeitgeber (der oben erläutert wurde) abhängig von der
tatsächlichen Latenz zeit des Netzes (die mit bekannten Ver
fahren gemessen werden kann) sowie von der momentanen Verar
beitungsbelastung, unter der der Datenanbieter steht, adap
tiv eingestellt werden.
Bei Verwendung von Java-Anwendungsprogrammen oder derglei
chen kann ein Steuermodul wie das oben beschriebene verfaßt
und in Web-Seiten eingebaut werden, wodurch die Standardi
sierung dieser Schnittstelle vom Schreibtisch des Benutzers
aus bis zu dem und durch das World Wide Web hindurch erwei
tert wird.
Nach der Beschreibung der Grundsätze des Erfindungsgegen
standes mit Bezug auf verschiedene Ausführungsbeispiele
sollte deutlich geworden sein, daß die Technologie hinsicht
lich der Anordnung und den Einzelheiten modifiziert werden
kann, ohne diese Grundsätze zu verlassen.
Während bei dem Ausführungsbeispiel zwei getrennte Steuer
strukturen verwendet wurden, um die Standardbenutzerschnit
tstelle zu bilden (d. h. das QuickFilter-Anfangssteuermodul,
das nichts über den Datensatz weiß, sondern nur Filter, Ken
nungen, PullDown-Menüs, etc. kennt, und das Listendarstel
lungs-Anzeigesteuermodul, das einfach den Datensatz dar
stellt), kann bei anderen Ausführungsformen eine vereinheit
lichte Struktur verwendet werden.
Während die Erfindung in Verbindung mit einer graphischen
Benutzerschnittstelle erläutert wurde, ist das erfindungs
gemäße Konzept nicht hierauf begrenzt. Die obigen Grundsätze
können z. B. auch in textgestützten Schnittstellen vorteil
haft eingesetzt werden (die z. B. in vielen Mainframe-Syste
men üblich sind).
Während die Erfindung weiterhin in Verbindung mit einer ta
bellenförmigen detaillierten Beschreibung jedes Datenobjekts
in dem Listendarstellungs-Steuermodul dargestellt wurde,
kann bei anderen Ausführungsformen eine einfachere pikto
grammartige Darstellung eines Datenobjekts, das die spezifi
zierten Filterkriterien erfüllt, gewählt werden.
Während ferner bei den erläuterten Ausführungsformen für
jedes von mehreren Attributen Filterfelder verwendet wurden,
kann bei anderen Ausführungsformen ein einziges Filterfeld
verwendet werden, um mehrere Attribute abzusuchen. Bei einer
solchen Ausführungsform umfaßt das Anfangssteuermodul ein
allgemeines "Suchen nach"-Feld. In dieses Feld eingegebene
Daten werden mit allen Attributen der Datenobjekte vergli
chen. Ein Objekt mit einem Treffer (unabhängig davon, auf
welches Attribut sich der Treffer bezieht) wird an die An
zeige übergeben. Ein solches allgemeines "Suchen nach"-Feld
kann zusätzlich zu den gezeigten spezifizierten Attributfel
dern oder alternativ zu diesen verwendet werden. Ähnlich
können einzelne Felder dazu verwendet werden, Untergruppen
aller Attributfelder abzusuchen (z. B. Titel/Zusammenfassun
gen/Author).
Im Hinblick auf die große Vielzahl möglicher Ausführungsfor
men, bei denen die Grundsätze der Erfindung angewendet wer
den können, sollte man erkennen, daß die detaillierten Aus
führungsformen lediglich Beispiele sind und den Bereich der
Erfindung nicht beschränken. Die Erfindung soll vielmehr all
diese Variationen innerhalb des Bereichs der folgenden An
sprüche sowie deren Äquivalente umfassen. Die in der vorste
henden Beschreibung, den Ansprüchen und der Zeichnung offen
barten Merkmale können sowohl einzeln als auch in beliebiger
Kombination für die Verwirklichung der Erfindung in ihren
verschiedenen Ausgestaltungen von Bedeutung sein.
Claims (34)
1. Verfahren zum standardisierten Filtern von Daten, die von
einem beliebigen Datenanbieter stammen, in einem Rechnersy
stem, mit folgenden Verfahrensschritten:
- - Empfangen eines ersten Datensatzes von dem beliebigen Datenanbieter, wobei der erste Datensatz mehrere Datenobjekte und Attribute, die zu den Datenobjekten gehören, umfaßt;
- - Anzeigen des ersten Datensatzes zusammen mit mehreren
Kennungen und mehreren Filtern, wobei
- - jede Kennung ein Attribut des ersten Datensatzes beschreibt; und
- - jeder Filter einem Attribut des ersten Datensat zes zugeordnet ist;
- - Empfangen von Filtereingaben für einen oder mehrere der Filter von einem Benutzer des Rechnersystems;
- - Senden der Filtereingaben an den beliebigen Datenan bieter;
- - Empfangen eines zweiten Datensatzes von dem beliebigen Datenanbieter, wobei der zweite Datensatz durch Fil terung des ersten Datensatzes abhängig von den Fil tereingaben abgeleitet wird; und
- - Anzeigen des zweiten Datensatzes mit den mehreren Ken nungen und Filtern.
2. Verfahren nach Anspruch 1, bei dem die Datensätze, Kennungen
und Filter in einem Steuerfenster angezeigt werden.
3. Verfahren nach Anspruch 2, bei dem
eine Abfrage-Benutzeroberfläche angezeigt wird, wobei das Steuerfenster innerhalb der Abfrage-Benutzeroberfläche ange zeigt wird; und
eine Abfrageeingabe von einem Benutzer des Rechnersystems empfangen wird, wobei die Abfrageeingabe dazu verwendet wird, den ersten Datensatz zu sortieren, bevor er angezeigt wird.
eine Abfrage-Benutzeroberfläche angezeigt wird, wobei das Steuerfenster innerhalb der Abfrage-Benutzeroberfläche ange zeigt wird; und
eine Abfrageeingabe von einem Benutzer des Rechnersystems empfangen wird, wobei die Abfrageeingabe dazu verwendet wird, den ersten Datensatz zu sortieren, bevor er angezeigt wird.
4. Verfahren nach einem der vorangehenden Ansprüche, bei dem
der erste und der zweite Datensatz Zeilen/Spalten-Tabellen
mit Datenobjekten sind, wobei jede Spalte eines der Attribu
te darstellt und jede Zeile ein einzelnes Datenobjekt dar
stellt.
5. Verfahren nach einem der vorangehenden Ansprüche, bei dem
die Zeit kontrolliert wird, die verstrichen ist, seitdem zuletzt eine Filtereingabe an den Datenanbieter übergeben wurde; und
eine neue Filtereingabe an den Datenanbieter gesendet wird, wenn die verstrichene Zeit ein vorgegebenes Schwellwertin tervall überschreitet oder wenn ein Benutzer die Übergabe explizit auslöst, je nachdem, was zuerst kommt.
die Zeit kontrolliert wird, die verstrichen ist, seitdem zuletzt eine Filtereingabe an den Datenanbieter übergeben wurde; und
eine neue Filtereingabe an den Datenanbieter gesendet wird, wenn die verstrichene Zeit ein vorgegebenes Schwellwertin tervall überschreitet oder wenn ein Benutzer die Übergabe explizit auslöst, je nachdem, was zuerst kommt.
6. Verfahren nach Anspruch 5, bei dem von dem beliebigen Daten
anbieter das vorgegebene Schwellwertintervall empfangen
wird, wobei die vorgegebene Schwellwertdauer so eingestellt
wird, daß ein Kompromiß zwischen der Benutzer-Ansprech
empfindlichkeit und der Zeit getroffen wird, die der
beliebige Datenanbieter zum Filtern der Daten benötigt.
7. Verfahren nach einem der vorangehenden Ansprüche, bei dem
wenigstens ein Filter eine Textkette umfaßt, wobei die Text
kette innerhalb des Filters angezeigt wird, und bei dem Fil
tereingabe ein Veränderung der Textkette in einem Filter
oder mehreren Filtern ist.
8. Verfahren nach einem der vorangehenden Ansprüche, bei dem
abhängig von einer vorgegebenen Anwendungsprogrammier
schnittstelle Filterbefehle übertragen und Datensätze vor
gesehen werden.
9. Verfahren nach Anspruch 8, bei dem die Anwendungsprogram
mierschnittstelle Funktionen zum (a) Einstellen eines Fil
ters, (b) Holen eines Filters, (c) Zeigen/Verbergen aller
Filter, (d) Einstellen des Stammprogramms, an das Benach
richtigungen gesendet werden, und (e) Einstellen der Dauer
des Filterzeitgebers umfaßt; und bei dem die Anwendungspro
grammierschnittstelle Funktionsaufrufe umfaßt, um (a) dem
beliebigen Datenanbieter mitzuteilen, daß ein Filter verän
dert wurde, (b) anzufordern, daß der beliebige Datenanbieter
ein PullDown-Menü zurückgibt, (c) dem beliebigen Datenanbie
ter mitzuteilen, daß ein Operator gewählt wurde, und (d)
einem Stammprogramm mitzuteilen, daß ein Filter gestartet
wurde oder fertig editiert ist.
10. Verfahren nach einem der vorangehenden Ansprüche, bei dem
der beliebige Datenanbieter in dem Speicher des Rechnersys
tems liegt.
11. Verfahren nach einem der Ansprüche 1 bis 9, bei dem der be
liebige Datenanbieter in dem Speicher eines zweiten Rechner
systems liegt, wobei das zweite Rechensystem in Verbindung
mit dem zuerst genannten Rechnersystem ist.
12. Verfahren zum Anzeigen eines Steuermoduls, das zum Filtern
von Daten in einem ersten Datensatz verwendet wird, auf ei
ner Anzeigeeinrichtung in einem Rechnersystem, mit folgenden
Verfahrensschritten:
- - Empfangen eines ersten Datensatzes von einem beliebigen Datenanbieter, wobei der erste Datensatz mehrere Datenobjekte und mehrere Attribute, die zu den Datenob jekten gehören, umfaßt;
- - Anzeigen des ersten Datensatzes in dem Steuermodul zusammen mit mehreren Kennungen, mehreren PullDown-Menü-Tasten und mehreren Filtern, wobei jede Kennung ein Attribut des ersten Datensatzes beschreibt, jede Kennung einem Satz Vergleichsmodi zugeordnet ist, jeder Filter einem Attribut des ersten Datensatzes zugeordnet ist, und wenigstens ein Filter eine Eingabe empfängt, die zum Modifizieren des ersten Datensatzes abhängig von dem Attribut, zu dem dieser Filter gehört, verwen det wird;
- - abhängig von der Betätigung der PullDown-Menü-Taste, die einer Kennung am nächsten ist, Anzeigen eines PullDown-Menüs, dessen Inhalt von dem beliebigen Datenprovider vorgesehen wird;
- - Empfangen einer Eingabe von dem Benutzer des Rechner systems abhängig von dem PullDown-Menü;
- - Senden der Eingabe zu dem beliebigen Datenanbieter;
- - Empfangen eines zweiten Datensatzes von dem beliebigen Datenanbieter, wobei der zweite Datensatz durch Sor tieren des ersten Datensatzes abhängig von der Eingabe abgeleitet wird; und
- - Anzeigen des zweiten Datensatzes.
13. Verfahren nach Anspruch 12, bei dem wenigstens ein PullDown-Menü
eine Auswahl für Vergleichsmodi für die Attribute um
faßt, zu denen das PullDown-Menü gehört.
14. Verfahren nach Anspruch 12 oder 13, bei dem der Inhalt des
PullDown-Menüs ein kundenspezifisches Steuermenü für die
Attribute umfaßt, zu denen das PullDown-Menü gehört.
15. Verfahren nach einem der Ansprüche 12 bis 14, bei dem das
PullDown-Menü ein eigenes Fenster startet.
16. Verfahren nach einem der Ansprüche 12 bis 15, bei dem der
Inhalt des PullDown-Menüs eine Liste eindeutiger Werte für
die Attribute umfaßt, zu denen das PullDown-Menü gehört.
17. Speichermedium für einen Rechner, auf dem Befehle gespei
chert sind, die einen entsprechend der Befehle programmier
ten Rechner veranlassen,
- - abhängig von einer Benutzereingabe einen Filterbefehl an einen Datenanbieter aus zugeben;
- - entsprechende Ergebnisse von dem Datenanbieter zu empfangen und diese anzuzeigen;
- - Benutzereingaben anzunehmen und in einem Stapel zu speichern;
- - den Benutzereingabestapel an den Datenanbieter weiter zugeben, wenn ein Zeitgeber abläuft, oder wenn der Benutzer ausdrücklich angibt, daß der Eingangsstapel weitergegeben werden soll; und
- - modifizierte Ergebnisse von dem Datenanbieter zu empfangen und anzuzeigen.
18. Speichermedium nach Anspruch 17, bei dem die Befehle die
entsprechend der Befehle programmierten Rechner veranlassen,
den Zeitgeber zurückzusetzen, wenn der Benutzereingabestapel
an den Datenanbieter weitergegeben wurde.
19. Speichermedium nach Anspruch 17 oder 18, bei dem die Befehle
den entsprechend der Befehle programmierten Rechner veran
lassen, den Zeitgeber zurückzusetzen, wenn eine Benutzerein
gabe von dem Benutzer akzeptiert wurde.
20. Speichermedium nach einem der Ansprüche 17 bis 19, bei dem
die Befehle den entsprechend der Befehle programmierten
Rechner veranlassen, einen Zeitsteuerparameter von dem Da
tenanbieter zu empfangen und den Zeitgeber abhängig von die
sem Parameter einzustellen.
21. Speichermedium nach einem der Ansprüche 17 bis 20, bei dem
der Filterbefehl einen ausführbaren Code umfaßt, der über
eine Datenübertragungsverbindung zu einem entfernten Rechner
gesandt wird, in dem der Datenanbieter realisiert ist.
22. Speichermedium nach einem der Ansprüche 17 bis 21, bei dem
der Filterbefehl einen API-Aufruf umfaßt.
23. Speichermedium nach einem der Ansprüche 17 bis 22, bei dem
die Befehle Teil eines Web-Browsers bilden.
24. Rechnerbetriebssystem, das von einem Computer ausführbare
Befehle umfaßt, die auf einem Speichermedium gespeichert
sind, wobei die Befehle
Mittel zum Aufrufen eines generischen Filtersteuermoduls und
Mittel für die Datenübertragung zwischen dem generischen
Filtersteuermodul und einem beliebigen Datenanbieter
vorsehen.
25. Betriebssystem nach Anspruch 24, bei dem die Mittel Nach
richten und Aufrufe umfassen, deren Syntax mit QFN und QFM
beginnt.
26. Verfahren zum Abfragen eines Datenanbieter mit folgenden
Verfahrensschritten:
- - Vorsehen einer standardisierten Benutzerschnittstelle, die in Verbindung mit mehreren verschiedenen Datenan bietern arbeiten kann;
- - Formulieren erster Suchkriterien unter Verwendung der Benutzerschnittstelle;
- - Übertragen von Daten in bezug auf die ersten Suchkri terien an einen Datenanbieter;
- - Durchführen einer ersten Suche nach den Daten durch den Datenanbieter abhängig von den ersten Suchkriterien, um erste Ergebnisse zu erzeugen, und Liefern der Ergebnis se an die standardisierte Benutzerschnittstelle für deren Anzeige;
- - Formulieren zweiter Suchkriterien unter Verwendung der Benutzerschnittstelle, wobei die zweiten Suchkriterien eine logische UND-Verknüpfung der ersten Suchkriterien mit zusätzlichen Suchkriterien umfassen;
- - Übertragen von Daten in bezug auf die zweiten Suchkri terien zu dem Datenanbieter;
- - Durchführen einer zweiten Suche nach den Daten durch den Datenanbieter abhängig von den Suchkriterien, um zweite Suchergebnisse zu erzeugen, und Liefern der Er gebnisse an die standardisierte Schnittstelle für deren Anzeige;
- - wobei der Datenanbieter die zweite Suche durch Fil terung der ersten Suchergebnisse abhängig von den zusätzlichen Suchkriterien (iterrativ) oder durch Aus führen einer neuen Suche, welche die ersten und die zusätzlichen Suchkriterien umfaßt, durchführt, wobei dieselbe Benutzerschnittstelle abhängig von dem abge fragten Datenanbieter, zum Durchführen von sowohl iter rativen als auch neuen Suchen verwendet wird, wenn eine vorhergehende Suche verfeinert wird.
27. Verfahren zum Abfragen eines Datenanbieter mit folgenden
Verfahrensschritten:
- - Darstellen einer Abfragefilterschnittstelle;
- - Darstellen von nicht textorientierten Textauswahlmit teln, mit denen ein nicht textorientiertes Textattribut ausgewählt werden kann; und
- - Ausgeben von Suchkriterien an den Datenanbieter abhän gig von einem nicht textorientierten Attribut, das von einem Benutzer über die Auswahlmittel ausgewählt wurde;
- - wobei die Auswahlmittel von dem Datenanbieter an die Abfragefilterschnittstelle geliefert und nicht aus einer Codierung innerhalb der Abfragefilterschnitt stelle erhalten werden.
28. Verfahren nach Anspruch 27, bei dem das Darstellen eine An
zeige umfaßt, und die nicht textgebundenen Auswahlmittel die
Darstellung einer graphischen Farbanzeige umfassen.
29. Verfahren zum Formulieren einer Anfrage an einen Datenanbie
ter und zum Darstellen der Ergebnisse der Anfrage in einem
Rechnersystem, das eine Benutzerschnittstelle mit einer An
zeige und einer Benutzerschnittstellen-Auswahlvorrichtung
umfaßt, mit folgenden Verfahrensschritten:
- (a) Identifizieren einer Gruppe von Datenattributen, wel che dem Datenanbieter entsprechen;
- (b) Darstellen der Attribute in ersten Feldern einer gra phischen Benutzerschnittstelle;
- (c) Empfangen von Dateneingaben, welche einem oder mehre ren Attributen entsprechen, in zweiten Feldern, die neben den ersten Feldern liegen;
- (d) Abfragen des Datenanbieters, um Datenobjekte zu iden tifizieren, welche Attribute haben, die zu den empfan genen Daten passen; und
- (e) Darstellen der Ergebnisse der Anfrage in der Benutzer schnittstelle derart, daß die Attribute der identifi zierten Datenobjekte in Verbindung mit den zu diesen gehörenden ersten Feldern dargestellt werden.
30. Verfahren nach Anspruch 29, bei dem die Schritte (a) bis (d)
in einem Anfangssteuerfenster durchgeführt werden, und der
Schritt (e) in einem getrennten Anzeigesteuerfenster durch
geführt wird.
31. Verfahren nach Anspruch 29 oder 30, bei dem
die ersten Felder in einer ersten Zeile angeordnet werden;
die zweiten Felder in einer zweiten Zeile unter der ersten Zeile angeordnet werden; und
die von der Abfrage identifizierten Objekte in aufeinander folgenden Zeilen unter der zweiten Zeile dargestellt werden.
die ersten Felder in einer ersten Zeile angeordnet werden;
die zweiten Felder in einer zweiten Zeile unter der ersten Zeile angeordnet werden; und
die von der Abfrage identifizierten Objekte in aufeinander folgenden Zeilen unter der zweiten Zeile dargestellt werden.
32. Verfahren nach einem der Ansprüche 29 bis 31, bei dem in dem
Identifikationsschritt die Gruppe aus Datenattributen von
dem Datenanbieter geliefert und nicht aus einer Codierung
innerhalb der graphischen Benutzerschnittstelle erhalten
wird.
33. Verfahren nach einem der Ansprüche 29 bis 32, bei dem zwei
oder mehr Abfrageanforderungen an den Datenanbieter ausgege
ben werden, wenn in nur einem der zweiten Felder eine Daten
eingabe empfangen wird, wobei die zweite Anforderung detail
lierter ist als die erste Anforderung.
34. Verfahren zum Formulieren einer Anfrage an einen Datenanbie
ter in einem computergestützten System, mit folgenden Ver
fahrensschritten:
- - Empfangen erster Filterkriterien von einer interak tiven Schnittstelle;
- - Empfangen zweiter Filterkriterien von der interaktiven Schnittstelle;
- - Abfragen des Datenanbieter, um Datenobjekte zu iden tifizieren, deren Attribute zu den ersten und den zweiten Filterkriterien passen, wobei eine logische UND-Verknüpfung der ersten und zweiten Filterkriterien ausgeführt wird;
- - wobei wenigstens das erste der Filterkriterien mehrere Kriterien umfaßt, die aus einer Liste mit eindeutigen Werten ausgewählt werden, wobei die mehreren aus gewählten Kriterien logisch ODER-verknüpft werden, um die ersten Filterkriterien zu bilden.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US938032 | 1997-09-21 | ||
US08/938,032 US6279016B1 (en) | 1997-09-21 | 1997-09-21 | Standardized filtering control techniques |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19842688A1 true DE19842688A1 (de) | 1999-03-25 |
DE19842688B4 DE19842688B4 (de) | 2006-05-11 |
Family
ID=25470762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19842688A Expired - Lifetime DE19842688B4 (de) | 1997-09-21 | 1998-09-17 | Verfahren zum Filtern von Daten, die von einem Datenanbieter stammen |
Country Status (5)
Country | Link |
---|---|
US (1) | US6279016B1 (de) |
JP (1) | JP4326045B2 (de) |
DE (1) | DE19842688B4 (de) |
FR (1) | FR2768826B1 (de) |
GB (1) | GB2329492B (de) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19922793A1 (de) * | 1999-05-18 | 2000-12-07 | Siemens Health Services Gmbh & | Medizinische Systemarchitektur |
DE19933986A1 (de) * | 1999-07-20 | 2001-01-25 | Sonja Anderle | Kommunikationssystem sowie ein hierzu geeignetes Verfahren zur Durchführung des Kommunikationssystems |
DE19964077A1 (de) * | 1999-10-07 | 2001-04-12 | Dietz Gislinde | Nicht löschbare Betriebssystemerweiterung für Computer und Internet-Zugangseinrichtungen |
Families Citing this family (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5684985A (en) | 1994-12-15 | 1997-11-04 | Ufil Unified Data Technologies Ltd. | Method and apparatus utilizing bond identifiers executed upon accessing of an endo-dynamic information node (EDIN) |
US6745203B1 (en) * | 1998-05-15 | 2004-06-01 | E.Piphany, Inc. | User interface for a distributed messaging framework |
US6665687B1 (en) | 1998-06-26 | 2003-12-16 | Alexander James Burke | Composite user interface and search system for internet and multimedia applications |
US7269585B1 (en) * | 1998-06-26 | 2007-09-11 | Alexander James Burke | User interface and search system for local and remote internet and other applications |
US6539421B1 (en) | 1999-09-24 | 2003-03-25 | America Online, Inc. | Messaging application user interface |
GB2354851B (en) * | 1999-10-01 | 2004-07-21 | Ibm | Web browser extension and method for processing data content of web pages |
WO2001046887A1 (en) * | 1999-12-23 | 2001-06-28 | My-E-Surveys.Com, Llc | System and methods for internet commerce and communication based on customer interaction and preferences |
US6865302B2 (en) * | 2000-03-16 | 2005-03-08 | The Regents Of The University Of California | Perception-based image retrieval |
GB2363044A (en) * | 2000-05-16 | 2001-12-05 | Ibm | Method and computer system for selecting and displaying graphic objects |
US6782350B1 (en) | 2001-04-27 | 2004-08-24 | Blazent, Inc. | Method and apparatus for managing resources |
US20030065724A1 (en) * | 2001-09-28 | 2003-04-03 | Openwave Systems Inc. | Managing messages in unified messaging systems |
US20030229848A1 (en) * | 2002-06-05 | 2003-12-11 | Udo Arend | Table filtering in a computer user interface |
CA2398103A1 (en) * | 2002-08-14 | 2004-02-14 | March Networks Corporation | Multi-dimensional table filtering system |
GB2394154A (en) * | 2002-09-07 | 2004-04-14 | Anthony Robert Wicks | Presenting information by displaying a list of items and attributes |
US7493310B2 (en) * | 2002-12-30 | 2009-02-17 | Fisher-Rosemount Systems, Inc. | Data visualization within an integrated asset data system for a process plant |
US7941762B1 (en) * | 2003-02-14 | 2011-05-10 | Shoretel, Inc. | Display of real time information for selected possibilities |
US7240292B2 (en) | 2003-04-17 | 2007-07-03 | Microsoft Corporation | Virtual address bar user interface control |
US7823077B2 (en) | 2003-03-24 | 2010-10-26 | Microsoft Corporation | System and method for user modification of metadata in a shell browser |
US7421438B2 (en) | 2004-04-29 | 2008-09-02 | Microsoft Corporation | Metadata editing control |
US7712034B2 (en) | 2003-03-24 | 2010-05-04 | Microsoft Corporation | System and method for shell browser |
US7627552B2 (en) * | 2003-03-27 | 2009-12-01 | Microsoft Corporation | System and method for filtering and organizing items based on common elements |
US7769794B2 (en) * | 2003-03-24 | 2010-08-03 | Microsoft Corporation | User interface for a file system shell |
US7827561B2 (en) | 2003-03-26 | 2010-11-02 | Microsoft Corporation | System and method for public consumption of communication events between arbitrary processes |
US7890960B2 (en) | 2003-03-26 | 2011-02-15 | Microsoft Corporation | Extensible user context system for delivery of notifications |
US7650575B2 (en) | 2003-03-27 | 2010-01-19 | Microsoft Corporation | Rich drag drop user interface |
US7925682B2 (en) | 2003-03-27 | 2011-04-12 | Microsoft Corporation | System and method utilizing virtual folders |
US9081863B2 (en) | 2005-06-03 | 2015-07-14 | Adobe Systems Incorporated | One-click segmentation definition |
US7991732B2 (en) | 2005-06-03 | 2011-08-02 | Adobe Systems Incorporated | Incrementally adding segmentation criteria to a data set |
US8600963B2 (en) | 2003-08-14 | 2013-12-03 | Google Inc. | System and method for presenting multiple sets of search results for a single query |
US8024335B2 (en) | 2004-05-03 | 2011-09-20 | Microsoft Corporation | System and method for dynamically generating a selectable search extension |
US7181463B2 (en) | 2003-10-24 | 2007-02-20 | Microsoft Corporation | System and method for managing data using static lists |
US20050108654A1 (en) * | 2003-11-13 | 2005-05-19 | International Business Machines Corporation | Method, system and program product for processing requests in a web application |
US8091044B2 (en) * | 2003-11-20 | 2012-01-03 | International Business Machines Corporation | Filtering the display of files in graphical interfaces |
WO2005098667A1 (en) * | 2004-04-08 | 2005-10-20 | Nanak Pty Ltd | Interactive data tunnel |
US7694236B2 (en) | 2004-04-23 | 2010-04-06 | Microsoft Corporation | Stack icons representing multiple objects |
US7657846B2 (en) | 2004-04-23 | 2010-02-02 | Microsoft Corporation | System and method for displaying stack icons |
US7992103B2 (en) | 2004-04-26 | 2011-08-02 | Microsoft Corporation | Scaling icons for representing files |
US8707209B2 (en) | 2004-04-29 | 2014-04-22 | Microsoft Corporation | Save preview representation of files being created |
US20050246327A1 (en) * | 2004-04-30 | 2005-11-03 | Yeung Simon D | User interfaces and methods of using the same |
US8108430B2 (en) | 2004-04-30 | 2012-01-31 | Microsoft Corporation | Carousel control for metadata navigation and assignment |
US20050246650A1 (en) * | 2004-04-30 | 2005-11-03 | Yeung Simon D | User interfaces for displaying content and methods of using the same |
GB2417797B (en) * | 2004-09-02 | 2009-05-13 | Hewlett Packard Development Co | A method and apparatus for managing storage used by a processor when processing instructions |
US20060074879A1 (en) * | 2004-09-30 | 2006-04-06 | Microsoft Corporation | Easy-to-use data context filtering |
US7505965B2 (en) * | 2005-01-27 | 2009-03-17 | Microsoft Corporation | Systems and methods for providing a user interface with an automatic search menu |
US7882447B2 (en) * | 2005-03-30 | 2011-02-01 | Ebay Inc. | Method and system to determine area on a user interface |
US8490015B2 (en) | 2005-04-15 | 2013-07-16 | Microsoft Corporation | Task dialog and programming interface for same |
US7614016B2 (en) | 2005-04-21 | 2009-11-03 | Microsoft Corporation | Multiple roots in navigation pane |
US8195646B2 (en) | 2005-04-22 | 2012-06-05 | Microsoft Corporation | Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information |
US8522154B2 (en) | 2005-04-22 | 2013-08-27 | Microsoft Corporation | Scenario specialization of file browser |
US20060248109A1 (en) * | 2005-04-29 | 2006-11-02 | Microsoft Corporation | Filtering a view of information presented by an application based on attributes previously used by a user |
US20060294116A1 (en) * | 2005-06-23 | 2006-12-28 | Hay Michael C | Search system that returns query results as files in a file system |
US7665028B2 (en) | 2005-07-13 | 2010-02-16 | Microsoft Corporation | Rich drag drop user interface |
US8683334B2 (en) * | 2005-08-19 | 2014-03-25 | Intervoice Limited Partnership | System and method for sharing access to service provider controls and subscriber profile data across multiple applications in a user interactive system |
US20070043569A1 (en) * | 2005-08-19 | 2007-02-22 | Intervoice Limited Partnership | System and method for inheritance of advertised functionality in a user interactive system |
US7797636B2 (en) * | 2005-08-19 | 2010-09-14 | Joseph Carter | System and method for administering pluggable user interactive system applications |
US8095866B2 (en) | 2005-09-09 | 2012-01-10 | Microsoft Corporation | Filtering user interface for a data summary table |
US8601383B2 (en) | 2005-09-09 | 2013-12-03 | Microsoft Corporation | User interface for creating a spreadsheet data summary table |
US7627812B2 (en) | 2005-10-27 | 2009-12-01 | Microsoft Corporation | Variable formatting of cells |
US8099683B2 (en) * | 2005-12-08 | 2012-01-17 | International Business Machines Corporation | Movement-based dynamic filtering of search results in a graphical user interface |
US20070136683A1 (en) * | 2005-12-14 | 2007-06-14 | Alcatel | Graphical user interface for generic listing of managed objects |
US20070174228A1 (en) * | 2006-01-17 | 2007-07-26 | Microsoft Corporation | Graphical representation of key performance indicators |
US20090319957A1 (en) * | 2006-01-30 | 2009-12-24 | Mainstream Computing Pty Ltd | Selection system |
US7770100B2 (en) * | 2006-02-27 | 2010-08-03 | Microsoft Corporation | Dynamic thresholds for conditional formats |
US7996768B2 (en) * | 2006-05-18 | 2011-08-09 | International Business Machines Corporation | Operations on document components filtered via text attributes |
US7937426B2 (en) * | 2006-06-30 | 2011-05-03 | Mircosoft Corporation | Interval generation for numeric data |
US20080295007A1 (en) * | 2007-05-24 | 2008-11-27 | Microsoft Corporation | Data Visualization |
US7765220B2 (en) * | 2007-05-24 | 2010-07-27 | Microsoft Corporation | Data relevance filtering |
JP4968920B2 (ja) * | 2007-06-05 | 2012-07-04 | キヤノン株式会社 | ジョブ管理装置、ジョブ管理方法及びプログラム |
US8868620B2 (en) * | 2007-06-08 | 2014-10-21 | International Business Machines Corporation | Techniques for composing data queries |
JP4766038B2 (ja) * | 2007-11-29 | 2011-09-07 | コニカミノルタビジネステクノロジーズ株式会社 | 画像処理装置の管理プログラム、画像処理装置の管理装置、および画像処理装置の管理方法 |
US20090228826A1 (en) * | 2008-03-04 | 2009-09-10 | Microsoft Corporation | Group filtering of items in a view |
US20100076948A1 (en) * | 2008-09-09 | 2010-03-25 | International Business Machines Corporation | System and method for interfacing search request and corresponding search result |
US20100107081A1 (en) * | 2008-10-24 | 2010-04-29 | Infocus Corporation | Projection device image viewer user interface |
CN101404009B (zh) * | 2008-10-31 | 2012-01-25 | 金蝶软件(中国)有限公司 | 一种数据分类过滤方法、系统及设备 |
US10176162B2 (en) * | 2009-02-27 | 2019-01-08 | Blackberry Limited | System and method for improved address entry |
US10156961B1 (en) * | 2013-09-24 | 2018-12-18 | EMC IP Holding Company LLC | Dynamically building a visualization filter |
US9984114B2 (en) * | 2014-06-02 | 2018-05-29 | Microsoft Technology Licensing, Llc | Filtering data in an enterprise system |
US10185478B2 (en) | 2014-09-24 | 2019-01-22 | Sap Se | Creating a filter for filtering a list of objects |
US10055084B2 (en) * | 2014-12-15 | 2018-08-21 | International Business Machines Corporation | Linking tag selections across multiple dashboards |
US20170124161A1 (en) * | 2015-11-02 | 2017-05-04 | Ebay Inc. | Presentation of digital data |
CN113676547B (zh) * | 2021-09-01 | 2023-04-07 | 北京字跳网络技术有限公司 | 数据处理方法、装置、存储介质和电子设备 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4653020A (en) * | 1983-10-17 | 1987-03-24 | International Business Machines Corporation | Display of multiple data windows in a multi-tasking system |
US5206949A (en) * | 1986-09-19 | 1993-04-27 | Nancy P. Cochran | Database search and record retrieval system which continuously displays category names during scrolling and selection of individually displayed search terms |
US5049881A (en) | 1990-06-18 | 1991-09-17 | Intersecting Concepts, Inc. | Apparatus and method for very high data rate-compression incorporating lossless data compression and expansion utilizing a hashing technique |
US5632022A (en) * | 1991-11-13 | 1997-05-20 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Encyclopedia of software components |
US5710899A (en) * | 1991-12-06 | 1998-01-20 | Lucent Technologies Inc. | Interactive selectors for selecting subsets of a set of values |
CA2077271C (en) | 1991-12-13 | 1998-07-28 | David J. Craft | Method and apparatus for compressing data |
US5426781A (en) * | 1992-04-30 | 1995-06-20 | International Business Machines Corporation | Computerized report-based interactive database query interface |
DE69418908T2 (de) * | 1993-01-26 | 2000-01-20 | Sun Microsystems Inc | Verfahren und Gerät zum Informationsanschauen in einer Rechnerdatenbank |
CA2127764A1 (en) * | 1993-08-24 | 1995-02-25 | Stephen Gregory Eick | Displaying query results |
US5563595A (en) | 1993-12-23 | 1996-10-08 | International Business Machines Corporation | Method and apparatus for compressing data |
US5809483A (en) * | 1994-05-13 | 1998-09-15 | Broka; S. William | Online transaction processing system for bond trading |
US5826076A (en) * | 1994-05-13 | 1998-10-20 | Liant Software Corporation | Computer-based information access method and apparatus to permit SQL-based manipulation of programming language-specific data files |
US5694546A (en) * | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
US5680563A (en) * | 1994-07-25 | 1997-10-21 | Object Technology Licensing Corporation | Object-oriented operating system enhancement for filtering items in a window |
JP2777698B2 (ja) * | 1994-07-28 | 1998-07-23 | 日本アイ・ビー・エム株式会社 | 情報検索システム及び方法 |
US5682524A (en) * | 1995-05-26 | 1997-10-28 | Starfish Software, Inc. | Databank system with methods for efficiently storing non-uniform data records |
US5634053A (en) * | 1995-08-29 | 1997-05-27 | Hughes Aircraft Company | Federated information management (FIM) system and method for providing data site filtering and translation for heterogeneous databases |
US5758083A (en) * | 1995-10-30 | 1998-05-26 | Sun Microsystems, Inc. | Method and system for sharing information between network managers |
US5787411A (en) * | 1996-03-20 | 1998-07-28 | Microsoft Corporation | Method and apparatus for database filter generation by display selection |
US5845300A (en) | 1996-06-05 | 1998-12-01 | Microsoft Corporation | Method and apparatus for suggesting completions for a partially entered data item based on previously-entered, associated data items |
US5815703A (en) * | 1996-06-28 | 1998-09-29 | Microsoft Corporation | Computer-based uniform data interface (UDI) method and system using an application programming interface (API) |
US5982369A (en) * | 1997-04-21 | 1999-11-09 | Sony Corporation | Method for displaying on a screen of a computer system images representing search results |
-
1997
- 1997-09-21 US US08/938,032 patent/US6279016B1/en not_active Expired - Lifetime
-
1998
- 1998-07-17 GB GB9815684A patent/GB2329492B/en not_active Expired - Fee Related
- 1998-09-01 JP JP24744898A patent/JP4326045B2/ja not_active Expired - Lifetime
- 1998-09-17 DE DE19842688A patent/DE19842688B4/de not_active Expired - Lifetime
- 1998-09-18 FR FR9811681A patent/FR2768826B1/fr not_active Expired - Lifetime
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19922793A1 (de) * | 1999-05-18 | 2000-12-07 | Siemens Health Services Gmbh & | Medizinische Systemarchitektur |
DE19922793B4 (de) * | 1999-05-18 | 2004-02-12 | Siemens Ag | Medizinisches Gerätesystem |
DE19933986A1 (de) * | 1999-07-20 | 2001-01-25 | Sonja Anderle | Kommunikationssystem sowie ein hierzu geeignetes Verfahren zur Durchführung des Kommunikationssystems |
DE19964077A1 (de) * | 1999-10-07 | 2001-04-12 | Dietz Gislinde | Nicht löschbare Betriebssystemerweiterung für Computer und Internet-Zugangseinrichtungen |
Also Published As
Publication number | Publication date |
---|---|
FR2768826A1 (fr) | 1999-03-26 |
GB9815684D0 (en) | 1998-09-16 |
GB2329492B (en) | 2003-03-05 |
US6279016B1 (en) | 2001-08-21 |
FR2768826B1 (fr) | 2006-09-01 |
JP4326045B2 (ja) | 2009-09-02 |
DE19842688B4 (de) | 2006-05-11 |
GB2329492A (en) | 1999-03-24 |
JPH11161685A (ja) | 1999-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19842688B4 (de) | Verfahren zum Filtern von Daten, die von einem Datenanbieter stammen | |
DE69434096T2 (de) | Verfahren und System, um mit einer graphischen Benutzerschnittstelle in einer Datenbank zu suchen | |
DE10135445B4 (de) | Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage | |
DE69733162T2 (de) | Datenübertragungssystem | |
DE19632854B4 (de) | Kontext-Identifizierer verwendendes System und Verfahren für eine individuelle Menüanpassung in einem Fenster | |
DE69837772T2 (de) | Browser für hierarchische Strukturen | |
EP0910829B1 (de) | Datenbanksystem | |
DE602005001787T2 (de) | Vorrichtung und Verfahren zum Editieren von Druckdaten | |
DE60319229T2 (de) | Verfahren und system zur erweiterung der api eines dateisystems | |
DE69628374T2 (de) | Datenverwaltungssystem | |
DE69533193T2 (de) | Paralleles verarbeitungssystem zum durchlaufen einer datenbank | |
DE19755798A1 (de) | Verfahren und Vorrichtung für adaptive Computer-Directory- und File-Auswahl | |
DE4301766A1 (en) | Double sided flip over electronic page on screen graphics - has paper containing calendar on one side turned over by cursor movement to allow option selection | |
DE602004003139T2 (de) | System und verfahren für eine datentabelle zur verwaltung von einfügeoperationen in rekursiven skalierbaren vorlageninstanzen | |
DE19742804A1 (de) | Computer-Verfahren und -Vorrichtung für interaktive Objektsteuerungen | |
DE19959765B4 (de) | Datei-Editor für mehrere Datenuntermengen | |
DE3141571A1 (de) | "tischcomputer mit tasteneingabefeld" | |
DE60319586T2 (de) | Elektronisches wörterbuch mit beispielsätzen | |
DE10121791B4 (de) | Verfahren und Vorrichtung für dynamische Web-Seitenanordnung | |
DE10151648B4 (de) | Verfahren und Vorrichtung zum Erfassen und Speichern von während einer computerbasierten Sitzung gemachten Notizen | |
DE60300984T2 (de) | Methode und Computersystem für die Optimierung eines Boolschen Ausdrucks für Anfragebearbeitung | |
DE60019996T2 (de) | System zum Koordinieren von Dokumenten und Aufgaben für einen Rechner | |
DE60032403T2 (de) | Speziell adaptierte Wiedergabe und Darstellung von Datenbankinformationen | |
DE602004003230T2 (de) | System und Verfahren in einer Datentabelle zur Erzeugung von rekursiven skalierbaren Vorlageninstanzen | |
EP1159689A2 (de) | Such- und navigationseinrichtung für hypertext-dokumente |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8364 | No opposition during term of opposition | ||
R082 | Change of representative |
Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE |
|
R081 | Change of applicant/patentee |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, REDMOND, US Free format text: FORMER OWNER: MICROSOFT CORP., REDMOND, WASH., US Effective date: 20150126 |
|
R082 | Change of representative |
Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE Effective date: 20150126 |
|
R071 | Expiry of right |