-
HINTERGRUND
DER ERFINDUNG
-
1. Gebiet der
Erfindung
-
Die vorliegende Erfindung betrifft
allgemein elektronische Karten und geographische Informationen,
und insbesondere ein Verfahren, eine Vorrichtung und einen Herstellungsartikel
zum Bereitstellen einer Zugriffsmöglichkeit auf Karten und geographische
Daten auf einem persönlichen
digitalen Assistenten (Personal Digital Assistant – PDA).
-
2. Beschreibung des einschlägigen Stands
der Technik
-
Computerimplementierte geographische
Informationssysteme (Geographic Information Systems – GIS) sind
im Stand der Technik bekannt. Solche GIS sorgen für den Zugriff
auf und die Anzeige von geographischen Informationen (z. B. Karten).
Ein GIS ist ein System aus Software, Hardware und Daten, das geographische
Daten (Straßenkarten, Grundstücksgrenzen,
Stromversorgungsleitungen, etc.) zusammen mit jedweden zugeordneten
Attributinformationen bereitstellt. Es kann dem Benutzer zeigen,
wo sich eine Straße
befindet, und es kann dem Benutzer auch den Straßennamen mitteilen, wann die
Straße
zuletzt geteert worden ist, ob es eine Einbahnstraße ist,
etc. Unter Verwendung eines GIS kann ein Benutzer komplexe Anfragen
(von einem Web-Browser an einen Server) ausführen, um z. B. herauszufinden,
wie viele Menschen nahe der Straße leben, welches Einkommensniveau
sie haben und wie die Raumordnungsregeln lauten. Ein GIS kann über ein
Netzwerk/das Internet arbeiten, wobei die geographischen Informationen
auf einem Server gespeichert werden und an einen Client/Benutzer übertragen
werden, wo die Informationen (Kartenbild und andere Daten) durch
einen Web-Browser angezeigt werden. Siehe z. B. WO 97/07467 A, wo
eine Karte des Gebiets eines Clientrechners über das Internet von einem
Kartenserver angefordert wird.
-
Damit der Client die geographischen
Informationen richtig anzeigen kann, ist ein Computersystem mit
hinreichenden Verarbeitungsfähigkeiten,
geeigneter Software und hinreichend viel Speicher erforderlich.
Beispielsweise kann es erforderlich sein, daß ein Client einen Computer
mit einem Web-Browser wie beispielsweise INTERNET EXPLORER oder NETSCAPE
NAVIGATOR nutzt und mindestens 10 Megabyte verfügbaren Speicher aufweist. Ferner kann
eine geeignete Internetverbindung (z. B. ein 28,8-Kbps-(Kilobit
pro Sekunde)-Modem) und ein Computersystem mit beträchtlicher
Verarbeitungsleistung (z. B. einer Mindestgeschwindigkeit von 100 MHz)
erforderlich sein, um die geographischen Daten so anzuzeigen, daß ein Benutzer
nicht übermäßig lange
warten muß,
um auf die Daten zuzugreifen und sie zu laden.
-
Techniker im Außendienstlbei Versorgungsbetrieben
wie beispielsweise die Mitarbeiter von Gasgesellschaften, Verkaufspersonal,
Installateure, Versicherungs-Sachbearbeiter
oder Beschäftigte
jedweder Art, die Reisen zu unterschiedlichen Orten erfordert, nutzen
oder benötigen
oft Zugriff auf Karten und geographische Informationen. Ferner müssen solche Techniker
oft mit einer Karte interagieren, um einschlägige Informationen zu erhalten.
Beispielsweise kann es sein, daß ein
Installateur/Auftragnehmer herausfinden möchte, wo sich die Gas-Hauptleitung oder
Wasserleitung einer Straße
befindet. Den Technikern steht jedoch, während sie sich vor Ort befinden,
oft keine Netzwerkverbindung zur Verfügung, und es ist mühsam und
unpraktikabel, einen Laptop oder einen Tischcomputer mit sich zu
führen.
Siehe z. B. US-A-5699244, wo ein PDA mittels eines Kabels mit einem
Tischcomputer mit Kartendaten verbunden ist. Es ist somit wünschenswert,
eine kleine (in der Hand zu haltende) tragbare Computervorrichtung
mit den Fähigkeiten
zu haben, geographische Informationen sowohl mit als auch ohne bestehende
Netzwerkverbindung (online und offline) anzuzeigen und mit diesen
Informationen zu interagieren.
-
In der Hand zu haltende Computergeräte nach
dem Stand der Technik (die auch als Handflächen-PCs (Palm PCs) oder persönliche digitale
Assistenten (PDAs) bezeichnet werden) werden häufig verwendet, um auf persönliche Informationen
zuzugreifen und solche Informationen zu nutzen. Viele Hand-Computergeräte sind
heute auf dem Markt verfügbar.
Typischerweise sind Hand-Computergeräte nur geringfügig größer als
die Größe einer
Handfläche
(daher der Name Handflächen-PC),
und sie weisen eine kleine Anzeige auf, um eine Vielzahl von Elementen
zu betrachten. Software kann auf einem PDA installiert werden, um
die Funktionalität
zu verbessern. Beispielsweise kann ein persönliches Produktivitätswerkzeug
installiert werden, um Zugriff auf einen Kalender, Kontaktdaten,
E-Mail, Surfen im Internet, Hörbücher und
Audioaufzeichnungsfähigkeiten
bereitzustellen. Auch können
Steckplätze
für Karten
verfügbar
sein, um zusätzlichen
Speicher oder andere Funktionen (z. B. ein Modem) bereitzustellen. Ferner
weisen einige PDAs Infrarot-(IR)-Schnittstellen zum Datenaustausch
auf.
-
Die von einem PDA bereitgestellte
Umgebung beinhaltet jedoch einige Schwierigkeiten für geographische
Informationssysteme im Hinblick auf Speicher, Datenablageplatz,
Prozessorgeschwindigkeit, Geschwindigkeit der drahtlosen Übertragung, und
Anzeigeeigenschaften. Zum Beispiel beinhalten PDAs üblicherweise
nur 96 K oder weniger Speicher, 2 MB (Megabyte) oder weniger Datenablageplatz, eine
Prozessorgeschwindigkeit von 13 MHz und eine Schwarz/Weiß- oder
Graustufenanzeige. Ferner müssen
Techniker im Außendienst,
die einen PDA verwenden, die angezeigten Karten anschauen und mit
ihnen interagieren können.
Die geringe von drahtlosen Übertragungsdiensten
bereitgestellte Bandbreite führt
in Verbindung mit den langsamen Prozessoren zu untragbaren Ladezeiten.
Die Techniker arbeiten ferner in vielen Fällen in Gräben oder an anderen Orten,
wo es nicht möglich
ist, eine Verbindung mit den Servern aufzubauen (was eine Offline-Verwendung
erforderlich macht).
-
Es besteht daher ein Bedürfnis nach
einem geographischen Informationssystem, das die oben beschriebenen
Mängel
bei einem tragbaren, in der Hand zu haltenden elektronischem Gerät wie z.
B. einem PDA überwindet.
-
Um zum besseren Verständnis von
Ausführungsformen
der Erfindung beizutragen, ist es nützlich, die bei geographischen
Informationssystemen des Stands der Technik verwendeten Daten zu
beschreiben. Geographische Informationssysteme des Stands der Technik
zeigen Kartenbilder an, die unter Verwendung von Rasterdaten erzeugt
werden. Rasterdaten stellen ein Kartenbild mit Punkten in einem Netz
dar. Beispielsweise können
sich bei X-Y-Achsen tausend Punkte in der X-Richtung und siebenhundertsechzig
Punkte in der Y-Richtung befinden. Jeder dieser Punkte stellt eine
Farbe dar. Beispielsweise ermöglichen
es einige Computersysteme, daß jeder Punkt
eine von acht Farben darstellt. Ein Kartenbild wird dann erzeugt,
indem eine Farbe für
jeden Punkt in dem Netz bestimmt wird.
-
Jedes Kartenbild ist insofern statisch,
als sich Teile des Kartenbilds nicht unabhängig voneinander ändern können. Das
heißt,
daß ein
Teil eines Kartenbilds während
des Betrachtens des Kartenbilds nicht verändert werden kann. Somit sind,
obwohl ein Kartenbild mehrere Informationsschichten enthalten kann,
die Informationen lediglich ein Bild ohne lebendige Daten. Wenn
ein Teil des Kartenbilds verändert
oder abgefragt werden soll, oder um irgendeine GIS-Analyse auszuführen, muß der Browser
mehr Daten von dem Hauptserver anfordern, und das gesamte Bild des
Kartenbildes wird ersetzt. Beispielsweise kann jedes Kartenbild,
wie z. B. eines, das die Vereinigten Staaten (US) darstellt, mehrere Informationsschichten
enthalten, wie z. B. Staaten, Bezirke und Straßen. Wenn ein Benutzer ein
Kartenbild der Vereinigten Staaten betrachtet und die Bezirke in
einem bestimmten Staat zu betrachten wünscht, wird das Kartenbild
durch ein anderes Kartenbild ersetzt, das die zusätzlichen
Informationen enthält.
Typischerweise werden die zusätzlichen
Informationen bei einem Server-Computer gespeichert, und das Kartenbild
wird bei einem Client-Computer
angezeigt. Wenn das angezeigte Kartenbild verändert werden soll, werden die
zusätzlichen
Informationen von dem Server-Computer heruntergeladen. Weil diese
zusätzlichen
Informationen in Gestalt von Rasterdaten vorliegen, ist das Herunterladen
typischerweise zeitaufwendig.
-
Ferner zeigen einige Computersysteme
Pläne an,
die aus vektorbasierten Daten in Dateien zum computergestützten Entwerten
(Computer Aided Design – CAD)
erzeugt werden. Vektorbasierte Daten setzen Beschreibungen von Elementen
des Plans ein, um den Plan zu erzeugen. Wenn beispielsweise der
Plan ein Liniensegment enthält,
beschreibt die CAD-Datei das Liniensegment durch einen Endpunkt und
eine Länge. Überdies
gestatten es diese Computersysteme den Benutzern, Daten in CAD-Dateien über das
Internet und Intranet-Systeme zu betrachten. Wenn beispielsweise
ein Benutzer an einem Computersystem einen Plan betrachten möchte, lädt das Computersystem
alle Daten in der CAD-Datei für diesen
Plan über das
Internet von einer Datenspeichereinrichtung herunter. Die CAD-Datei
enthält
typischerweise Daten, die unterschiedlichen Entwurfsebenen des Plans
entsprechen. In einigen Fällen möchte ein
Benutzer vielleicht nur einige der Daten in den Dateien betrachten,
beispielsweise die höchste Entwurfsebene
des Plans. In diesem Fall hat, obwohl nur ein Teil der Daten benötigt wird,
um den von dem Benutzer angeforderten Plan anzuzeigen, das Computersystem
bereits alle Daten in der CAD-Datei
heruntergeladen. Weil das Herunterladen aller Daten zeitaufwendig
ist, ist dies eine ineffiziente Vorgehensweise, wenn nur ein Teil
der Daten erforderlich ist, um die Anforderung eines Benutzers zu
erfüllen.
Ferner ist es möglicherweise
nicht möglich,
alle oder auch nur einen Teil der Daten in einen PDA herunterzuladen.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Eine Ausführungsform oder mehrere Ausführungsformen
der Erfindung stellt/stellen ein System zum Zugriff auf geographische
Informationen unter Verwendung eines persönlichen digitalen Assistenten
(PDA) bereit. Das System ermöglicht
das Betrachten von und die Interaktion mit geographischen Informationen
auf einem PDA. Derartige Informationen sind verfügbar, während der PDA mit einem Netzwerk
verbunden ist (d. h., online ist), und während der PDA von dem Netzwerk
getrennt ist (d. h., offline ist).
-
Der PDA bewahrt die Funktionalität, die üblicherweise
in einem gewöhnlichen
Client, der ein vollständiges
Computersystem aufweist, verfügbar
ist. Beispielsweise stellt der PDA Rasterkarten für mehrere
Zoomstufen bereit, wobei jede Zoomstufe mehrere Kacheln aufweist,
so daß ein "virtuelles Umherstreifen" auf einer Karte
möglich
ist. Der PDA stellt auch auswählbare
Vektorgeometrie (zum Interagieren mit und Hervorheben von Benutzerobjekten)
bereit, geographische Referenzinformationen (geo-referencing information)
zur Kartennavigation, Metadaten in Gestalt von Schichtdefinitionen
(Sichtbarkeit, Anzeigeattribute, etc.), Verknüpfungen mit Objektattributen
in Datenbanken, Verknüpfungen
mit von Firmen-Web-Servern erzeugten Objektberichten, hochladbare,
gemeinsam nutzbare Abgrenzungsdaten (redlining data), die aus Aufzeichnungen
vor Ort erzeugt werden, Offline-Zugriff auf einem PDA, und eine
kompakte PDA-Datenbank.
-
Somit werden interaktive Karten und
Geschäftsobjekte
zur Verfügung
gestellt, die auf einem PDA betrachtet und abgefragt werden können, und zwar
sowohl in einem Online-Modus als auch in einem Offline-Modus.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Es wird nun auf die Zeichnungen Bezug
genommen, in denen gleiche Bezugszeichen durchgehend entsprechende
Teile bezeichnen:
-
1 veranschaulicht
schematisch eine Hardware- und Softwareumgebung für die Architektur
gemäß einem
oder mehreren Ausführungsbeispiel/en
der Erfindung;
-
2A und 2B veranschaulichen die
Interaktion zwischen einem schlanken Client, einem Servlet und zusätzlichen
Komponenten gemäß einem
oder mehreren Ausführungsbeispiel/en
der Erfindung;
-
3 ist
ein Flußdiagramm,
das das Anzeigen einer Karte beim Starten eines Mapguide-Anwendungsprogramms
auf dem PDA gemäß einem oder
mehreren Ausführungsbeispiel/en
der Erfindung veranschaulicht;
-
4 ist
ein Flußdiagramm,
das veranschaulicht, wie ein Servlet gemäß einem oder mehreren Ausführungsbeispiel/en
der Erfindung auf Anforderungen von Client-Netzdiensten antwortet;
-
5 ist
ein Flußdiagramm,
das veranschaulicht, wie der Client und das Servlet gemäß einem
oder mehreren Ausführungsbeispiel/en
der Erfindung auf Anforderungen, Berichte (z. B. Karten) anzuzeigen,
antwortet;
-
6 veranschaulicht
die Implementierung gemäß einem
oder mehreren Ausführungsbeispiel/en
der Erfindung, bei der ein Techniker vor Ort offline arbeitet, so
daß der
Techniker nur zu Beginn und am Ende des Tages Netzzugang hat;
-
7 veranschaulicht
die Implementierung gemäß einem
oder mehreren Ausführungsbeispielen der
Erfindung, bei der ein Techniker vor Ort einen bei Bedarf aufbaubaren
Netzzugang (on-demand network access) zu dem Hintergrund-Bürosystem
(back office system) beibehält;
und
-
8 veranschaulicht
die Implementierung gemäß einem
oder mehreren Ausführungsbeispielen der
Erfindung, bei der ein Techniker vor Ort anfordert, daß ein Bericht
für auf
einer Karte auf dem PDA ausgewählte
Objekte angezeigt wird.
-
AUSFÜHRLICHE
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
-
In der folgenden Beschreibung wird
Bezug auf die begleitenden Zeichnungen genommen, die einen Teil
der Beschreibung bilden, und in denen zur Veranschaulichung mehrere
Ausführungsbeispiele der
vorliegenden Erfindung gezeigt sind.
-
Überblick
-
Eines oder mehrere Ausführungsbeispiel/e der
Endung stellt/stellen eine Möglichkeit
zur Verwendung des geographischen Informationssystems MAPGUIDE (verfügbar von
dem Inhaber der vorliegenden Erfindung) auf einem persönlichen
digitalen Assistenten (PDA) bereit. Software auf dem PDA wird in
die Lage versetzt, eine derartige Funktionalität bereitzustellen. Ferner vermittelt
ein Servlet, das verbesserte Serverfunktionalität bereitstellt, zwischen dem
Web-Server und dem PDA, um jedwede zusätzlich benötigte Verarbeitung zu bieten.
-
Rasterkarten stellen mehrere Zoomstufen bereit,
wobei jede Zoomstufe mehrere Kacheln umfaßt, die ein "virtuelles Umherstreifen" auf der Karte erlauben.
Ferner werden eine wählbare
Vektorgeometrie (zum Interagieren mit und Hervorheben von Benutzerobjekten),
geographische Referenzinformationen zur Kartennavigation, Metadaten
in Gestalt von Schichtdefinitionen (Sichtbarkeit, Anzeigeattribute,
etc.), Verknüpfungen
mit Objektattributen in Datenbanken, Verknüpfungen mit Objektberichten,
die von Firmen-Web-Servern erzeugt werden, hinaufladbare, gemeinsam nutzbare
Abgrenzungsdaten (redline data; erzeugt aus Aufzeichnungen vor Ort)
und Zugriff auf geographische Informationen sowohl online als auch
offline auf dem PDA bereitgestellt. Die Benutzer behalten demgemäß die Fähigkeit,
auf Karten und andere geographische Informationen zuzugreifen, während sie
offline und nicht mit einem Netzwerk oder Server verbunden sind.
-
Allgemeine Architektur
-
Hardwareumgebung
-
Die Verwendung eines modifizierten
MAPGUIDE GIS, das gegenwärtig
vom Inhaber der vorliegenden Erfindung verfügbar ist, auf einem PDA wird beschrieben.
Das bestehende MAPGUIDE GIS wird in US-A-5966135 mit dem Titel "VECTOR-BASED GEOGRAPHIC
DATA" (Vektorbasierte
geographische Daten) von Gregory Andrew Roy et al. ausführlicher
beschrieben.
-
1 veranschaulicht
schematisch eine Hardware- und Softwareumgebung der Architektur gemäß einem
oder mehreren Ausführungsbeispiel/en
der Erfindung. Ein typisches verteiltes Computersystem 100 nutzt
ein Netzwerk/Internet 118, um Techniker, die Clients wie
beispielsweise einen schlanken Client 102 (thin client;
z. B. ein PDA-, WIN-CE- oder PALM-Gerät) oder einen leistungsstarken
Client 104 (thick client; z. B. ein Computersystem, das
einen Browser ausführt)
benutzen, mit den Servercomputern 106 zu verbinden.
-
Ein leistungsstarker Client 104,
wie er bei dem bestehenden MAPGUIDE GIS eingesetzt wird, kann einen
Computer mit einem Web-Browser (erweitert durch ein Erweiterungsmodul
(plugin) oder ein Betrachtungsmodul (viewer)) aufweisen, der mit einem
Web-Server 110 verbunden ist, welcher mit einem MapGuide-Server 120 kommuniziert,
um auf Daten (z. B. Rasterdaten, Daten 126 im räumlichen Datenformat
(spatial data format – SDF,
Attributdaten 128, etc.) zuzugreifen.
-
Der Begriff des schlanken Client
beinhaltet drei Geräteklassen:
In der Hand zu haltende persönliche
Computer (HPC), in der Handfläche
zu haltende persönliche Computer
(PPC oder PDA) und intelligente Telefone. Wenn diese Geräte verwendet
werden, kann es sein, daß ein
schlanker Client 102 nicht die vollen Verarbeitungs- und Speicherfähigkeiten wie
ein leistungsstarker Client 104 bietet. Beispielsweise
haben schlanke Clients 102, wie oben im Hinblick auf PDAs
beschrieben, oft weniger als 100 K Speicher, weniger als 2–4 MB Ablageplatz,
Prozessorgeschwindigkeiten von 13 MHz und begrenzte Anzeigeattribute.
Demgemäß kann zusätzliche
Unterstützung
seitens des Servers 106 verwendet werden (z. B., allgemeinere
Anzeigedaten, vereinfachte Projektdateien, Dienste zum Entwirren,
und möglicherweise
Verwaltung des Benutzerstatus durch den Server). Eine typische Kombination
von Ressourcen kann ein Netzwerk/Internet 118 mit dem Internet, LANs,
WANs, SNA-Netzwerke
oder ähnliches,
Clients 102 und 104, die PDAs, persönliche Computer oder
Arbeitsplatzrechner sind, und Server 106, die persönliche Computer,
Arbeitsplatzrechner, Minicomputer oder Großrechner sind, aufweisen.
-
Das Netzwerk/Internet 118 verbindet
Client-Computer 102 und 104, die geeignete Software-Anwendungsprogramme 130 ausführen, mit
Server-Computern 106, die Web-Server 110, MapGuide-Server 120 und
Servlets 108 ausführen.
MapGuide-Server 120 und
Servlets 108 können
in dem Web-Server 110 angeordnet sein oder Teil des Web-Servers 110 sein.
Der Server 106 und seine Bestandteile können auch als Hintergrund-Bürosystem (back
office system) bezeichnet werden. Ein solches Hintergrund-Bürosystem
hält den
Zugriff auf Firmendatenbanken, Synchronisationswerkzeuge, etc. aufrecht.
Der Web-Server 110 ist typischerweise ein Programm wie
z. B. der IBM HyperText Transport Protocol (HTTP) Server oder der
Microsoft Internet Information Server. Das Servlet 108 kommuniziert mit
dem schlanken Client 102 über den Web-Server 110,
so daß jede
von einem schlanken Client 102 benötigte zusätzliche Verarbeitung von dem
Servlet 108 ausgeführt
werden kann. Das Servlet 108 kommuniziert mit dem MapGuide-Server 120,
um benötigte Kartendaten/-informationen
zu erhalten. Zusätzlich greift
das Servlet 108 auf Kartenfensterdateien (map windows files – MWF 124 zu,
um einschlägige
Daten zu erhalten. Die Server 106 können auch ein Common Gateway
Interface (CGI) 112 (oder ein Netscape Application Programming
Interface (NSAPI – Netscape
Anwendungsprogrammierschnittstelle), Internet Server Application
Programming Interface (ISAPI – Internet
Server Anwendungsprogrammierschnittstelle), etc.) ausführen, das
eine Schnittstelle zwischen dem Web-Server 110 und einem
Datenbankverwaltungssystem (DBMS – database managment system) 114 bildet,
welches verwendet werden kann, um einschlägige geographische Daten (wie
z. B. SDF-Daten, Rasterdaten, Open DataBase Connectivity (ODBC)
Daten, etc.) aus der Datenbank 116 auszulesen.
-
Allgemein weisen alle Bestandteile 108–116 und 120–130 Logik
und/oder Daten auf, die in einem Gerät, Medium, Signal oder Träger verkörpert oder aus
einem Gerät,
Medium, Signal oder Träger
auslesbar sind, z. B. einem Datenspeichergerät, einem Datenübertragungsgerät, einem
Ferncomputer, oder einem Gerät,
das mit dem Computer über
ein Netzwerk oder über
ein anderes Datenübertragungsgerät verbunden
ist, etc. Überdies
führt/führen diese
Logik und/oder diese Daten, wenn sie gelesen, ausgeführt und/oder
interpretiert wird/werden, zu den Schritten, die erforderlich sind,
um die vorliegend ausgeführte Erfindung
zu implementieren und/oder zu verwenden.
-
Somit können Ausführungsformen der Erfindung
unter Verwendung üblicher
Programmier- und/oder Entwicklungstechniken, die zur Erzeugung von
Software, Firmware, Hardware oder irgendeiner Kombination davon
dienen, als Verfahren, Vorrichtung oder Herstellungsartikel implementiert
werden. Der Ausdruck "Herstellungsartikel" (oder wahlweise "Computerprogrammprodukt"), wie er hier verwendet wird,
soll Logik und/oder Daten, auf die von irgendeinem computerlesbaren
Gerät,
Träger
oder Medium zugegriffen werden kann, umfassen.
-
Software-Ausführungsbeispiele
-
Gemäß den Hardwarebeschreibungen
sind leistungsstarke Clients 104 vollständige Computersysteme mit Web-Browsern
und vollständigen
Verarbeitungsfähigkeiten.
Die Hardwarebeschränkungen eines
PDA-Geräts
erfordern jedoch Softwarebeschränkungen.
Demgemäß wird,
um ein geographisches Informationssystem auf einem PDA zu ermöglichen,
ein schlanker Client 102, der ein Anwendungsprogramm 130 ausführt, bereitgestellt.
Zur Versorgung des schlanken Client kann zusätzliche Unterstützung auf
dem Server 106 verwendet werden. Beispielsweise kann der
Server 106 allgemeinere Anzeigedaten, vereinfachte Projektdateien,
Dienste zum Entwirren, und möglicherweise
Verwaltung des Benutzerstatus durch den Server bereitstellen.
-
Die Architektur der Erfindung umfaßt ein Datenmodell,
das statische Rasterschichten (statische Rasterdaten für mehrere
Schichten) mit lebendigen Vektorobjekten kombiniert, um gute Leistung
beim Anzeigen und Herunterladen zu liefern, und das auch interaktive
auswählbare
Objekte bereitstellt.
-
Vektorbasierte Karten (auch bezeichnet
als "Kartenschichtdaten", die aus geographischen
Informationen/Daten für
eine Schicht oder mehrere Schichten bestehen) werden von einem Servlet 108 geliefert
und sind eine kodierte und räumlich
indizierte Vektordarstellung der geographischen Daten. Solche Vektorkarten
sorgen für
eine "interaktivere" Anzeige mit flexibler
Vergrößerung auf
dem Client 102, Hervorhebungen, etc. Alternativ kann eine
Repräsentation
als Scalable Vector Graphics (SVG – größenveränderliche Vektorgraphik), wie
von dem WorldWideWeb Consortium (W3C) vorgeschlagen, verwendet werden.
SVG gestattet drei Arten von Graphikobjekten: Vektorgraphikformen
(z. B. Pfade, die aus geraden Linien und Kurven bestehen), Bilder
und Text. Graphikobjekte können
gruppiert, gemäß einem Stil
ausgestaltet, umgewandelt und in vorher wiedergegebene (gerenderte)
Objekte eingefügt
werden.
-
Ein Anzeigenhintergrund (der rasterbasiert ist)
für die
geographischen Daten und die Anzeigeschichten wird als mehrschichtige
Bibliothek aus Rasterkacheln verwaltet. Die Rasterschichten werden
durch das Servlet 108 aus mehreren Vektorschichten zusammengefügt, was
zu besserer Leistung beim Herunterladen und Anzeigen führt. Die Rasterkarte
auf dem PDA kann verschoben (Paradigma des virtuellen Umherstreifens)
und in mehreren Stufen vergrößert/verkleinert
werden. Ein intelligenter Zwischenspeicher (smart-cache) im schlanken
Client 102 gestattet das Austauschen (swapping) kompakter
Kacheln von der Datenbank in den Speicher auf eine für das Gerät geeignete
Weise. Eine einzige Arbeitsfläche
(workspace) pro Karte stellt die Definition der Karte und die Anzeigeattribute
für die Schichten
auf dem schlanken Client 102 bereit.
-
Benutzer des PDA (z. B. Techniker)
können Markierungen
und Anmerkungen auf der Karte anbringen, indem sie eine Papier-
und Bleistift-Metapher benutzen. Um eine derartige Auszeichnung
zu unterstützen,
stellen Ausführungsbeispiele
ein Auszeichnungsobjekt bereit, das aus geometrischen Markierungen
(Punkten, Linien, Polygonen, Symbolen), GPS-Eingabekoordinaten (GPS
= global positioning system – globales
Ortsermittlungssystem), Anmerkungen (angeordneter Text mit Informationen über den
Zeichensatz, etc.) besteht, und sie stellen ein System für geographische
Bezugspunkte (geo-reference system) bereit, das es gestattet, das Auszeichnungsobjekt
unter Verwendung des Servers 106 in eine räumliche
Datenbank 116 zu integrieren und auf anderen Karten anzuzeigen.
Das Auszeichnungssystem fängt
Benutzereingaben auf und gestattet es, Auszeichnungsobjekte zum
Server 106 hinaufzuladen. Außerdem ist das Maß der gemeinsamen
Nutzung seitens des Servers 106 einstellbar (z. B. persönlich, Gruppe,
allgemein, etc.).
-
Einzelheiten
der Architektur
-
Schlanker Client 102
-
Der Benutzer eines schlanken Client 102 wie z.
B. eines PDA läßt sich
unter Verwendung des Anwendungsprogramms 130 geographische
Informationen (z. B. Karten) anzeigen. Die erfindungsgemäße Architektur
unterstützt
unterschiedliche schlanke Clients 102 wie z. B. WINDOWS-CE-2.x-Geräte und intelligente
Telefone mit bitabbildender Graphik (z. B. SYMBIAN, MOTOROLA, NOKIA,
PSION). Die Hochfahrzeit für
das GIS auf dem PDA ist mit anderen Anwendungsprogrammen auf dem
PDA vergleichbar. Der schlanke Client 102 (und das Anwendungsprogramm 130)
ist ferner in der Lage, nicht-räumliche Daten,
die innerhalb des GIS-Anwendungsprogramms gesammelt wurden, in einem
Format zu speichern, das sich zum Hinaufladen an oder zum Synchronisieren
mit relationalen Datenbankverwaltungssystemen (RDBMS – relational
database managment system) großer
Hersteller eignet.
-
Der schlanke Client 102 unterstützt eine
Vielzahl von Netzzugriffsmustern. Beispielsweise kann der schlanke
Client 102 periodisch (z. B. am Anfang und/oder am Ende des
Tages), bei Bedarf (z. B. über ein
Funkmodem) oder ständig
mit dem Hintergrund-Bürosystem
(z. B. Server 106) verbunden sein.
-
2A und 2B veranschaulichen die
Interaktion zwischen dem schlanken Client 102, dem Servlet 108 und
weiteren Komponenten. Der schlanke Client 102 ist aus einem
Anwendungsprogramm 130 gebildet, welches Teilkomponenten
aufweist, die auf dem PDA das Betrachten eines Kartenmodells, das
Navigieren in einem Kartenmodell und das Abfragen eines Kartenmodells
gestatten. Der schlanke Client 102 und das Anwendungsprogramm 130 weisen auch
Dienste auf, die die Verwaltung von Geschäftsattributen 128,
die Kommunikation mit dem Servlet 108 und die Verwaltung
persistenter Daten ermöglichen.
Demgemäß bezeichnet
das Anwendungsprogramm 130 die Gesamtheit der Teilkomponenten
auf dem schlanken Client 102 (d. h. die Teilkomponenten 202–222 und 238).
-
Um den schlanken PDA-Client 102 mit
den geeigneten Kartendaten zu initialisieren, fährt ein Benutzer die Synchronisationsanwendung 238 hoch. Die
Synchronisationsanwendung 238 ist das Anwendungsprogramm
auf dem schlanken PDA-Client 102, das für die Synchronisation von Informationen
und Kartendaten, die in einer Datenbank 220 auf dem schlanken
PDA-Client 102 gespeichert sind, mit den einschlägigen Kartendaten
verantwortlich ist. Die Synchronisationsanwendung 238 nutzt
die Netzwerkdienste 218, um mit dem Servlet 108 (über den Web-Server 110)
zu kommunizieren und um die einschlägigen Kartendaten zu erhalten.
Die Netzwerkdienst-Komponente 218 stellt
Dienste zur Kommunikation (und zum Datenaustausch) in beide Richtungen
mit dem Servlet 108 (d. h., der Verbindung mit 2B folgend) bereit. Demgemäß kann die
Synchronisationsanwendung 238 mit dem Servlet 108 kommunizieren,
um den Ort der Kartendaten zu erhalten. Danach greift die Synchronisationsanwendung 238 auf
die Kartendaten zu/erhält
die Kartendaten von der angegebenen Stelle.
-
Nach dem Empfang der Kartendaten
in der Synchronisationsanwendung 238 werden persistente Dienste 208 verwendet,
um die Daten (indem diverse E/A-Vorgänge (Ein-/Ausgabe-Vorgänge) ausgeführt werden)
in einer PDA-Katalog-Datenbank 220 zu speichern. Danach
ist der Synchronisationsvorgang abgeschlossen. Eine derar tige Synchronisation kann,
je nach der Konfiguration des schlanken PDA-Client 102,
so oft wie gewünscht
ausgeführt werden.
Wenn beispielsweise der schlanke Client 102 ein drahtloses
Modem aufweist, kann der Synchronisationsvorgang ausgeführt werden,
wann immer er gewünscht
wird. Wenn jedoch eine direkte Verbindung benötigt wird, kann die Synchronisation nur
erfolgen, wenn der schlanke Client 102 mit dem Netzwerk 118 (oder
mit dem Server 106) verbunden ist.
-
Die MapGuide-PDA-Komponente 202 ist
das hauptsächliche
Anwendungsprogramm, das die Benutzerschnittstelle (UI – user interface) 204 bereitstellt
und auf Ereignisse antwortet. Die Benutzerschnittstellenkomponente 204 ist
der Platzhalter für die
Benutzerschnittstellen-Steuerelemente, die speziell für den PDA
vorgesehen sind. Demgemäß kann die
MapGuide-PDA-Komponente 202 durch den Benutzer initialisiert/gestartet
werden, sobald die einschlägigen
Kartendaten unter Verwendung der Synchronisationsanwendung 238 geladen
worden sind.
-
Die MapGuide-PDA-Komponente 202 fordert
die Persistenzdienste-Komponente 208 auf, die aktive Arbeitsfläche 206 zu
laden. Die aktive Arbeitsfläche 206 stellt
die Definition des Kartenmodells 210 bereit/erzeugt diese.
Somit kann die aktive Arbeitsfläche 206 als
minimierte Fassung der herkömmlichen Kartendatei
(als Kartenfensterdatei (MWF – map
window file) bezeichnet) für
den PDA 102 betrachtet werden. Das Kartenmodell 210 stellt
die Dienste bereit, die das Unterhalten und Verändern von Kartenschichten und
Kartenobjekten betreffen.
-
Die Persistenzdienste-Komponente 208 lädt die Arbeitsfläche 206,
indem sie unter Verwendung der lokalen PDA-Datenbank (PDA-Katalog-Datenbank 220)
objektbasierte Datenbank-Verwaltungsdienste (ODBMS – object
based database management services) bereitstellt. Die PDA-Katalog-Datenbank 220 ist
die lokale Datenbasis mit geographischen Informationen, die sich
auf dem PDA befindet. Die PDA-Katalog-Datenbank verkapselt somit die lokale
PDA-Katalog-Datenbasis und stellt die Anwendungsprogrammierschnittstelle
(API – application programming
interface) zur Bearbeitung von Datensätzen bereit.
-
Die Ansicht-Komponente 212 reagiert
auf Veränderungen
in dem Kartenmodell 210 und aktualisiert, wenn erforderlich,
die Kartenanzeige. Die Geschäftsattributdienste-/
-verwalter-Komponente 214 stellt Dienste bereit, die sich
auf das Verwalten nichträumlicher
Geschäftsattribute
beziehen.
-
Die beim Client befindlichen Betrachtungsdienste 216 interagieren
mit der Kartenmodellkomponente 210. Die Komponente 216 für die beim
Client befindlichen Betrachtungsdienste stellt eine flexible Architektur
bereit, die es Betrachtungsdienstkomponenten erlaubt, entweder beim
Client 102 oder beim Servlet 108 angeordnet zu
sein. Diese Dienste können
durch zwei Komponenten dargestellt werden: Die Komponente 216 in 2A für beim Client befindliche Betrachtungsdienste
und die Komponente 232 in 2B für beim Servlet
befindliche Betrachtungsdienste. Die von den beim Client befindlichen Betrachtungsdiensten 216 und
den beim Servlet befindlichen Betrachtungsdiensten 232 ausgeführten Dienste
können
kombiniert werden und gänzlich beim
Client 102 oder beim Server 106 angeordnet sein.
Alle Komponenten des Client 102 senden Anforderungen für Betrachtungsdienste
an die beim Client befindlichen Betrachtungsdienste 216.
Die Komponente 216 für
die beim Client befindlichen Betrachtungsdienste führt den
Dienst aus, wenn die erforderlichen Komponenten beim Client 102 lokal
vertügbar sind.
Wenn nicht, kann die Anforderung über die Synchronisationsanwendung 238 an
die beim Servlet befindlichen Betrachtungsdienste 232 delegiert
werden. Beispielsweise können,
bei einer gegebenen Konfiguration des Client, Dienste für das Zeichnen
von Mehrfachlinien (Polylinien) beim Client 102 verfügbar sein,
während
Pufferdienste beim Servlet 108 verfügbar sein können.
-
3 ist
ein Flußdiagramm,
das das Anzeigen einer Karte beim Hochfahren eines Anwendungsprogramms 130,
wie beispielsweise der MapGuide-Anwendung 202, auf dem
PDA gemäß einem oder
mehreren Ausführungsbeispiel/en
der Erfindung veranschaulicht. Bei Schritt 300 wird der
MapGuide-PDA 202 zum Hochfahren aufgefordert. Bei Schritt 302 fordert
der MapGuide-PDA 202 die Persistenzdienste 208 auf,
die aktive Arbeitsfläche 206 (aus
der lokalen PDA-Datenbank 220) zu laden. Bei Schritt 304 nutzt
die Arbeitsfläche 206 Kartendefinitionen,
um ein neues Kartenmodell 210 zu erzeugen. Das Kartenmodell 210 besetzt
bei Schnitt 306 Schichten in dem Modell. Das Besetzen in
Schritt 306 kann durchgeführt werden, indem die Persistenzdienste 208 verwendet
werden, um Daten in Schritt 306A von der lokalen PDA-Datenbank 220 zu
erhalten, und/oder indem die Anforderung in Schritt 306B an
die beim Client befindlichen Betrachtungsdienste 216 übermittelt
wird. Wenn die beim Client befindlichen Betrachtungsdienste 216 bestimmen,
daß der Dienst
die beim Servlet befindlichen Betrachtungsdienste 232 benötigt, delegieren
die beim Client befindlichen Betrachtungsdienste 216 die
Anforderung in Schritt 308 über die Synchronisationsanwendung 238 and
die Netzwerkdienste 218.
-
In Schritt 310 werden alle
heruntergeladenen Daten optional in der lokalen Datenbank 220 unter Verwendung
der Persistenzdienste 208 wie in einem Cache zwischengespeichert.
Das Modell 210 benachrichtigt Zuhörer (einschließlich der
Ansicht 212) in Schritt 312 von der Änderung.
Die Ansicht 212 aktualisiert sich selbst, indem sie Anzeigeattribute
von der Arbeitsfläche 206 erhält und die
Kartenanzeige in Schritt 314 aktualisiert.
-
Nach dem Betrachten der Karte kann
ein Benutzer beim schlanken Client 102 die Karte (d. h.,
die Karte und die Attributdaten) unter Verwendung eines Stifts wie
gewünscht
auszeichnen oder mit Abgrenzungen versehen. Auszeichnungsdaten umfassen Pixeldaten
für ein
Auszeichnungselement. Das Anwendungsprogramm 130 stellt
die Fähigkeit
bereit, Auszeichnungsdaten vom Benutzer über die Benutzerschnittstelle 204 zu
erhalten. Das Anwendungsprogramm 130 erzeugt dann eine
die Auszeichnungsdaten aufweisende Datei und sorgt für das Heraufladen
der Datei von dem schlanken Client 102 zum Server 106.
Die Datei wird zum Server 106 heraufgeladen indem eine
Socket-Verbindung aufgebaut wird, ein Verzeichnis vorhandener Kartensätze erhalten
wird, nach Auszeichnungsdaten gesucht wird, die den auf dem schlanken
Client 102 vorhandenen Kartensätzen zugeordnet sind, und alle
vorhandenen Auszeichnungsdaten an den Server 106 hochgeladen
werden.
-
Wie oben beschrieben, kann das Auszeichnungselement
ein Auszeichnungsobjekt aufweisen, das unterschiedliche Mechanismen
zum Auszeichnen einer Karte bereitstellt. Beispielsweise kann der Benutzer
eine Abgrenzungslinie (redline line) zeichnen, wobei das Auszeichnungsobjekt
ein Abgrenzungsobjekt ist. Um eine Abgren zungslinie zu zeichnen,
ermittelt das Anwendungsprogramm 130, wenn ein neues Abgrenzungsobjekt
gewählt
worden ist, und zeichnet die Stiftbewegungen in einem Abgrenzungsobjekt
auf, während
sich der Stift in Kontakt mit dem Bildschirm des schlanken Client 102 befindet.
-
In einem weiteren Beispiel sind die
Auszeichnungsdaten eine Notiz, und das Anwendungsprogramm 130 ist
dazu eingerichtet, die Auszeichnungsdaten in einem Notizobjekt zu
erhalten. Um eine Notiz einzufügen/zu
zeichnen, bestimmt das Anwendungsprogramm 130, daß ein neues
Notizobjekt ausgewählt
worden ist, nimmt eine Benutzerauswahl eines Ankerpunkts in einer
Anzeige einer Karte auf dem schlanken Client 102 an, zeigt
auf dem schlanken Client 102 eine Texteingabefläche 204 an,
nimmt eine Texteingabe des Benutzers in der Texteingabefläche 204 an
und zeigt ein Sinnbild am Ankerpunkt an, das die Notiz darstellt.
-
Um die Auszeichnungsdaten beim Server 106 aufzunehmen,
ist der Server 106 dazu eingerichtet, eine Datei zu erhalten,
die Auszeichnungsdaten für
die Karte und Daten für
Attribute 128 enthält,
die Auszeichnungsdaten in Koordinatendaten umzuwandeln, und die
Koordinatendaten zu verwenden, um eine Datei im Standard-Datenformat
(SDF – standard data
format) zu erhalten, die verwendet werden kann, um die Auszeichnungsdaten
mit der Karte und den Daten für
die Attribute 128 zu überlagern.
Jede Komponente auf dem Server 106, einschließlich des Servlet 108,
kann eine derartige Funktionalität
bereitstellen.
-
Servlet 108
-
Ein Servlet 108 stellt alle
zusätzlichen
Verarbeitungsvorgänge
bereit, die von dem schlanken PDA-Client 102 und dem Anwendungsprogramm 130 benötigt werden.
Um die Technologie bestehender Web-Server 110 und Servlets
vorteilhaft zu nutzen, kann das Servlet 108 unter Verwendung
der Java-Programmiersprache implementiert werden. Alternativ kann
jede Programmiersprache verwendet werden, die eine Funktionalität ähnlich wie
bei Java-Servlets ausführt/unterstützt. Demgemäß wird ein einziger
Codestrom benutzt, um das Servlet 108 auf mehreren Plattformen
zu implementieren. Eine Mindestanzahl von Einschränkungen über diejenigen hinaus,
die im Rahmen des Web-Servers 110 und des Servlet 108 bestehen,
sorgen für
Skalierbarkeit. Beispielsweise kann jede Anforderung des Client 102 in sich
abgeschlossen sein, so daß sie
von einer anderen Instanziierung des Servlet 108 beantwortet
wird.
-
Das Servlet 108 kann sich
in einem Web-Server 110 befinden und antwortet auf Anforderungen
für räumliche
Daten und Attributdaten, die sich auf Kartenobjekte beziehen, von
mehreren schlanken Clients 102. Das Servlet 108 verarbeitet die
Anforderungen, führt
die Visualisierung und Kodierung durch und legt die Resultate an
einer Stelle ab, auf die die schlanken Clients 102 zugreifen
können.
Zusätzlich
kann das Servlet 108 eine Karte oder mehrere Karten, die
in einem Kartensatz enthalten ist/sind, identifizieren, die Kartendaten
für die
eine oder mehrere identifizierte Karte/n vom Server 106 erhalten,
und den die Kartendaten aufweisenden Kartensatz erzeugen, bevor
eine Anforderung der Kartendaten von einem Client 102 erhalten
wird. Ein derartiger Zugriff auf Kartendaten und eine derartige Erzeugung
eines Kartensatzes können
von dem Servlet 108 in Reaktion auf den Erhalt einer Anforderung,
die sich auf eine Arbeitsanweisung bezieht (z. B. eine Anforderung,
eine Arbeitsanweisung zu verändern,
zu löschen
oder hinzuzufügen)
ausgeführt werden.
-
Zusätzlich kann das Servlet 108 den
Zugriff auf einen Kartensatz (d. h., Kartendaten) und die Erzeugung
eines Kartensatzes unterstützen,
wobei mehrere Hauptprozessoreinheiten (central processing units)
parallel verwendet werden. Um für
eine derartige Unterstützung
von Parallelverarbeitung zu sorgen, wählt das Servlet 108 eine
oder mehrere Karte/n in einem Kartensatz aus, instanziiert unterschiedliche
Fäden auf
mehreren Hauptprozessoreinheiten, um die Kartendaten für die eine
oder mehrere Karte/n von dem Server 106 parallel zu erhalten,
baut eine vorübergehende
Datenbank auf, die die Kartendaten enthält, und erzeugt unter Verwendung
der vorübergehenden
Datenbank einen Kartensatz, der die Kartendaten aufweist.
-
2B veranschaulicht
die Teilkomponenten des Servlet 108. Der Anforderungsvermittler 224 lauscht
nach Anforderungen von mehreren Clients 102 (d. h., von
-
2A)
und koordiniert solche Anforderungen und übermittelt die Anforderungen
an den Anforderungsverarbeiter 230. Der Anforderungsverarbeiter 230 verarbeitet
die Anforderung, indem er Dienste benutzt, die von der Komponente 232 der
beim Servlet befindlichen Betrachtungsdienste bereitgestellt werden.
Der Anforderungsverarbeiter 230 nutzt auch die Visualisiererkomponente 228 und
die Kodiererkomponente 226, um kartographisches Entwirren und
Kodieren der Daten auszuführen,
die zum Client 102 zurückgesendet
werden sollen oder auf die der Client 102 zugreifen soll.
-
Die Kartendaten auf dem Server 106 weisen für ein Objekt
der Kartendaten mehrere Rasterkachel- und Vektorobjektdaten auf.
Die Visualisiererkomponente 228 führt eine einstellbare Entwirrung der
Daten auf eine Weise aus, die für
die Anzeige des schlanken Client 102 geeignet ist. Demgemäß verallgemeinert
der Visualisieren 228 die Form eines Vektorobjekts, indem
er einige der Vektorobjektdaten ausfiltert. Die Kodiererkomponente 226 kompaktifiziert
und kodiert die Objekte, auf die der schlanke Client 102 zugreift.
Die Kodiererkomponente 226 kodiert einen Ort eines Objekts
differentiell, indem ein Versatz des Orts des Objekts bezüglich eines
Ursprungs der Rasterkachel kodiert wird, bei der sich das Objekt
befindet. Ferner indiziert die Kodiererkomponente 226 die
Vektorobjektdaten räumlich,
indem sie die Grenzen des Objekts kodiert.
-
Die Rasterkacheln sind in einem Format
gespeichert, bei dem die Reihe die größte Wertigkeit aufweist (row
major format). Ein Index für
jede Rasterkachel wird gespeichert, der den Rasterkacheln in einer
Ordnung folgt, die der Speicherung der Rasterkacheln entspricht.
Der Index weist einen Hinweis auf einen Datensatz auf, der die generalisierten
Vektorobjektdaten und den Versatz und die Grenzen für jede Rasterkachel
enthält.
-
Indem die Kartendaten generalisiert,
kodiert und räumlich
indiziert werden, kann der schlanke Client 102 ein durch
einen Punkt angegebenes Objekt bestimmen, indem die Grenzen einer
oder mehrerer Rasterkachel/n ausgewertet werden, um die den Punkt
enthaltende Rasterkachel zu bestimmen, und indem die Grenzen von
Objekten innerhalb der den Punkt enthaltenden Rasterkachel ausgewertet
werden, um zu bestimmen, welches Objekt den Punkt enthält.
-
Die Komponente 232 für die beim
Servlet befindlichen Betrachtungsdienste repräsentiert den beim Servlet befindlichen
Teil der Betrachtungsdienste (wie oben unter Bezugnahme auf 2A beschrieben) und kommuniziert
mit dem MapGuide-Server 120. Der MapGuide-Server 120 kann
ein Web-Server 110 oder eine Komponente des Servers 106 sein.
-
4 ist
ein Flußdiagramm,
das veranschaulicht, wie das Servlet 108 auf Anforderungen antwortet,
die über
die Netzwerkdienste 218 empfangen werden. In Schritt 400 fordern
die Netzwerkdienste 218 den Anforderungsvermittler 224 beim Servlet 108 auf,
neue Schichten (für
dynamische Daten) herunterzuladen. In Schritt 402 übermittelt
der Anforderungsvermittler 224 (nachdem er, falls erforderlich,
Anforderungen von anderen Clients 102 koordiniert hat)
die Anforderung zum Anforderungsverarbeiter 230. Der Anforderungsverarbeiter 230 übermittelt
in Schritt 404 die Anforderung an die beim Servlet befindlichen
Betrachtungsdienste 232 und erhält die Ergebnisse. Die Ergebnisse
werden (falls angegeben) unter Verwendung des Visualisierers 228 in
Schritt 406 entwirrt und unter Verwendung des Kodierers 226 in
Schritt 408 zur Kompaktifizierung kodiert. Die Ergebnisse
(nach der Visualisierung und Kodierung) oder der Ort/die Orte, an
dem/denen auf die Ergebnisse zugegriffen werden kann, wird/werden
in Schritt 410 an die Netzwerkdienste 218 des Client
zurückgesendet.
-
5 ist
ein Flußdiagramm,
das weiter veranschaulicht, wie der Client 102 und das
Servlet 108 auf Anforderungen, Berichte (z. B. Karten)
anzuzeigen, reagieren. In Schritt 500 erhält der Benutzer
die Gelegenheit, den Inhalt der ausgewählten Kartenobjekte zu verändern. In
Schritt 502 werden die Schlüssel der ausgewählten Objekte
in der PDA-Datenbank 220 gesichert. Der Status des MapGuide-PDA 202 wird
in Schritt 504 in der PDA-Datenbank 220 gesichert.
Ein Berichts-Anwendungsprogramm (wie das MapGuide-PDA-Anwendungsprogramm 202)
wird in Schritt 506 gestartet, und die Schlüssel der
ausgewählten
Objekte werden von der PDA-Datenbank 220 wieder eingelesen.
-
Für
lokale Berichte werden die Geschäftsattribute
der ausgewählten
Objekte in Schritt 510 aus der PDA-Datenbank 220 ausgelesen,
und der Bericht wird in Schritt
512 formatiert und angezeigt. Für Berichte,
die umfassendere Formatierungsdienste (z. B. COLD FUSION Anwendungsserver)
benötigen,
oder die Daten benötigen,
die nicht in der lokalen PDA-Datenbank 220 gespeichert
sind, wird eine Anforderung an die Netzwerkdienste 218 (über die Synchronisationsanwendung 238)
herausgegeben, um den Bericht in Schritt 508 zu erhalten.
-
Nachdem der Benutzer die Betrachtung
des Berichts und möglicherweise
anderer Berichte, die damit verknüpft sind, erledigt hat, wird
die MapGuide-PDA-Anwendung 202 in Schritt 514 neu
gestartet, wobei das Anwendungsprogramm 202 seinen letzten gespeicherten
Status wiederherstellt.
-
Beispielhafte
Implementierungen
-
6–8 veranschaulichen verschiedene
Implementierungen/Gegebenheiten gemäß einem oder mehreren Ausführungsbeispiel/en
der Erfindung. In den Implementierungen von 6–8 treten Vorkommnisse (z.
B. Fehlervorkommnisse) im Außendienst
auf, wobei ein Außendienst-Techniker 602 Aufträge erhält, an dem
Ort des Fehlerereignisses eine Reparatur durchzuführen/zu
arbeiten. Der Techniker 602 greift auf einem persönlichen
digitalen Assistenten auf Kartendaten und geographische Daten für den Ort
des Fehlers zu und interagiert mit den Kartendaten und den geographischen
Daten und aktualisiert diese.
-
Außendienst-Techniker, der ohne
Netzwerkverbindung(offline) arbeitet
-
Im Hinblick auf 6 erzeugt eine Fehlerbenachrichtigung 606 ein
Fehlerbenachrichtigungsereignis für das Hintergrund-Bürosystem 604.
Somit benachrichtigt, wenn an einem Ort im Außenbereich ein Fehler (z. B.
eine geborstene Hauptwasserleitung oder ein defektes Straßenlicht)
auftritt, ein Benachrichtiger 600 das Hintergrund-Bürosystem 604, wo das
Fehlerereignis zur Verarbeitung aufgezeichnet wird. Das Fehlerbenachrichtigungssystem 606 arbeitet
gegenüber
den Aktivitäten
des Technikers 602 asynchron.
-
6 veranschaulicht
die Implementierung, bei der ein Außendienst-Techniker 602 ohne
Netzwerkverbindung arbeitet, so daß der Techniker nur am Anfang
und Ende des Tages Zugriff zum Netzwerk hat. Am Anfang des Tages
fragt der Techniker seine/ihre Aufgaben 608 beim Büro 604 ab,
indem er/sie unter Verwendung der Synchronisationsanwendung 238 auf
dem PDA 102 mit dem Hintergrund-Bürosystem 604 kommuniziert.
Die Aufgaben werden an das Servlet 108 übermittelt. Das Servlet 108 besorgt
sich die für
die Aufgaben relevanten Informationen. Für jede Aufgabe besorgt sich
das Servlet 108 Karten- und Attributdaten, die von dem
Hintergrund-Bürosystem 604 heruntergeladen 616 werden sollen.
Danach werden die Daten (durch das Servlet 108) an einem
Ort abgelegt, auf den der PDA-Client 102 zugreifen kann.
Der PDA-Client 102 lädt
die Daten herunter und speichert sie in der lokalen PDA-Datenbank 220 (wie
im Hinblick auf 4 beschrieben).
-
Nach Erhalt der erforderlichen Informationen trennt
der Techniker 602 die Verbindung zum Netzwerk 118.
Je nach Bedarf greift der Techniker 602 auf den MapGuide-PDA 202 zu,
um geographische Informationen einschließlich einer oder mehrerer Schichten
zu erhalten und anzuzeigen 610. Somit kann der Techniker 602 ein
Fehlerereignis 610 (d. h., bei dem ein System versagt hat,
wie beispielsweise eine gebrochene Wasser-Hauptleitung) orten und
untersuchen, indem er eine Karte des betreffenden Gebiets betrachtet
und einschlägige
Attributdaten betrachtet. Demgemäß startet
der Techniker 602 die PDA-Anwendung 202 und gibt
den gegenwärtigen
Auftrag an. Ansprechend darauf zeigt das Anwendungsprogramm 202 eine
Karte des einschlägigen
Gebiets an (d. h., wie im Hinblick auf 5 beschrieben). Um irgendwelche Veränderungen
auf der Karte zu vermerken oder den Status einer Aufgabe zu aktualisieren, nimmt
die PDA-Anwendung 202 die die Aufgabe betreffenden Zustandsinformationen
von dem Techniker 602 auf und speichert die Informationen
in der lokalen PDA-Datenbank 220 (d. h., die Komponente 612 zur
lokalen Aktualisierung des Status).
-
Am Ende des Tages, wenn der PDA 202 online
und mit dem Netzwerk 118 verbunden ist, kann der Techniker 602 den
PDA 202 unter Verwendung der Synchronisationsanwendung 238 mit
dem Hintergrund-Bürosystem 604 synchronisieren.
Mit anderen Worten überträgt der Techniker 602 die
Statusinformationen, die sich auf die Aufgaben des Tages beziehen,
von der lokalen PDA-Datenbank 220 über das Netzwerk 118 (d.
h., die Komponente 614) an das Hintergrund-Bürosystem 604.
-
Außendienst-Techniker
mit Netzwerkzugang
-
7 veranschaulicht
die Implementierung, bei der ein Außendienst-Techniker 602 einen
bei Bedarf aufgebauten Zugriff zum Hintergrund-Bürosystem 604 über das
Netzwerk 118 beibehält. Ähnlich wie
bei der Implementierung gemäß 6 erzeugt eine Fehlerbenachrichtigung 606 ein
Fehlerbenachrichtigungsereignis für das Hintergrund-Bürosystem 604.
Wenn ein Fehler an einem Ort im Außenbereich auftritt (z. B.
eine Benachrichtigung erhalten wird, daß eine Wasser-Hauptleitung
geborsten ist oder ein Straßenlicht
defekt ist), benachrichtigt ein Benachrichtigen 600 das
Hintergrund-Bürosystem 604,
wo der Fehlerzwischenfall sich ereignet hat, so daß er zur
Bearbeitung aufgenommen werden kann. Das Fehlerbenachrichtigungssystem 606 arbeitet
im Hinblick auf die Aktivitäten
des Technikers 602 asynchron.
-
Um den nächsten Ort/die nächsten Orte
oder die nächste/n
Tätigkeit/en
zu bestimmen, den/die der Techniker 602 bedienen soll (d.
h., Komponente 704), kommuniziert der Techniker unter Verwendung
des Netzwerks 118 (über
die Synchronisationsanwendung 238) mit dem Hintergrund-Bürosystem 604,
um die Aufgaben zu erhalten und sie in dem PDA-Katalog 220 auf
dem PDA 202 zu speichern (wie unter Hinweis auf 4 beschrieben). Demgemäß erhält der Techniker 602 die
nächsten
Aufgaben für
den Tag, indem er unter Verwendung der Synchronisationsanwendung 238 mit
dem Hintergrund-Bürosystem 604 kommuniziert.
Die Aufgaben werden an das Servlet 108 übermittelt. Das Servlet 108 besorgt
sich die Informationen über
die Aufgaben und lädt
alle Karten- und Attributdaten, die für die Aufgaben erforderlich
sind, von dem Hintergrund-Bürosystem 604 (d.
h., durch einen Zugriff auf den MapGuide-Server 120) dynamisch
herunter 710. Die heruntergeladenen Daten werden dann an
einem Ort abgelegt, auf den der PDA 102 zugreifen kann,
und der Ort der Daten wird der Synchronisationsanwendung 238 bereitgestellt.
Danach werden die Daten geladen und in der lokalen PDA-Datenbank 220 gespeichert.
-
Ähnlich
wie bei der in 6 beschriebenen Implementierung
wird die Komponente 706 zum Orten eines Fehlers benutzt,
um eine Karte des einschlägigen
Gebiets anzusehen, um relevante Attributdaten anzusehen, und um
Fehlerzwischenfälle
zu orten. Demgemäß startet
der Techniker 602 die MapGuide-PDA-Anwendung 202 und
gibt eine Aufgabe an. Ansprechend darauf zeigt das Anwendungsprogramm 202 eine
Karte des interessierenden Gebiets (mit den einschlägigen Schichten)
an (wie im Hinblick auf 5 beschrieben).
Um die Funktionalität
der Fehlerortung 706 für
einen mit dem Netzwerk verbundenen (online) Techniker 602 bereitzustellen,
nutzen Ausführungsformen
der Erfindung eine Kombination von lokalen Ressourcen und Ressourcen,
die über das
Netzwerk 118 erhalten werden.
-
Nachdem das Betrachten der Karte
(und anderer relevanter Daten) abgeschlossen ist, stellt die Komponente 708 die
Fähigkeit
bereit, Statusinformationen, die sich auf die Aufgabe beziehen,
von dem Techniker 602 aufzunehmen und die Informationen an
das Hintergrund-Bürosystem 604 unter
Verwendung der Synchronisationsanwendung 238 zu übertragen
(d. h., der Status wird dynamisch über das Netzwerk 118 aktualisiert).
Der Fehler wird somit beim Hintergrund-Bürosystem 604 dynamisch
aktualisiert, synchronisiert und möglicherweise behoben.
-
Bericht anzeigen
-
8 veranschaulicht
Implementierungen, bei denen ein Außendienst-Techniker 602 anfordert, daß ein Bericht
für Objekte,
die in einer Karte auf dem PDA 202 ausgewählt worden
sind (d. h., die in 5 beschriebenen
Schritte) angezeigt wird 802. Ansprechend auf eine Anforderung
eines Berichts speichert das PDA-Anwendungsprogramm 202 die
Bezeichner (IDs) der ausgewählten
Objekte (Schritt 502 von
-
5)
und den Status der PDA-Anwendung 202 (Schritt 504 von 5) in der PDA-Datenbank 220.
Dann startet die PDA-Anwendung 202 die Berichtsanwendung 804 (Schritt 506 von 5). Die Berichtsanwendung 804 liest
die IDs der ausgewählten
Objekte aus der Datenbank 220.
-
Die Berichtsanwendung 804 erzeugt
dann unter Verwendung lokaler Attribute und Formatierungsfähigkeiten
die Berichte für
die Objekte. Falls kein Zugriff über
das Netzwerk 118 zum Hintergrund-Bürosystem 604 besteht,
wird der Bericht lokal 806 erstellt und erzeugt, und zwar basierend
auf Geschäftsattributen
in der lokalen Datenbank 220 (z. B., Schritte 510 und 512 von 5). Wenn jedoch Zugriff zum
Hintergrund-Bürosystem 604 über das
Netzwerk 118 verfügbar
ist, kommuniziert 808 die Berichtsanwendung 804 mit einem
Berichtsanwendungsserver (z. B., mit dem Anforderungsvermittler 224,
der mit den beim Servlet befindlichen Betrachtungsdiensten 232 interagiert)
(d. h., Schritt 508 von 5).
Der Berichtsanwendungsserver sorgt für Abfragen über das Netzwerk 118 hinweg,
um dynamisch formatierte Berichte oder Berichte, die auf nicht-lokalen
Attributdaten basieren, zu erhalten.
-
Nach dem Erhalten des angeforderten
Berichts startet die Berichtsanwendung 804 die MapGuide-PDA-Anwendung 202 erneut,
die ihren vorherigen Zustand wieder herstellt, nachdem sie den Zustand
aus der PDA-Datenbank 220 ausgelesen hat (d. h., Schritt 514 von 5).
-
Endergebnis
-
Dies beschließt die Beschreibung eines Ausführungsbeispiels
oder mehrerer Ausführungsbeispiele
der Erfindung. Der folgende Text beschreibt einige Ausführungsalternativen,
um die vorliegende Erfindung zu erhalten.
-
Beispielsweise kann ein persönlicher
digitaler Assistent oder Computer irgendeiner Art, wie beispielsweise
ein Großrechner,
Minicomputer oder persönlicher
Computer oder eine Computerzusammenstellung, wie beispielsweise
ein Großrechner
mit Zeitscheibenverwaltung (timesharing mainframe), ein lokales
Netzwerk, ein eigenständiger
persönlicher Computer,
ein WIN-CE-Gerät,
etc. mit der vorliegenden Erfindung genutzt werden.
-
Zusammenfassend wird ein geographisches Informationssystem
auf einem persönlichen
digitalen Assistenten bereitgestellt, das sowohl mit Netzwerkverbindung
(online) als auch ohne Netzwerkverbindung (offline) genutzt werden
kann.
-
Die obige Beschreibung eines Ausführungsbeispiels
oder mehrerer Ausführungsbeispiele
der Erfindung ist zum Zwecke der Veranschaulichung und Beschreibung
gegeben worden. Sie soll nicht erschöpfend sein, und sie soll die
Erfindung nicht auf die genaue offenbarte Form begrenzen. Viele
Veränderungen
und Abwandlungen sind im Lichte der obigen Lehre möglich. Der
Bereich der Erfindung soll nicht durch diese detaillierte Beschreibung
begrenzt werden, sondern durch die anhängenden Ansprüche.