DE19842688B4 - Verfahren zum Filtern von Daten, die von einem Datenanbieter stammen - Google Patents

Verfahren zum Filtern von Daten, die von einem Datenanbieter stammen Download PDF

Info

Publication number
DE19842688B4
DE19842688B4 DE19842688A DE19842688A DE19842688B4 DE 19842688 B4 DE19842688 B4 DE 19842688B4 DE 19842688 A DE19842688 A DE 19842688A DE 19842688 A DE19842688 A DE 19842688A DE 19842688 B4 DE19842688 B4 DE 19842688B4
Authority
DE
Germany
Prior art keywords
filter
data
user
data provider
record
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.)
Expired - Lifetime
Application number
DE19842688A
Other languages
English (en)
Other versions
DE19842688A1 (de
Inventor
David de Seattla Vorchik
Oshoma Seattle Momoh
Timothy Allen Redmond Satalich
Richard S. Jun. Woodinville Turner
Lauren Beth Seattle Gallagher
Wayne G. Austin Scott
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of DE19842688A1 publication Critical patent/DE19842688A1/de
Application granted granted Critical
Publication of DE19842688B4 publication Critical patent/DE19842688B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2428Query predicate definition using graphical user interfaces, including menus and forms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2425Iterative querying; Query formulation based on the results of a preceding query
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Abstract

Verfahren zum standardisierten Filtern von Daten, die von einem beliebigen Datenanbieter stammen, in einem Rechnersystem, 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 zum Empfangen von Filtereingaben, die sich auf wenigstens eines der mehreren Attribute beziehen, von einem Benutzer des Rechnersystems, wobei
– jede der mehreren Kennungen ein anderes Attribut des ersten Datensatzes beschreibt; und
– jeder der mehreren Filter einem anderen Attribut des ersten Datensatzes zugeordnet ist und zum Empfang nur der Filtereingabe bestimmt ist, welche sich auf das andere Attribut, das dem Filter zugeordnet ist, bezieht;
– Empfangen von Filtereingaben für einen oder mehrere der Filter von dem Benutzer des Rechnersystems, wobei ein erstes Filter der mehreren Filter eine erste Filtereingabe annimmt, die...

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 Informationsmenge konfrontiert, wenn Sie versuchen, einen Computer zu benutzen. Ein Datenanbieter (Datenprovider), wie eine Internet-Suchmaschine (Internet Search Engine), kann als Reaktion auf eine einfache Abfrage Tausende von "Treffern" zurückliefern. Ein Datenanbieter für ein e-mail-Archiv 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. 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 Interface). Anstatt sich mit einer vielseitigen Benutzerschnittstelle vertraut zu machen, muß sich ein Benutzer an verschiedene Benutzerschnittstellen gewöhnen, eine zeitaufwendige und frustrierende Aufgabe.
  • Das Fehlen einer standardisierten Benutzerschnittstelle erzeugt 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 unterschiedlichen Tabulatoren, Tasten und einer neuen Gesamtkonfiguration entwerfen, um die Anforderungen jedes Datenanbieters zu erfüllen.
  • Vorhandene Benutzerschnittstellen erlauben die Filterung von Datensätzen gestützt auf mehrere Attribute auf einmal. Allein 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 Filterung 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 Benutzerschnittstelle erlaubt eine präzise Filterung eines Datensatzes im Hinblick auf mehrere Attribute auf intuitive Weise.
  • Eine Benutzerschnittstelle kann sogar noch präzisere Anfragen 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 iterative, 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 Benutzer kann dann eine engere Abfrage ausgeben, um eine Untergruppe 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, entstehen enorme Redundanzen. Eine geringere Redundanz ergibt sich, wenn der gesamte Satz der Abfrageterme statt nur die Änderungen der Abfrageterme zwischen der Benutzerschnittstelle 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 Eingabe weitere Kriterien "schrumpft", senden die meisten existierenden 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, verloren geht.
  • Einige der vorhandenen Benutzerschnittstellen filtern daher nach jedem Tastenanschlag, der zu einer Texteingabe gehört. Viele Anwendungen haben z.B. Hilfe-Indizes, die mit der Eingabe jedes Tastenanschlages durchlaufen werden. Wenn der Benutzer Hilfe mit der "Anzeige" benötigt, 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 Datensätzen nicht unterstützen. Vielmehr werden die Datensätze abhängig von willkürlichen Textmustern oder präzisen Textwerten sortiert, selbst wenn der Benutzer nach einer Farbe, einem Piktogramm, einer Bitabbildung oder einem Klang in einem Datensatz sucht.
  • In der Veröffentlichung "JDBC Java Database Explorer 1.0beta", Dezember 1996, ist ein Datenbank-Navigationswerkzeug beschrieben, das SQL-Anfragen verwendet und Ergebnisse der SQL-Anfragen in einer formatierten Tabelle oder in Rohformat liefert. In der Tabellenform können die Ergebnisse in aufsteigender oder in abfallender Reihenfolge geordnet werden. Die SQL-Anfragen werden in getrennten SQL-Anfragefenstern eingegeben. Die Ergebnisse der SQL-Anfragen können jedoch nicht weitergehend gefiltert werden und durch die Darstellung der SQL-Anfragen und der Ergebnisse dieser Anfragen in getrennten Fenstern kann keine weitere gemeinsame Datenverarbeitung, beispielsweise Filterung, vorgenommen werden.
  • In "Excel 97 – Das Kompendium", von Baloui, S., Markt und Technik, 1998, wird auf den Seiten 438-444 die Autofilterfunktion der Software Excel® 97 dargestellt. Die Autofilterfunktion zeigt eine Drop-Down-Liste für eine einzelne Spalte auf einmal oder eine Dialogbox zum Filtern, abhängig von den Daten, die jeweils in einer einzelnen Spalte vorliegen. Die Autofilter-Funktion erlaubt die datenabhängige Filterung in mehreren verschiedenen Spalten, wobei die Filterung jedoch für jeweils eine Spalte nach der anderen durchgeführt wird. Da die Filtersteuermodule jeweils nur für eine einzelne Spalte angezeigt werden, ist ein Filtervorgang auf ein solches Datenformat beschränkt.
  • Die Druckschrift US 5,630,122 A beschreibt ein Verfahren und ein System für ein Computer-Datenbanksystem, um eine Anfrage interaktiv zu erstellen. Hierbei wird eine Äquivalentdarstellung einer Tabelle verwendet, die auf einer Benutzeranzeige dargestellt wird. Änderungen können direkt von dem Datenbankbenutzer in der Äquivalentdarstellung der Tabelle durchgeführt werden. Die so veränderte Anfrage wird mit der gesamten Datenbank verglichen, um eine Zusammenfassung zu erzeugen, die in dem Format der Äquivalentdarstellung der Tabelle vorgesehen wird.
  • Die bevorzugte Ausführungsform der vorliegenden Erfindung überwindet die Nachteile des Standes der Technik und sieht ein Verfahren zum Filtern von Daten vor, wobei die Daten von einem Datenanbieter stammen. Mit einer standardisierten Benutzerschnittstelle kann ein Benutzer wirksam und intuitiv mit einem ihm nicht vertrauten Datenanbieter interagieren.
  • Insbesondere sieht die Erfindung ein Verfahren zum standardisierten Filtern von Daten gemäß Anspruch 1, ein Verfahren zum Anzeigen eines Steuermoduls gemäß Anspruch 12, ein Speichermedium für einen Rechner gemäß Anspruch 12, ein Speichermedium für einen Rechner gemäß Anspruch 17, ein Datenfiltersystem gemäß Anspruch 24, ein Verfahren zum Abfragen eines Datenanbieters gemäß Anspruch 25, ein Verfahren zum Formulieren einer Anfrage an einen Datenanbieter gemäß Anspruch 27, ein computerlesbares Medium zur Speicherung von Befehlen gemäß den Ansprüchen 32 oder 37 und ein Verfahren zum Betreiben einer generischen Filtersteuerung gemäß Anspruch 39 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 filtern. Das Anfangssteuermodul und seine enthaltene standardisierte 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 eine neue Benutzerschnittstelle entwerfen. Statt dessen können die Softwareentwickler ein Minimum an Information über den Datenanbieter und den Datensatz an die standardisierte Benutzerschnittstelle liefern.
  • Bei der beschriebenen Ausführungsform erscheint die standardisierte Benutzerschnittstelle als ein "QuickFilter"-Anfangssteuerfenster in einer Windows-Umgebung. Die standardisierte Benutzerschnittstelle umfaßt eine Kennung, ein Filter 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 Datensatzes 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-Datensätze und die PullDown-Menü-Information, die dann als Teil der üblichen Benutzeroberfläche in der Anfangssteueroberfläche angezeigt werden. Das Anfangssteuermodul benachrichtigt 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 Datenanbieter geliefert wird.
  • Der Datenanbieter filtert den Datensatz abhängig von Filteränderungen und Auswahlinformation, die er von dem Anfangssteuermodul 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, intuitive 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-Steuerfenster neu angezeigt, wodurch sich mit dem Empfang von Filterabfragewerten der optische Effekt einer Schrumpfung 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 verhindern, daß die Filterabfragen hinterherhinken und den vorteilhaften Schrumpfeffekt verderben, bestimmt ein Filterzeitgeber – 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 Datenzeigers jedoch längere Zeit benötigt, kann der Filterzeitgeber 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 Filtereingaben einzugeben, die zum Filtern eines Datensatzes mit nicht textorientierten Attributen verwendet werden. Ein benutzerspezifisches Steuerelement kann z.B. eine Farbpalette sein, auf der ein Benutzer eine Farbe auswählt, die dann zum Filtern eines Datensatzes nach Farben verwendet wird.
  • Die obigen sowie weitere Merkmale und Vorteile der vorliegenden Erfindung ergeben sich deutlicher aus der folgenden detaillierten Beschreibung bevorzugter Ausführungsformen mit Bezug auf die Zeichnungen. In den Figuren zeigt:
  • 1A ein Diagramm eines Computersystems mit bekannten Benutzerschnittstellen zum Zugreifen auf unterschiedliche Datenbanken;
  • 1B zeigt ein Blockschaltbild eines Computersystems mit einer Benutzerschnittstelle gemäß einer Ausführungsform der vorliegenden Erfindung zum Zugreifen auf verschiedene Datenbanken;
  • 2 zeigt ein Blockdiagramm eines Computersystems, das als eine Betriebsumgebung für eine Ausführungsform der Erfindung dient;
  • 3 zeigt ein Steuerfenster, das (1) eine Listendarstellungs-Steueroberfläche mit einem Raum für einen Datensatz und (2) eine Anfangssteueroberfläche mit Kennungen für die Attribute des Datensatzes, PullDown-Menü-Tasten und Filtern für die Attribute enthält;
  • 4 zeigt das Steuerfenster der 3 zum Anzeigen eines Datensatzes, der aus Zeilen mit Datenobjekten besteht, die in Attributspalten beschrieben sind;
  • 5 zeigt das Steuerfenster der 4 mit einer betätigten PullDown-Menü-Taste und einem PullDown-Menü, das nach dem Wiedergewinnen der Information über den Vergleichsmodus von einem Datenanbieter angezeigt wird;
  • 6 zeigt das Steuerfenster der 4, nachdem der Datensatz nach dem Typ "MS" mit dem Vergleichsmodus "Beginne mit" gefiltert wurde;
  • 7 zeigt das Steuerfenster der 4, nachdem der Datensatz nach dem Typ "Word" mit dem Vergleichsmodus "Ende mit" gefiltert wurde;
  • 8 zeigt das Steuerfenster der 4, nachdem der Datensatz nach dem Typ "MS" mit dem Vergleichsmudus "Beginne mit" und nach dem Datum "97" mit dem Vergleichsmodus "Jahr" gefiltert wurde;
  • 9A zeigt das Steuerfenster der 4, nachdem der Datensatz nach dem Typ "MS Wor" mit dem Vergleichsmodus "Beginne mit" gefiltert wurde, wobei der Filtervorgang nach Ablauf des Filterzeitgebers gestartet wurde;
  • 9B zeigt das Steuerfenster der 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;
  • 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;
  • 11 zeigt das Steuerfenster der 4 mit einem Menü enthaltend eine Liste mit eindeutigen Werten, das die eindeutigen Werte der Spalten anzeigt, über denen es liegt, und das verwendet wird, um Filtereingangswerte zu erhalten;
  • 12 ist ein Flußdiagramm, das ein Verfahren gemäß einer Ausführungsform der Erfindung darstellt;
  • 13 ist ein Flußdiagramm, das die Reaktionen darstellt, welche das Anfangssteuermodul unter verschiedenen Umständen macht;
  • 14 ist die Darstellung eines Steuerfensters, das ein sekundäres "Kalender"-Fenster gestartet hat, nachdem das "modifizierte" PullDown-Menü aktiviert wurde;
  • 15 ist ähnlich der 14, zeigt jedoch eine Auswahl eines Bereichs von Daten in dem sekundären "Kalender"-Fenster; und
  • 16 zeigt ein weiteres sekundäres Fenster, das durch Aktivieren des "modifizierten" PullDown-Menüs gestartet werden kann, wobei dieses Fenster die Auswahl eines "modifizierten" Attributes um ein bestimmtes Datum herum ermöglicht.
  • Die Erfindung wird nun in bezug auf ein Verfahren und eine Vorrichtung zum Vorsehen einer standardisierten Benutzerschnittstelle (SUI; Standard User Interface) für einen willkürlichen Datenanbieter oder Datenprovider erläutert. Durch die Verwendung der SUI kann ein Benutzer präzise Anfragen 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 maximieren. Bei der gezeigten Ausführungsform wird die Standardisierung der SUI erreicht, indem eine Reihe von Anwendungsprogrammierschnittstellen (API; Application Programming Interfaces) von der SUI und den Datenanbietern übernommen werden.
  • Betriebsumgebung der vorliegenden Erfindung
  • 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 Rechner 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, Multiprozessorsysteme, mikroprozessorgestützte oder programmierte Verbraucherelektronik, Minicomputer, Mainframecomputer und dergleichen. Die Erfindung kann auch in verteilten Rechenumgebungen eingesetzt werden, in der Aufgaben von dezentralen Verarbeitungseinrichtungen ausgeführt werden, die über ein Datenübertragungsnetz miteinander verbunden sind. In einer verteilten Rechenumgebung können die Programmodule sowohl in zentralen als auch in entfernten dezentralen Speichereinrichtungen liegen.
  • 2 zeigt ein Beispiel eines Rechnersystems, das als eine Betriebsumgebung für die Erfindung dient. Das Rechnersystem umfaßt einen Personal Computer 120 mit einer Verarbeitungseinheit 121, einem Systemspeicher 122 und einem Systembus 123, der die verschiedenen Systemkomponenten einschließ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 Peripheriebus oder einen lokalen Bus mit einer von vielen verschiedenen 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 Übertragung 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 Festplattenlaufwerk 127, ein Magnetplattenlaufwerk 128, z.B. zum Lesen von und Schreiben auf eine entfernbare Platte 129, und ein optisches 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 Festplattenlaufwerk-Schnittstelle 132, eine Magnetplattenlaufwerk-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 dynamische 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, Blitzspeicher-Karten (Flash-Speicherkarten), digitale Bildplatten, Bernoulli-Kassetten und dergleichen.
  • In den Laufwerken und dem RAM 125 können eine Reihe von Programmodulen gespeichert sein, einschließlich eines Betriebssystems 135 (z.B. Windows NT, Windows 95, MS-DOS etc.), ein oder mehrere Anwendungsprogramme 136, andere Programmodule 137 und Programmdaten 138.
  • Ein Benutzer kann Befehle und Informationen in den Personal Computer 120 über eine Tastatur 140 und eine Lenkvorrichtung, wie eine Maus 142, eingeben. Andere Eingabeeinrichtungen (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 serielle Portschnittstelle 146 verbunden, die mit dem Systembus 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 verbunden, z.B. über einen Videoadapter 148. Zusätzlich zu dem Monitor weisen Personal Computer üblicherweise weitere Peripherieausgabegerä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 Leitwegsteuereinrichtung (Router), ein gleichrangiges Gerät oder ein anderer üblicher Netzknoten sein, und er umfaßt üblicherweise viele oder alle der oben in bezug auf den Personal Computer 120 beschriebenen Elemente, obwohl in 1 nur eine Speichervorrichtung 150 gezeigt ist. Die in 1 gezeigten logischen Verbindungen umfassen ein lokales Netz (LAN) 151 und ein Fernnetz (WAN) 152. Solche Netzumgebungen sind in Büros, unternehmensweiten Computernetzen, Intranetzen 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 Personal Computer 120 üblicherweise ein Modem 154 oder ein anderes 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 verbunden.
  • 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.
  • Anfangssteuermodul und Standardbenutzerschnittstelle
  • 1B und 3-13 zeigen die Funktionen des Anfangssteuermoduls (header control) und des Listendarstellungs-Steuermoduls (list view control), welche die Standardbenutzerschnittstelle (SUI) einer Ausführungsform der vorliegenden Erfindung bilden. Die 1B und 3-8 zeigen die Arbeitsweise des Anfangssteuermoduls und der SUI insgesamt, während die 9A und 9B zeigen, wie der Filterzeitgeber für eine Textfiltereingabe innerhalb der SUI arbeitet. 10 und 11 zeigen alternative Ausführungsformen der vorliegenden Erfindung, welche benutzerspezifische Steuermenüs bzw. Listen mit eindeutigen Werten verwenden. Die 12 und 13 sind Flußdiagramme, welche den Betrieb des gezeigten Systems allgemeiner beschreiben.
  • 1B zeigt ein Beispiel einer SUI gemäß der vorliegenden Erfindung. Im Gegensatz zu den mehreren Benutzerschnittstellen, die bei den Verfahren des Standes der Technik zum Zugreifen auf mehrere Datenanbieter 210, 212, 214, 216, 218 benötigt werden, sieht die vorliegende Erfindung eine einzige 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 zuzugreifen. Die Softwareentwickler müssen nicht mehr für die verschiedenen Datenanbieter spezifische Benutzerschnittstellen entwerfen. Stattdessen können die Softwareentwickler mit den Funktionen der SUI arbeiten.
  • 3 zeigt ein Steuerfenster, das die SUI 220 enthält, nachdem das Steuermodul/Steuerfenster von dem Benutzer gestartet wurde. Die in 3 gezeigte SUI ist Teil eines selbständigen (stand alone) Steuermoduls. Bei einer anderen Ausführungsform ist die SUI Teil eines anderen Abfragesteuermoduls.
  • Das Steuerfenster 222 umfaßt einen Bereich 310 für die Anzeige 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 Kennungen 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 abgeleitet. In jedem Fall können die Anzahl der Spalten und die Kennungen für die Attribute abhängig von dem Datensatz variieren.
  • Bei der gezeigten Ausführungsform wird das Anfangssteuerfenster unabhängig von dem Listendarstellungs-Steuerfenster gestartet. Das bedeutet, daß das Anfangssteuerfenster sichtbar werden kann, bevor ein Datensatz angezeigt wird, wie in 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 werden, indem die Tasten des PullDown-Menüs in dem Anfangssteuerfenster gedrückt werden.
  • Wie der Fachmann verstehen wird, kann die präzise Konfiguration des Bereiches für den Datensatz, der Kennungen, der Filter und PullDown-Menü-Tasten nach Wunsch modifiziert werden.
  • 4 zeigt das Steuerfenster der 3, in dem ein Datensatz angezeigt ist. Der Datensatz umfaßt Zeilen 360 mit Datenobjekten und Spalten 370 mit Attributen, welche diese Datenobjekte beschreiben. Obwohl der in 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 Datensätze können z.B. w.w.w.-Seiten (w.w.w. = World Wide Web) umfassen, die Treffer einer Internet-Suchmaschine wiedergeben, e-mail-Nachrichten, die in einem e-mail-Archiv gespeichert sind oder Daten in einem elektronischen Arbeitsblatt. 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 unterbringen.
  • Wie der Fachmann erkennen wird, kann die präzise Organisation des Datensatzes verändert werden, ohne die Funktionsweise 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.
  • 5 zeigt die SUI der 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 (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 irgendein 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ü angezeigte Information über den Vergleichsmodus. Diese Information kann für jedes Attribut anders sein. In 5 hat der Benutzer den Vergleichsmodus "Beginnt mit" mit einem Cursor 390 einer Lenkvorrichtung ausgewählt. (Wie der Fachmann 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 Vergleichsmodus auswählt, verwendet der Datenanbieter einen voreingestellten Vergleichsmodus, wenn er eine Abfrage ausführt.
  • 6 zeigt die SUI der 4, nachdem der Benutzer eine Eingabe in den Typ-Filter 332 des Anfangssteuermoduls eingegeben hat. Der Benutzer hat den Typ-Filter aktiviert, indem er mit einer Lenkvorrichtung den Filter angeklickt hat. Bei Anklicken des Filters schaltet der Filter in den Editiermodus 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 anklicken, 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 Übereinstimmung 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 Editierung eingesetzt werden, ohne die Funktionsweise der gezeigten Ausführungsformen zu verändern.
  • 7 zeigt die SUI der 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 Listendarstellungs-Steuerfenster angezeigt.
  • 8 zeigt die SUI der 4, nachdem der Benutzer den Typ-Vergleichsmodus "Beginne mit", den Typ-Filter "MS", den Datums-Vergleichsmodus "Jahr" und den Datums-Filter "97" innerhalb des Anfangssteuerfensters ausgewählt hat. Der Datensatz 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 ausgewählten Modi bei dem Datensatz angewendet werden sollten. In 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-Steuerfenster der gezeigten Ausführungsform nicht sichtbar. Das Anfangssteuermodul sendet Änderungen des Filters und die Auswahl der Modi an den Datenanbieter (oder sein Schnittstellenprogramm), und das Listendarstellungs-Steuermodul empfängt im Gegenzug die gefilterten Datensätze.
  • Obwohl 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 Filter 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 abhängig von den aktuellsten Termen der Abfrage. Bei der Abfrage der 8 würde der Datenanbieter mehrere Filterschritte durchgeführt haben, bevor er zu dem Filterergebnis gemäß dem Datensatz der 8 kommt.
  • Zeitgeber für textliche Veränderungen des Filters
  • 9A und 9B zeigen die SUI der 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 Anfangssteuermodul 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 Filter 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 Datenprovdier gesendet wurde), über einem bestimmte Grenzwert liegt, werden die chargenweise verarbeiteten Tastatureingaben an den Datenanbieter gesendet.
  • Mit Bezug auf die 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 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 Zeitgeber ab, und der veränderte Typ "MS Wor" wird an den Datenanbieter gesendet. Der gemäß dem Typ "MS Wor" und dem Vergleichsmodus "Beginne mit" (Voreinstellung) gefilterte Datensatz wird zurückgegeben und angezeigt.
  • Mit Bezug auf 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 automatisch die Veränderung des Filtertyps "ks" sofort an den Datenanbieter gesendet wird, ohne daß der Ablauf des Zeitgebers 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 jedesmal zurückgesetzt, nachdem ein Tastenanschlag empfangen wurde. Wenn der Zeitgeber auf 3 Sekunden eingestellt wird, bewirkt 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 abgeschickt werden.
  • Bei der gezeigten Ausführungsform der Erfindung wird der Zeitgeber von dem Datenanbieter eingestellt und kann verändert 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änger als das Tippen eines Tastenanschlags benötigt, geschehen, 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 Filteroperation 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ärker 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ährend 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.
  • Das benutzerspezifische Menü
  • 10 zeigt eine andere Ausführungsform für das Steuermodul/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 kundenspezifisches Steuermenü 402 angezeigt. Der Datenanbieter liefert das benutzerspezifische Steuerfenster 412, das in dem PullDown-Menü angezeigt wird. Bei einer anderen Ausführungsform signalisiert der Datenanbieter dem Steuermodul, welches von mehreren benutzerspezifischen Steuerfenstern 412 in dem PullDown-Menü angezeigt werden soll. (Das Farbauswahl-Steuerfenster 412 der 10 ist grau, weil eine andere Farbgebung in Patentdokumenten nicht wiedergegeben werden kann. In der Praxis würde die Farbauswahl jedoch ein zweidimensionales Spektrum von Farbwahlmöglichkeiten wiedergeben.)
  • Der Benutzer interagiert mit dem benutzerspezifischen Steuerfenster 412, um (z.B. mit dem Cursor 390 einer Lenkvorrichtung) nicht textorientierte Abfrageterme für das Attribut 352, zu dem das benutzerspezifische Steuerfenster gehö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 Attribut 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 Datenanbieter weitergegeben. Der Datenanbieter filtert dann den Datensatz 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 benutzerspezifischen Steuermenü 402 an. Wenn das benutzerspezifische Steuermodul 412 z.B. eine Farbpalette ist, könnten die Vergleichsmodi "Liegt nahe bei" und "Ist nicht" angezeigt werden. Bei einer anderen Ausführungsform enthält das benutzerspezifische 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 benutzerspezifische Steuermodul die Form eines Nebenfensters annehmen, das bei Aktivierung eines Filter-PullDown-Menüs durch Auswahl eines "benutzerspezifisch ..."-Eintrags in dem PullDown-Menü gestartet wird.
  • 14 zeigt eine solche Anordnung, bei der ein sekundäres "Kalenderfenster" gestartet wird, wenn der Benutzer das "modified"-PullDown-Menü startet. Der Benutzer kann ein einzelnes Datum in dem Kalender anklicken, oder er kann, wie in 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 eingegeben.
  • 16 zeigt ein anderes Beispiels eines sekundären Fensters, das gestartet werden kann, wenn ein Benutzer die Taste 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) auswählt, wird ein Schiebesteuermodul aktiviert, das die Eingabe eines Zeitbereichs um das spezifizierte Datum herum ermöglicht, in dem die Filterkriterien erfüllt werden.
  • Wenn man sich wieder dem benutzerspezifischen Farbauswahlmodul 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 Farbkomponente der vom Benutzer ausgewählten Farbe liegen. (Bei einer anderen Ausführungsform können für verschiedene Farbkomponenten unterschiedliche Prozentbereiche verwendet werden, um die "Nähe" zu beurteilen, z.B. abhängig von der unterschiedlichen Empfindlichkeit des menschlichen Auges auf verschiedene Farben).
  • Obwohl dies in 10 nicht gezeigt ist, gibt es weitere Farbebeziehungen, die spezifiziert werden können, wie "heller als" und "dunkler als". Diese können beurteilt werden, indem z.B. die vom Benutzer ausgewählte Farbe in einen entsprechenden Grauskalenwert umgewandelt wird, und dieser Wert mit entsprechenden Grauskalenwerten der bei einem Datenanbieter gespeicherten Farben verglichen wird.
  • Liste eindeutiger Werte
  • 11 zeigt eine weitere Ausführungsform des Anfangssteuermoduls und der SUI der 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 Werten 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 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 weitergegeben, 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 tastet der Datenanbieter den aktuellen Datensatz ab und ermittelt 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-verknüpft der Datenanbieter diese Attribute, wenn er die Abfragen ausführt, wie bereits erwähnt wurde. Die Liste aus eindeutigen Werten ermöglicht eine leistungsstarke Erweiterung dieses Grundprotokolls: Wenn der Benutzer mehrere verschiedene Werte in einer einzigen Attributliste aus eindeutigen Werten auswählt (z.B. durch Festhalten der Steuertaste während der Auswahl mehrerer Werte), werden diese bei der Abfrage des Datenanbieters ODER-verknüpft. Bei Testversuchen hat sich ergeben, daß diese Maßnahme eine stark intuitive Schnittstelle schafft.
  • Eingeschränkte Suche
  • 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-Suchmaschine ausgibt, kann z.B. Tausende von "Treffern" als Antwort empfangen. Der Benutzer kann dann eine engere Abfrage ausgeben, um innerhalb dieser Antworten eine Untermenge zu finden. Die engere Abfrage ist üblicherweise die ursprüngliche Abfrage plus (UND) ein anderer Term.
  • Es ergeben sich enorme Redundanzen, wenn die modifizierte Abfrage mit dem gesamten Datensatz anstelle des engeren Datensatzes, 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 verlangsamt die Ansprechzeit.
  • Bei der gezeigten Ausführungsform wird die Handhabung der eingeschränkten Filter den jeweiligen, abgefragten Datenanbietern überlassen. Wenn eine zweite Abfrage vorliegt, welche 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 verfeinern, anstatt neu zu starten.
  • Abfragen als Objekte
  • 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.
  • Cursorgesteuertes Blättern (Scrolling)
  • 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 weitergegeben, unabhängig von ihrer Anzahl. Bei einer anderen Ausführungsform wird eine begrenzte Anzahl von Objekten (z.B. zwei mal so viele, wie in dem Fenster angezeigt werden können) übergeben. Dadurch kann etwas durch das Fenster geblättert werden, ohne daß das System durch die übermäßigen Datenü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.
  • Sortierreihenfolge
  • Bei der gezeigten Ausführungsform wird die Sortierung der in der SUI dargestellten Objekte von dem Datenanbieter vorgenommen, der die Objekte sortiert an das Listendarstellungs-Steuermodul liefert. Bei anderen Ausführungsformen kann die Sortierung auf der SUI-Seite erfolgen.
  • Anfangssteuermodul und Anwendungsprogrammierschnittstellen
  • 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 Benachrichtigungen an die übergeordnete Steuerung und den Datenanbieter durch die übergeordnete Steuerung. Das Anfangssteuermodul empfängt Nachrichten von der übergeordneten Steuerung und von dem Datenanbieter über die übergeordnete Steuerung.
  • 12 ist ein Ablaufdiagramm des Anfangssteuermoduls der gezeigten Ausführungsform auf einer hohen Ebene. Wie in 12 gezeigt, wird das Anfangssteuermodul von dem Benutzer in Gang gesetzt 500. An diesem Punkt werden der Steuerrahmen, Kennungen, Filter und Tasten eines Pull-Down-Menüs angezeigt. Gleichzeitig kann der Datensatz angezeigt werde, oder auch nicht, abhängig davon, ob auch das Listendarstellungs-Steuermodul initialisiert wurde. Das Anfangssteuermodul kann als ein unabhängiges (stand alone) Steuerfenster oder als Teil eines größeren Abfragefensters gestartet werden. 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 (API) Win32 Create Window verwendet.
  • Wenn das Anfangssteuermodul gemäß den Normen von Microsofts QuickFilter erzeugt wurde, ist das Steuermodul in Nachrichten an das Steuermodul und Benachrichtigungen von dem Steuermodul als eine NM_QUICKFILTER oder QF_FILTER-Struktur beschrieben.
  • QF_FILTER
  • 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ückgegeben 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.
  • Figure 00300001
  • NM_QUICKFILTER
  • Wenn mit einer Benachrichtigung WM_NOTIFY Daten zur übergeordneten Steuerung des Anfangssteuermoduls zurückübertragen werden, gibt eine Struktur NM_QUICKFILTER an, welche Spalte der Gegenstand der Benachrichtigung ist. Alle Benachrichtigungen von dem Steuermodul QuickFilter haben diese Kopfzeilen.
  • Das Feld NMHDR ist ein Standardteil einer Benachrichtigungsnachricht. iColumn gibt an, welche Spalte innerhalb der Kopfzeile Gegenstand der Nachricht ist.
  • Figure 00310001
  • Nach dem Starten warten das Anfangssteuermodul (520, 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 Anfangssteuermodul (560) auf die Nachricht, bevor es in den Wartezustand (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 Erscheinungsbildes des Steuerfensters oder das Senden einer Benachrichtigung an die übergeordnete Steuerung oder den Datenanbieter ü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-Nachrichten von dem übergeordneten Steuerprogramm, die es anweisen, 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 Datenanbieter über die übergeordnete Steuerung, welche den angezeigten Datensatz als Teil der Standardbenutzerschnittstelle 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 Anfangssteuermodul weitere Nachrichten, die für die Steuerung der gezeigten Ausführungsform spezifisch sind. Diese Nachrichten sind im folgenden Abschnitt beschrieben.
  • AP2-Nachrichten und Benachrichtigungen
  • Das gezeigte Anfangssteuermodul reagiert auf Nachrichten, welche es anweisen, einen Filter einzustellen, einen Filter zu holen, alle Filter zu zeigen/zu verbergen, die übergeordnete Steuerung, an die Benachrichtigungen gesendet werden, einzustellen, und die Dauer des Filterzeitgebers einzustellen.
  • 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.
  • QFM_SETFILTER
  • Die übergeordnete Steuerung sendet diese Nachricht zum Einstellen 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_SRING) ist (ein Filter für Zeichenketten), wird eine Kopie des Strings (der Zeichenkette) hergestellt, der durch pszFilter ausgewiesen 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.
  • QFM_GETFILTER
  • 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 Filterinhalt und den Typ enthält. Es wird angenommen, daß der Datenanbieter den Typ des Filters für eine bestimmte Spalte kennt und daß die QF_FILTER-Struktur einen gültigen Pufferzeiger und eine gültige Puffergröße enthält.
  • Wenn der Filter FILTER_TYPE_INT ist, wird der ganzahlige Wert einfach in der Struktur gespeichert. Wenn der Filter FILTER_TYPE_STRING ist, wird der String in den von dem Datenanbieter vorgesehenen Puffer kopiert, wenn dieser Puffer groß genug ist. Anderenfalls versagt der Aufruf.
  • Bei erfolgreicher Beendigung gibt der Aufruf WAHR (TRUE) zurück.
  • QFM_SHOWFILTER
  • In der Voreinstellung ist der Filterbalken des Steuerungsmoduls sichtbar. Diese Nachricht ermöglicht es dem aufrufenden Programm, ihn gestützt auf den Wert in wParam darzustellen oder zu verbergen. Wenn wParam nicht Null ist, wird der Filterbalken gezeigt, anderenfalls bleibt er verborgen.
  • Der Aufruf gibt des vohergehenden Sichtbarkeitszustand des Filterbalkens zurück.
  • QFM_SETNOTIFYTARGET
  • Bei Verwendung des Anfangssteuermoduls QuickFilter zum Ersetzen des Standard-Anfangssteuermoduls in einer Listendarstellung werden gemäß Voreinstellung Benachrichtigungen an ListView gesendet, da es das übergeordnete Steuerprogramm ist. QuickFilter kann spezifizieren, daß stattdessen Benachrichtigungen an das Fenster gesendet werden, das in dem HWND von lParam beschrieben ist.
  • Bei erfolgreicher Beendigung gibt dieser Aufruf WAHR (TRUE) zurück.
  • QFM_SETCHANGETIMEOUT
  • Wenn ein Filter editiert wird, verarbeitet das Steuermodul QuickFilter die Editierung chargenweise und sendet eine einzelne Benachrichtigung (QFN_CHANGE) nach einer vorgegebenen Ablaufzeit (timeout). Diese Nachricht erlaubt es einem Datenanbieter, die Ablaufzeit 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 Benachrichtigungen, die einem Datenanbieter mitteilen, daß ein Filter verändert wurde, anfordern, daß der Datenanbieter ein PullDown-Menü zurückgibt, dem Datenanbieter mitteilen, daß ein Operator gewählt wurde, und der übergeordneten Steuerungen mitteilen, daß ein Filter gestartet oder fertig editiert wurde.
  • Wenn das Anfangssteuermodul gemäß den Normen des QuickFilters von Microsoft konzipiert ist, werden diese Benachrichtigungen wie folgt realisiert.
  • QFN_CHANGE
  • Die Benachrichtigung QFN_CHANGE benachrichtigt die übergeordnete Steuerung des Anfangssteuermoduls davon, daß einer der Filter verändert wurde. Eine Struktur NM_QUICKFILTER wird als ein Parameter weitergegeben und enthält Informationen ü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ü ausgewählt hat.
  • Der von dieser Nachricht zurückgegebene Wert wird ignoriert.
  • QFN_GETOPERATORMENU
  • 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 übergeordnete Steuerung sollte bei Empfang dieser Nachricht ein HMENU zurückgeben, das dann angezeigt wird. Wenn der zurückgegebene Wert NULL ist, ignoriert der Aufruf das Operatormenü für diese Spalte. Der zurückgegebene Wert aufgrund dieser Benachrichtigung ist entweder HMENU oder NULL.
  • QFN_OPERATORCHOSEN
  • 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 Benachrichtigung QFN_GETOPERATORMENU ruft das Filtersteuermodul das TrackPopUpMenu auf, um das Ergebnis anzuzeigen. Der von diesem TrackPopUpMenu zurückgegebene Code wird unter Verwendung 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.
  • Figure 00360001
  • QFN_BEGINFILTEREDIT QFN_ENDFILTEREDIT
  • Diese beiden Benachrichtigungen werden dazu verwendet, die übergeordnete Steuerung zu informieren, wenn ein Filter editiert 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 Anfangssteuermodul QuickFilter und dem benutzerspezifischen Filter wie folgt:
  • HRESULT IQFCustomFilter::Edit
    • (HWND hwndParent, POINT, ptHit, HWND* phWnd)
  • Wenn der Benutzer inerhalb 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.
  • HRESULT IQFCustomFIlter::Render
    • (HDC hDC, RECT rect, DWORD dwState)
  • Dieses Modul wird zum Anzeigen des Filters in dem Filterbalken aufgerufen. Das ICustomFilter-Objekt ist verantwortlich für die Wiedergabe einer Darstellung der Daten, welche es enthält, in dem gegebenen HDC/Rechteck.
  • HRESULT IQFCustomFilter::GetOperatorMenu
    • (HMENU*phMenu)
  • HRESULT iQFCustomFilter::OperatorChosen
    • (UINT uID)
  • Diese Module bilden direkt auf die Benachrichtigungen QFN_GETOPERATORMENU/QFN_SETOPERATOR ab, welche von dem Filtersteuermodul an die übergeordnete Steuerung gesendet werden. Wenn das ICustomFilter-Objekt aus dem ICustomFilter::GetOperatorMenu E_NOTIMPL zurückgibt, wird die Standardbenachrichtigung ausgegeben. Ein QFN_OPERATORCHOSEN wird immer ausgegeben, damit die übergeordnete Steuerung die Identität (ID) des Operators speichern kann. Wenn das Operatormenü zurückgegeben wird, wird zu dem spezifizierten Zeiger HMENU zurückgegeben. Wenn dies NULL ist, oder der Aufruf S_FALSE zurückgibt, wird er ignoriert.
  • QFM_DISMISSEDIT
    • wParam = fRefresh
    • lParam = 0
  • Wenn der benutzerspezifische Filtereditor den Zustand des Filters modifiziert hat, wird QFM_DISMISSEDIT gesendet, um die Beendigung anzuzeigen. fRefreh gibt an, ob das benutzerspezifische 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 Beispiele ausgeführt.
  • Editiersteuermodul und Filterzeitgeber
  • Das Ablaufdiagramm der 13 zeigt die Funktionsweise des Editiersteuermoduls und des Filterzeitgeber, die bei der gezeigten 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_BEGINFILTEREDIT), um das Editieren des Filters zu beginnen. Die Eingangscharge des Filters wird gelöscht (602). Anschließend wird der Filterzeitgeber auf den Wert, der von dem Datenanbieter angegeben wurde, zurückgesetzt (604). Das Editiersteuermodul 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 Tastatureingaben (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 modifiziert 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änderungen zu dem Datenanbieter gesendet (680) (QFN_CHANGE), bevor das Editiersteuermodul geschlossen wird. Wenn irgendeine andere Taste außer <Enter> gedrückt wird, wird der Tastenanschlag 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 gesendet wurde (QFN_CHANGE). Der Zeitgeber wird neu initialisiert (676) und zeichnet die Zeit auf, die seit dem letzten Tastenanschlag verstrichen ist. Das Steuermodul wartet dann auf die nächste Eingabe.
  • Wenn das Editiersteuermodul wieder einen Tastenanschlag (640), noch eine Zeitablaufnachricht (620) oder ein Editierendesignal (630) empfängt, wird der Filterzeitgeber überprü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 Datenanbieter, 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 13 auf viele Arten verändert werden, ohne die Funktionsweise der gezeigten Ausführungsform zu verändern.
  • Netzrealisierung
  • Ausführungsformen der vorliegenden Erfindung sind besonders nützlich beim Sichten von Ergebnissen aus Suchvorgängen im Internet. Bei solchen Ausführungsformen ist der Datenanbieter üblicherweise ein entfernter Computer, der über eine Übertragungsverbindung mit dem Computer des Benutzers verbunden 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 zwischen der graphischen Abfrage-Bildschirmoberfläche auf dem Computer des Benutzers und dem entfernten Datenanbieter üblicherweise nicht mit den oben erläuterten APIs von Microsoft Windows durchgeführt werden. Stattdessen findet die Datenübertragung mit anderen Mitteln statt. Wenn das System in Java oder dergleichen realisiert ist, können Java-Benachrichtigungen dazu verwendet werden, die Datenübertragung auszuführen. Bei anderen Ausführungsformen können HTTP-Verbindungen 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 Latenzzeit des Netzes (die mit bekannten Verfahren gemessen werden kann) sowie von der momentanen Verarbeitungsbelastung, unter der der Datenanbieter steht, adaptiv eingestellt werden.
  • Bei Verwendung von Java-Anwendungsprogrammen oder dergleichen kann ein Steuermodul wie das oben beschriebene verfaßt und in Web-Seiten eingebaut werden, wodurch die Standardisierung dieser Schnittstelle vom Schreibtisch des Benutzers aus bis zu dem und durch das World Wide Web hindurch erweitert wird.
  • Nach der Beschreibung der Grundsätze des Erfindungsgegenstandes mit Bezug auf verschiedene Ausführungsbeispiele sollte deutlich geworden sein, daß die Technologie hinsichtlich der Anordnung und den Einzelheiten modifiziert werden kann, ohne diese Grundsätze zu verlassen.
  • Während bei dem Ausführungsbeispiel zwei getrennte Steuerstrukturen verwendet wurden, um die Standardbenutzerschnittstelle zu bilden (d.h. das QuickFilter-Anfangssteuermodul, das nichts über den Datensatz weiß, sondern nur Filter, Kennungen, PullDown-Menüs, etc. kennt, und das Listendarstellungs-Anzeigesteuermodul, das einfach den Datensatz darstellt), kann bei anderen Ausführungsformen eine vereinheitlichte Struktur verwendet werden.
  • Während die Erfindung in Verbindung mit einer graphischen Benutzerschnittstelle erläutert wurde, ist das erfindungsgemäße Konzept nicht hierauf begrenzt. Die obigen Grundsätze können z.B. auch in textgestützten Schnittstellen vorteilhaft eingesetzt werden (die z.B. in vielen Mainframe-Systemen üblich sind).
  • Während die Erfindung weiterhin in Verbindung mit einer tabellenförmigen detaillierten Beschreibung jedes Datenobjekts in dem Listendarstellungs-Steuermodul dargestellt wurde, kann bei anderen Ausführungsformen eine einfachere piktogrammartige Darstellung eines Datenobjekts, das die spezifizierten 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 verglichen. Ein Objekt mit einem Treffer (unabhängig davon, auf welches Attribut sich der Treffer bezieht) wird an die Anzeige übergeben. Ein solches allgemeines "Suchen nach"-Feld kann zusätzlich zu den gezeigten spezifizierten Attributfeldern oder alternativ zu diesen verwendet werden. Ähnlich können einzelne Felder dazu verwendet werden, Untergruppen aller Attributfelder abzusuchen (z.B. Titel/Zusammenfassungen/Author).
  • Im Hinblick auf die große Vielzahl möglicher Ausführungsformen, bei denen die Grundsätze der Erfindung angewendet werden können, sollte man erkennen, daß die detaillierten Ausführungsformen lediglich Beispiele sind und den Bereich der Erfindung nicht beschränken. Die Erfindung soll vielmehr all diese Variationen innerhalb des Bereichs der folgenden Ansprüche sowie deren Äquivalente umfassen. Die in der vorstehenden Beschreibung, den Ansprüchen und der Zeichnung offenbarten Merkmale können sowohl einzeln als auch in beliebiger Kombination für die Verwirklichung der Erfindung in ihren verschiedenen Ausgestaltungen von Bedeutung sein.

Claims (42)

  1. Verfahren zum standardisierten Filtern von Daten, die von einem beliebigen Datenanbieter stammen, in einem Rechnersystem, 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 zum Empfangen von Filtereingaben, die sich auf wenigstens eines der mehreren Attribute beziehen, von einem Benutzer des Rechnersystems, wobei – jede der mehreren Kennungen ein anderes Attribut des ersten Datensatzes beschreibt; und – jeder der mehreren Filter einem anderen Attribut des ersten Datensatzes zugeordnet ist und zum Empfang nur der Filtereingabe bestimmt ist, welche sich auf das andere Attribut, das dem Filter zugeordnet ist, bezieht; – Empfangen von Filtereingaben für einen oder mehrere der Filter von dem Benutzer des Rechnersystems, wobei ein erstes Filter der mehreren Filter eine erste Filtereingabe annimmt, die sich auf ein erstes Attribut der mehreren Attribute bezieht; – Senden der Filtereingaben an den beliebigen Datenanbieter; – Empfangen eines zweiten Datensatzes von dem beliebigen Datenanbieter, wobei der zweite Datensatz durch Filterung des ersten Datensatzes abhängig von den Filtereingaben abgeleitet wird; und – Anzeigen des zweiten Datensatzes mit den mehreren Kennungen 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 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 Attribute darstellt und jede Zeile ein einzelnes Datenobjekt darstellt.
  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 Schwellwertintervall ü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 Datenanbieter das vorgegebene Schwellwertintervall empfangen wird, wobei die vorgegebene Schwellwertdauer so eingestellt wird, daß ein Kompromiß zwischen der Benutzer-Ansprechempfindlichkeit 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 Textkette innerhalb des Filters angezeigt wird, und bei dem Filtereingabe 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 Anwendungsprogrammierschnittstelle Filterbefehle übertragen und Datensätze vorgesehen werden.
  9. Verfahren nach Anspruch 8, bei dem die Anwendungsprogrammierschnittstelle Funktionen zum (a) Einstellen eines Filters, (b) Holen eines Filters, (c) Zeigen/Verbergen aller Filter, (d) Einstellen eines Stammprogramms, an das Benachrichtigungen gesendet werden, und (e) Einstellen der Dauer eines Filterzeitgebers umfaßt; und bei dem die Anwendungsprogrammierschnittstelle Funktionsaufrufe umfaßt, um (a) dem beliebigen Datenanbieter mitzuteilen, daß ein Filter verändert wurde, (b) anzufordern, daß der beliebige Datenanbieter ein PullDown-Menü zurückgibt, (c) dem beliebigen Datenanbieter 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 Rechnersystems liegt.
  11. Verfahren nach einem der Ansprüche 1 bis 9, bei dem der beliebige Datenanbieter in dem Speicher eines zweiten Rechnersystems 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 einer 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 Datenobjekten gehören, umfaßt; – Anzeigen des ersten Datensatzes in dem Steuermodul zusammen mit mehreren Kennungen und mehreren PullDown-Menü-Tasten, wobei jede Kennung ein Attribut des ersten Datensatzes beschreibt und jede Kennung einem Satz Vergleichsmodi zugeordnet ist, jeder Filter einer PullDown-Menü-Taste zugeordnet ist; – abhängig von der Betätigung der PullDown-Menü-Taste, die einer Kennung zugeordnet ist, Anzeigen eines PullDown-Menüs, dessen Inhalt von dem beliebigen Datenprovider vorgesehen wird, wobei der beliebige Datenanbieter eine oder mehrere attributspezifische Filteroptionen liefert, die in dem Pull Down Menü angezeigt werden, wobei der beliebige Datenanbieter von einem Benutzer des Rechnersystems abhängig von der einen oder den mehreren attributspezifischen Filteroptionen für das gekennzeichnete Attribut eine Eingabe abruft; – Empfangen einer Eingabe von dem Benutzer 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 Sortieren 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 umfaß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 gespeichert sind, die einen entsprechend der Befehle programmierten Rechner veranlassen, – abhängig von einer Benutzereingabe einen Filterbefehl an einen Datenanbieter auszugeben; – entsprechende Ergebnisse von dem Datenanbieter zu empfangen; – einen Zeitgeber auf einen Stapeldauer-Wert einzustellen, der einen Kompromiß zwischen der Ansprechgeschwindigkeit der visuellen Anzeige und der Ansprechleistung des Datenanbieters darstellt; – die Ansprechergebnisse anzuzeigen; – Benutzereingaben anzunehmen und in einem Stapel zu speichern; – den Benutzereingabestapel an den Datenanbieter weiterzugeben, wenn der Zeitgeber abläuft, oder wenn der Benutzer ausdrücklich angibt, daß der Eingangsstapel weitergegeben werden soll, je nach dem was zuerst auftritt; – modifizierte Ergebnisse von dem Datenanbieter zu empfangen; und – die modifizierten Ergebnisse 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 veranlassen, den Zeitgeber zurückzusetzen, jedesmal wenn eine Benutzereingabe 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 Datenanbieter zu empfangen und den Zeitgeber abhängig von diesem Parameter auf den Stapeldauer-Wert 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. Datenfiltersystem, das von einem Computer ausführbare Befehle umfaßt, die auf einem Speichermedium gespeichert sind, wobei die Befehle folgendes vorsehen: Mittel zum Aufrufen eines Stammfensters, wobei das Stammfenster einen Datensatz zur Anzeige von einem beliebigen Datenanbieter empfängt; Mittel zum Aufrufen eines generischen Filtersteuermoduls, wobei das generische Filtersteuermodul für einen oder mehrere Filter eine Benutzereingabe zur Filterung des Datensatzes empfängt; und Mittel für die indirekte Datenübertragung zwischen dem generischen Filtersteuermodul und dem beliebigen Datenanbieter durch das Stammfenster, wobei das generische Filtersteuermodul auf Nachrichten anspricht, welche die Ausführung von Operationen anfordern, welche das eine oder die mehreren Filter involvieren, wobei das generische Filtersteuermodul Benachrichtigungen sendet, welche das Auftreten von Benutzereingaben beschreiben, wobei der beliebige Datenanbieter den Datensatz gestützt auf die Benutzereingabe und abhängig von einer Filtertechnik, die von dem beliebigen Datenanbieter gewählt wird, filtert.
  25. Verfahren zum Abfragen eines Datenanbieter mit folgenden Verfahrensschritten: – Darstellen einer Abfragefilterschnittstelle zur Erleichterung der Filterung eines Datensatzes gemäß einem ersten Attribut des Datensatzes, wobei der Datensatz mehrere Datenobjekte und mehrere Attribute, die zu den Datenobjekten gehören, umfaßt, wobei das erste Attribut mehrere wählbare Werte umfaßt, die eine nicht textorientierte Darstellung für einen Benutzer vorsehen können; – Darstellen von nicht textorientierten Auswahlmitteln, wobei die nicht textorientierten Auswahlmittel eine nicht textorientierte Darstellung der mehreren wählbaren Werte das erste Attribut umfassen, wobei die Darstellung jedes der mehreren wählbaren Werte ohne Darstellung einer Textbeschreibung der wählbaren Werte für den Benutzer erfolgt; und – Ausgeben von Suchkriterien an den Datenanbieter abhängig von einem Wert für das erste Attribut, das von dem Benutzer über die Auswahlmittel ausgewählt wurde; – wobei die Auswahlmittel von dem Datenanbieter an die Abfragefilterschnittstelle geliefert und nicht aus einer Codierung innerhalb der Abfragefilterschnittstelle erhalten werden.
  26. Verfahren nach Anspruch 25, bei dem das Darstellen eine Anzeige umfaßt, und die nicht textorientierten Auswahlmittel die Darstellung einer graphischen Farbanzeige umfassen.
  27. Verfahren zum Formulieren einer Anfrage an einen Datenanbieter und zum Darstellen der Ergebnisse der Anfrage in einem Rechnersystem, das eine Benutzerschnittstelle mit einer Anzeige und einer Benutzerschnittstellen-Auswahlvorrichtung umfaßt, mit folgenden Verfahrensschritten: (a) Identifizieren einer Gruppe von Datenattributen, welche zu einer Gruppe von Datenobjekten gehören; (b) Darstellen von Kennungen für die Attribute in ersten Feldern einer graphischen Benutzerschnittstelle; (c) Empfangen von Dateneingaben, welche sich auf ein oder mehrere Attribute beziehen, von einem Benutzer des Rechnersystems in zweiten Feldern, die neben den ersten Feldern liegen, wobei jedes der zweiten Felder einem anderen der Attribute zugeordnet ist und zum Empfangen der Filtereingabe bestimmt ist, die sich auf das aus dem zweiten Feld gehörende andere Attribute bezieht; (d) Abfragen des Datenanbieters, um Datenobjekte in der Gruppe der Datenobjekte durch Filtern der Gruppe der Datenobjekte gemäß den empfangenen Dateneinträgen zu identifizieren; und (e) Darstellen der Ergebnisse der Anfrage in der Benutzerschnittstelle.
  28. Verfahren nach Anspruch 27, bei dem die Schritte (a) bis (d) in einem Anfangssteuerfenster durchgeführt werden, und der Schritt (e) in einem getrennten Anzeigesteuerfenster durchgeführt wird.
  29. Verfahren nach Anspruch 27 oder 28, 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 aufeinanderfolgenden Zeilen unter der zweiten Zeile dargestellt werden.
  30. Verfahren nach einem der Ansprüche 27 bis 29, bei dem in dem Identifikationsschritt die Gruppe aus Datenattributen von dem Datenanbieter geliefert und nicht aus einer Codierung innerhalb der graphischen Benutzerschnittstelle erhalten wird.
  31. Verfahren nach einem der Ansprüche 27 bis 30, bei dem zwei oder mehr Abfrageanforderungen an den Datenanbieter ausgegeben werden, wenn in nur einem der zweiten Felder eine Dateneingabe empfangen wird, wobei die zweite Anforderung detaillierter ist als die erste Anforderung.
  32. Computerlesbares Medium zur Speicherung von Befehlen zur Ausführung eines Verfahrens zur Stapelverarbeitung von Benutzereingaben, um einen Ausgleich zwischen der Ansprechgeschwindigkeit einer visuellen Anzeige und der Betriebs-Ansprechleistung zu schaffen, mit folgenden Verfahrensschritten: Einstellen eines Zeitgebers auf einen Stapeldauer-Wert, der einen Ausgleich zwischen der Ansprechgeschwindigkeit der visuellen Anzeige und der Betriebs-Ansprechleistung darstellt; Annehmen von Benutzereingaben und Speichern derselben in einem Stapel, wobei die stapelverarbeiteten Benutzereingaben für einen Parameter für eine Operation vorgesehen sind; Senden einer Nachricht an einen Operations-Anbieter, wenn der Zeitgeber abläuft oder wenn der Benutzer explizit anweist, daß die stapelverarbeiteten Benutzereingaben weitergeleitet werden, je nach dem was zuerst auftritt; Empfangen von Ergebnissen von dem Operations-Anbieter, wobei die Ergebnisse abhängig sind von den stapelverarbeiteten Benutzereingaben; und Anzeigen der Ergebnisse.
  33. Compurterlesbares Medium nach Anspruch 32, wobei die Nachricht eine Benachrichtigung über eine Parameteränderung umfaßt, die eine Verfügbarkeit der stapelverarbeiteten Benutzereingaben zur Wiedergewinnung durch den Operations-Anbieter angibt.
  34. Computerlesbares Medium nach Anspruch 32, wobei die Nachricht die stapelverarbeiteten Benutzereingaben umfaßt.
  35. Computerlesbares Medium nach Anspruch 32, bei dem der Zeitgeber jedesmal dann zurückgesetzt wird, wenn eine Benutzereingabe von einem Benutzer angenommen wird.
  36. Computerlesbares Medium nach Anspruchs 32, wobei das Verfahren folgende weitere Schritte umfaßt: Empfangen eines Zeitparameters von dem Operations-Anbieter und Einstellen des Zeitgebers auf den Stapeldauer-Wert abhängig von dem Zeitparameter.
  37. Computerlesbares Medium zur Speicherung von Befehlen zur Durchführung eines Verfahrens zur Darstellung einer bedienerspezifischen Steuerung in einer Datenfilterschnittstelle eines Rechnersystems, wobei das Verfahren folgende Schritte umfaßt: Darstellen einer Datenfilterschnittstelle, welche die Filterung einer Datengruppe gemäß einer Benutzereingabe erleichtert, wobei die Datengruppe mehrere Datenobjekte umfaßt und die Datenfilterschnittstelle einen bedienerspezifischen Steuerbereich vorsieht; Empfangen bedienerspezifischer Steuerinformationen von einem Anbieter, wobei die bedienerspezifische Steuerinformation das Auftreten und Verhalten einer bedienerspezifischen Steuerung innerhalb des bedienerspezifischen Steuerbereichs angibt; und Darstellen der bedienerspezifischen Steuerung innerhalb des bedienerspezifischen Steuerbereichs gestützt auf die empfangene bedienerspezifische Steuerinformation, wobei die bedienerspezifische Steuerung dazu verwendet werden kann, eine Benutzereingabe zur Filterung der Datengruppe einzugeben, wobei der Anbieter die Darstellung der bedienerspezifischen Steuerung innerhalb des bedienerspezifischen Steuerbereichs, der von der Datenfilterschnittstelle vorgesehen wird, spezifiziert.
  38. Computerlesbares Medium nach Anspruch 37, in dem die Darstellung der bedienerspezifischen Steuerung die graphische Darstellung eines Bereichs von Farben umfaßt.
  39. Verfahren zum Betreiben einer generischen Filtersteuerung während der Filterung einer Datengruppe, wobei die Datengruppe in einem Fenster einer graphischen Be nutzerschnittstelle eines Rechnersystems dargestellt wird, mit folgenden Verfahrensschritten: Aufrufen einer generischen Filtersteuerung, die mit jeder von mehreren Arten von Datenanbietern nutzbar ist, wobei die generische Filtersteuerung einen oder mehrere Filter umfaßt und jeder Filter zum Eingeben einer Benutzereingabe in bezug auf die Filterung einer von dem Datenanbieter vorgesehenen Datengruppe verwendbar ist; Reagieren auf eine Anforderung zur Durchführung einer Operation, die einen Wert des einen oder der mehreren Filter beinhaltet, durch die generische Filtersteuerung, wobei die Anforderung von dem Datenanbieter stammt; und Senden einer Nachricht, welche das Auftreten einer Benutzereingabe beschreibt, durch die generische Filtersteuerung, wobei die gesendete Nachricht für den Datenanbieter bestimmt ist.
  40. Verfahren nach Anspruch 39, wobei die Operation das Einstellen des Wertes ist.
  41. Verfahren nach Anspruch 39, wobei die Operation das Holen des Wertes ist.
  42. Verfahren nach Anspruch 39, wobei das Auftreten der Benutzereingabe eine Änderung eines Wertes eines oder mehrerer Filter ist.
DE19842688A 1997-09-21 1998-09-17 Verfahren zum Filtern von Daten, die von einem Datenanbieter stammen Expired - Lifetime DE19842688B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/938,032 US6279016B1 (en) 1997-09-21 1997-09-21 Standardized filtering control techniques
US938032 1997-09-21

Publications (2)

Publication Number Publication Date
DE19842688A1 DE19842688A1 (de) 1999-03-25
DE19842688B4 true 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)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
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
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
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
DE29917681U1 (de) * 1999-10-07 2000-06-29 Dietz Gislinde Nichtlöschbare Betriebssystemerweiterung für PC's (Computer)
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
US7769794B2 (en) * 2003-03-24 2010-08-03 Microsoft Corporation User interface for a file system shell
US7627552B2 (en) * 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7712034B2 (en) 2003-03-24 2010-05-04 Microsoft Corporation System and method for shell browser
US7240292B2 (en) 2003-04-17 2007-07-03 Microsoft Corporation Virtual address bar user interface control
US7421438B2 (en) 2004-04-29 2008-09-02 Microsoft Corporation Metadata editing control
US7823077B2 (en) 2003-03-24 2010-10-26 Microsoft Corporation System and method for user modification of metadata in a shell browser
US7890960B2 (en) 2003-03-26 2011-02-15 Microsoft Corporation Extensible user context system for delivery of notifications
US7827561B2 (en) 2003-03-26 2010-11-02 Microsoft Corporation System and method for public consumption of communication events between arbitrary processes
US7925682B2 (en) * 2003-03-27 2011-04-12 Microsoft Corporation System and method utilizing virtual folders
US7650575B2 (en) 2003-03-27 2010-01-19 Microsoft Corporation Rich drag drop user interface
US7991732B2 (en) 2005-06-03 2011-08-02 Adobe Systems Incorporated Incrementally adding segmentation criteria to a data set
US9081863B2 (en) 2005-06-03 2015-07-14 Adobe Systems Incorporated One-click segmentation definition
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
US20050246650A1 (en) * 2004-04-30 2005-11-03 Yeung Simon D User interfaces for displaying content and methods of using the same
US8108430B2 (en) 2004-04-30 2012-01-31 Microsoft Corporation Carousel control for metadata navigation and assignment
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
US9134884B2 (en) 2005-03-30 2015-09-15 Ebay Inc. Methods and systems to process a selection of a browser back button
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
US8522154B2 (en) 2005-04-22 2013-08-27 Microsoft Corporation Scenario specialization of file browser
US8195646B2 (en) 2005-04-22 2012-06-05 Microsoft Corporation Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information
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
US20070043569A1 (en) * 2005-08-19 2007-02-22 Intervoice Limited Partnership System and method for inheritance of advertised functionality in a user interactive system
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
US7797636B2 (en) 2005-08-19 2010-09-14 Joseph Carter System and method for administering pluggable user interactive system applications
US8601383B2 (en) 2005-09-09 2013-12-03 Microsoft Corporation User interface for creating a spreadsheet data summary table
US8095866B2 (en) * 2005-09-09 2012-01-10 Microsoft Corporation Filtering user interface for a 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 北京字跳网络技术有限公司 数据处理方法、装置、存储介质和电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5426781A (en) * 1992-04-30 1995-06-20 International Business Machines Corporation Computerized report-based interactive database query interface

Family Cites Families (21)

* Cited by examiner, † Cited by third party
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
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
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
US5809483A (en) * 1994-05-13 1998-09-15 Broka; S. William Online transaction processing system for bond trading
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5426781A (en) * 1992-04-30 1995-06-20 International Business Machines Corporation Computerized report-based interactive database query interface
US5630122A (en) * 1992-04-30 1997-05-13 International Business Machines Corporation Computerized report-based interactive database query interface

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BALOUI, S.: Excel 97 - das Kompendium, Haar bei München: Markt und Technik, 1998
BALOUI, S.: Excel 97 - das Kompendium, Haar bei München: Markt und Technik, 1998, S. 438-444 *
JDBC Java Database Explorer 1.0 beta Bez. 1996 http://www.geocities.com/RodeoDrive/ 1620/iexplorer.html *
S. 438-444

Also Published As

Publication number Publication date
FR2768826A1 (fr) 1999-03-26
GB2329492A (en) 1999-03-24
GB2329492B (en) 2003-03-05
DE19842688A1 (de) 1999-03-25
JPH11161685A (ja) 1999-06-18
FR2768826B1 (fr) 2006-09-01
JP4326045B2 (ja) 2009-09-02
US6279016B1 (en) 2001-08-21
GB9815684D0 (en) 1998-09-16

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
DE19632854B4 (de) Kontext-Identifizierer verwendendes System und Verfahren für eine individuelle Menüanpassung in einem Fenster
DE60129652T2 (de) Bildwiederauffindungssystem und Methode mit semantischer und eigenschaftenbasierter Relevanzrückmeldung
EP0910829B1 (de) Datenbanksystem
DE60016772T2 (de) Verfahren und system für die publikation und revision von hierarchisch organisierten sätzen von statischen intranet- und internet-seiten
DE69724356T2 (de) Verfahren und Apparat für die Darstellung von Information im Bezug auf jeden einzelnen von mehreren Hyperlinks
DE602004003361T2 (de) System und verfahren zur erzeugung von verfeinerungskategorien für eine gruppe von suchergebnissen
DE69837772T2 (de) Browser für hierarchische Strukturen
DE602004003139T2 (de) System und verfahren für eine datentabelle zur verwaltung von einfügeoperationen in rekursiven skalierbaren vorlageninstanzen
DE69628374T2 (de) Datenverwaltungssystem
DE10101345A1 (de) Kombination aus aufgaben- und dateiorientierter Benutzerschnittstelle
DE19755798A1 (de) Verfahren und Vorrichtung für adaptive Computer-Directory- und File-Auswahl
DE10120869A1 (de) Verwendung eines Index für den Zugriff auf eine mehrdimensionale Subjektdatenbank
DE19835647A1 (de) Computersystem und Verfahren zum Lesen von HID-Dateneinheiten
DE19742804A1 (de) Computer-Verfahren und -Vorrichtung für interaktive Objektsteuerungen
DE10122231A1 (de) System, Methode, und Programmprodukt zum Speichern eines vorgelegten Formulars einer Web Page
DE19959765B4 (de) Datei-Editor für mehrere Datenuntermengen
DE10348337A1 (de) Inhaltsverwaltungsportal und Verfahren zum Kommunizieren von Informationen
DE69719641T2 (de) Ein Verfahren, um Informationen auf Bildschirmgeräten in verschiedenen Grössen zu präsentieren
DE60300984T2 (de) Methode und Computersystem für die Optimierung eines Boolschen Ausdrucks für Anfragebearbeitung
DE10121791B4 (de) Verfahren und Vorrichtung für dynamische Web-Seitenanordnung
DE60310881T2 (de) Methode und Benutzerschnittstelle für das Bilden einer Darstellung von Daten mit Meta-morphing
DE10250836A1 (de) System und Verfahren zum Zugreifen auf entfernte Lesezeichenlisten und Verwenden derselben

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