VERWANDTE ANMELDUNGENRELATED APPLICATIONS
Die
vorliegende Erfindung beansprucht die Priorität der vorläufigen US-Patentanmeldung Nr. 61/036743, eingereicht
am 14. März
2008, deren Inhalt hiermit in diese Anmeldung aufgenommen wird.The
The present invention claims priority to US Provisional Patent Application No. 61/036743
on the 14th of March
2008, the content of which is hereby incorporated into this application.
HINTERGRUNDBACKGROUND
Auf
einem typischen modernen Computerarbeitsplatz befindet sich eine
große
Vielfalt von verschiedenen Software-Anwendungen, die ein Benutzer
zum abarbeiten seiner Aufgaben benötigt. Diese Anwendungen können gewöhnliche
Arbeitsplatzanwendungen oder Benutzeranwendungen sein die oft das
Front-End von andernorts gespeicherten Diensten sind, wie zum Beispiel
Datenbanken oder analytische Tools. Die meisten Software-Anwendungsprogramme
sind derart ausgelegt, dass sie einen Front-End-Teil und einen Back-End-Teil
haben.On
a typical modern computer workstation has one
size
Variety of different software applications that a user
needed to complete his tasks. These applications can be ordinary
Workplace applications or user applications often are
Front-end services that are stored elsewhere are, for example
Databases or analytical tools. Most software application programs
are designed to have a front-end part and a back-end part
to have.
Der
Front-End-Teil enthält
einen Mechanismus mit dem ein Benutzer mit den Funktionen der Software-Anwendung
interagieren kann, zum Beispiel durch eine grafische Benutzerschnittstelle
(GUI) oder eine Anwendungsprogrammschnittstelle (API). Der Back-End-Teil ist typischerweise
die Ausführungs-Engine
die in Reaktion auf die sich im Front-End-Teil ereignende Ereignisse Funktionen ausführt und
die Resultate der Funktionen dem Front-End-Teil bereitstellt. Der Front-End-Teil
und der Back-End-Teil kommunizieren durch Mitteilungen miteinander
die den Back-End-Teil über
im Front-End-Teil auftretende Ereignisse informieren und den Front-End-Teil
instruieren, auf die vom Back-End-Teil gesendeten Mitteilungen zu
reagieren. Software-Anwendungen können grundsätzlich nicht miteinander kommunizieren,
da der Front-End-Teil und der Back-End-Teil einer bestimmten Anwendung dafür ausgelegt
sind, miteinander zu kommunizieren und nicht mit einem anderen Front-End-Teil oder Back-End-Teil.Of the
Contains front-end part
A mechanism with which a user can use the functions of the software application
interact, for example through a graphical user interface
(GUI) or an application program interface (API). The back-end part is typical
the execution engine
which performs functions in response to the events occurring in the front-end part and
provides the results of the functions to the front-end part. The front-end part
and the back-end part communicate with each other through messages
the over the back-end part
informing the front-end part of events and the front-end part
instruct on the messages sent by the back-end part
react. Software applications basically can not communicate with each other,
because the front-end part and the back-end part of a particular application designed for it
are communicating with each other and not with another front-end part or back-end part.
ZUSAMMENFASSUNGSUMMARY
In
einer Ausführungsform
der Erfindung wird ein System bereitgestellt das anwendungsrelevante Daten
aus Mitteilungen entnimmt. Das System kann enthalten: einen Mitteilungsanalysierer,
der Mitteilungen analysiert und einen Mitteilungsbaum mit einem oder
mehreren Objekten erzeugt; einer oder mehreren Datentypvorlagen,
die einen festgelegten auf einem oder mehreren Datenelementen basierenden Datentyp
definieren; und eine Vergleichs-Engine, die die Datenelemente in
dem einen oder den mehreren Objekten mit Datenelemente in der einen
oder den mehreren Datentypvorlage vergleicht. Die Vergleichs-Engine gruppiert
die Datenelemente in dem einen oder den mehreren Objekten die mit
Datenelementen in der einen oder den mehreren Datenvorlagen zusammenpassen
zu einem spezifischen Datentyp, entsprechend den zusammenpassenden
dazugehörigen
Datentypvorlagen.In
an embodiment
The invention provides a system which provides application-relevant data
from messages. The system may include: a message analyzer,
of the messages analyzed and a message tree with one or more
created several objects; one or more data type templates,
the one specified data type based on one or more data elements
define; and a comparison engine that stores the data elements in
the one or more objects with data elements in one
or compare the multiple data type template. The comparison engine is grouped
the data items in the one or more objects that with
Data items in the one or more data templates
to a specific data type, according to the matching ones
associated
Datatype templates.
In
einer anderen Ausführungsform
der Erfindung liegt ein computerlesbares Medium vor mit von einem
Computer ausführbaren
Komponenten zum Koppeln von Software-Anwendungen und zum Entnehmen
anwendungsrelevanter Daten aus Mitteilungen zwischen Software-Anwendungen.
Das computerlesbare Medium kann enthalten: einen mit einer ersten
Software-Anwendung verbunden ersten Extraktor anwendungsrelevanter
Daten und einen mit einer zweiten Software-Anwendung verbunden zweiten
Extraktor anwendungsrelevanter Daten. Der erste Extraktor anwendungsrelevanter
Daten kann enthalten: eine erste Vielzahl von für die erste Software-Anwendung
relevanten Datentypvorlagen, von denen jede einen festgelegten,
auf einem oder mehreren Datenelementen basierenden Datentyp definiert, und
eine erste Vergleichs-Engine, die Datenelemente in dem für die erste
Software-Anwendung vorgesehenen Mitteilungen mit Datenelementen
in der einen oder den mehreren der ersten Vielzahl der Datentypvorlagen
vergleicht. Die erste Vergleichs-Engine gruppiert die Datenelemente
aus den Mitteilungen, die mit den Datenelementen der einen oder
den mehreren der ersten Vielzahl der Datentypvorlagen übereinstimmen,
als spezifische Datentypen, entsprechend den zusammenpassenden dazugehörigen Datentypvorlagen,
und bildet die spezifischen Datentypen die mit dazugehörigen Datentypvorlagen
zusammenpassen auf Objekte in der ersten Software-Anwendung ab.
Der zweite Extraktor anwendungsrelevanter Daten enthält: eine
zweite Vielzahl von für
die zweite Software-Anwendung relevanten Datentypvorlagen, von denen
jede einen festgelegten auf einem oder mehreren Datenelementen basierenden Datentyp
definiert, und eine zweite Vergleichs-Engine die Datenelemente in
dem für
die zweite Software-Anwendung vorgesehenen Mitteilungen mit Datenelementen
in der einen oder den mehreren der zweiten Vielzahl der Datentypvorlagen
vergleicht. Die zweite Vergleichs-Engine gruppiert die Datenelemente
aus den Mitteilungen, die mit den Datenelementen der einen oder
den mehreren der zweiten Vielzahl der Datentypvorlagen übereinstimmen,
als spezifische Datentypen, entsprechend den zusammenpassenden dazugehörigen Datentypvorlagen, und
bildet die spezifischen Datentypen die mit dazugehörigen Datentypvorlagen
zusammenpassen auf Objekte in der zweiten Software-Anwendung ab.In
another embodiment
The invention is a computer readable medium before with a
Computer executable
Components for coupling software applications and for removing
application-relevant data from messages between software applications.
The computer-readable medium may include: one with a first
Software application connected first extractor application-relevant
Data and a second connected to a second software application
Extractor of application-relevant data. The first extractor application relevant
Data may include: a first variety of for the first software application
relevant data type templates, each of which has a specified,
defined on one or more data elements based data type, and
a first comparison engine, the data items in the for the first
Software application provided messages with data elements
in the one or more of the first plurality of data type templates
compares. The first comparison engine groups the data elements
from the messages containing the data elements of the one or the other
match the several of the first plurality of data type templates,
as specific data types, according to the matching associated data type templates,
and forms the specific data types with associated data type templates
match up on objects in the first software application.
The second extractor of application-relevant data contains: a
second variety of for
the second software application relevant data type templates, of which
each a set data type based on one or more data elements
and a second comparison engine defines the data elements in
for
the second software application provided messages with data elements
in the one or more of the second plurality of data type templates
compares. The second comparison engine groups the data elements
from the messages containing the data elements of the one or the other
match the several of the second plurality of data type templates,
as specific data types, corresponding to the matching associated data type templates, and
forms the specific data types with associated data type templates
match up on objects in the second software application.
In
einer weiteren Ausführungsform
der Erfindung wird eine Methode zur Entnahme anwendungsrelevanter
Daten aus Mitteilungen bereitgestellt. Die Methode kann enthalten:
Analyse einer von einer ersten Software-Anwendung empfangenen Mitteilung und
Erzeugung eines auf der analysierten Mitteilung basierenden Mitteilungsbaums
mit einem oder mehreren Objekten, und Vergleichen der Datenelemente in
dem einen oder den mehreren Objekten mit Datenelementen in der einen
oder den mehreren Datentypvorlagen, um Übereinstimmungen zwischen den
Datenelementen in dem einen oder den mehreren Objekten mit den Datenelementen
in der einen oder den mehreren Datentypvorlagen zu ermitteln. Die
Datentypvorlagen definieren einen festgelegten auf einem oder mehreren
Datenelementen basierenden Datentyp. Zusätzlich beinhaltet die Methode
das Übertragen
der Datenelemente in dem einen oder den mehreren Objekten die mit
den Datenelementen in der einen oder den mehreren Datentypvorlagen übereinstimmen
in eine zweite Software-Anwendung.In a further embodiment of the invention, a method is provided for extracting application-relevant data from messages. The method may include: analysis of a message received from a first software application and generating a message tree based on the parsed message with one or more objects, and comparing the data elements in the one or more objects with data elements in the one or more data type templates to match the data elements in the one or more objects Determine data items in the one or more data type templates. The data type templates define a defined data type based on one or more data elements. Additionally, the method includes transmitting the data elements in the one or more objects that correspond to the data elements in the one or more data type templates into a second software application.
KURZE BESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS
1 stellt
ein Blockdiagramm eines Systems zur Entnahme anwendungsrelevanter
Daten aus Mitteilungen entsprechend einer Ausführungsform der vorliegenden
Erfindung dar. 1 FIG. 12 illustrates a block diagram of a system for retrieving application-relevant data from messages according to an embodiment of the present invention. FIG.
2 stellt
ein Blockdiagramm eines Systems zum Koppeln von Software-Anwendungen sowie
zur Entnahme anwendungsrelevanter Daten aus Mitteilungen entsprechend
einer anderen Ausführungsform
der vorliegenden Erfindung dar. 2 FIG. 12 illustrates a block diagram of a system for interfacing software applications and extracting application-relevant data from messages according to another embodiment of the present invention.
3 stellt
ein Blockdiagramm eines Systems zum Koppeln von „Kommerziellen Produkten aus
dem Regal” (eng. „commercial
off the shelf”) (COTS)
Software-Anwendungen
sowie zur Entnahme anwendungsrelevanter Daten aus Mitteilungen entsprechend
einer Ausführungsform
der vorliegenden Erfindung dar. 3 12 illustrates a block diagram of a system for coupling "commercial off the shelf" (COTS) software applications and for extracting application-relevant data from messages in accordance with an embodiment of the present invention.
4 stellt
ein Blockdiagramm eines Systems 80 zum Koppeln von Software-Anwendungen mit Hilfe
von Übertragern,
entsprechend einer Ausführungsform
der vorliegenden Erfindung, dar. 4 represents a block diagram of a system 80 for coupling software applications by means of transformers, according to an embodiment of the present invention.
5 stellt
einen GUI-Kontroller und eine Vielzahl von mit entsprechenden COTS-Anwendungen
verbunden GUIs, entsprechend einer Ausführungsform der vorliegenden
Erfindung dar. 5 Figure 4 illustrates a GUI controller and a plurality of GUIs associated with corresponding COTS applications, according to an embodiment of the present invention.
6 stellt
ein rundes Kopplungselement dar das sich in der GUI-Controller-Arbeitsfläche befindet,
entsprechend einer Ausführungsform
der Erfindung. 6 Figure 12 illustrates a round coupling element located in the GUI controller work surface, according to an embodiment of the invention.
7 stellt
die Auswahl eines Übertragers
in der GUI-Kontroller-Arbeitsfläche
entsprechend einer Ausführungsform
der Erfindung dar. 7 illustrates the selection of a transformer in the GUI controller workspace according to an embodiment of the invention.
8 stellt
das Koppeln der Gruppe Microsoft® Outlook® und
Microsoft® Excel® mit
Google® Earth
durch den Übertrager
mittels zweier sich außerhalb
des Kopplungsbereichs befindenden Doppelpfeile entsprechend einer
Ausführungsform
der Erfindung dar. 8th represents the coupling of the group Microsoft Outlook ® ® and Microsoft ® Excel ® ® with Google Earth by the transmitter by means of two are located outside of the coupling region double arrows according to an embodiment of the invention.
9 stellt
ein Computersystem dar das verwendet werden kann, um die hierin
beschriebenen Systeme und Methode auszuführen, die auf computer-ausführbaren
Befehlen beruhen, die auf dem Computersystem ausgeführt werden. 9 FIG. 12 illustrates a computer system that may be used to execute the systems and methods described herein that rely on computer-executable instructions executing on the computer system.
DETAILLIERTE BESCHREIBUNGDETAILED DESCRIPTION
Die
meisten Netzwerk-basierten Protokolle zum Übertragen von Daten verwenden
eine starr definierte Methode zum Austausch von Daten. Die vorliegenden
Systeme und Methoden sehen ein wesentlich flexibleres Instrument
zur Entnahme und zum Austausch von Daten vor. Insbesondere definieren die
Anwendungen nicht starr welche Nachrichten sie erwarten, vielmehr
definieren Vorlagen auf Datenelementen basierende Datentypen die
mit Datenelementen in eingehenden Mitteilungen verglichen werden
und die Beschaffenheit einer Vorlage bestimmt mit welchem Stellenwert
die Datenelemente einer eingehenden Mitteilung von einem bestimmten
Anwendungsprogramm erfasst werden. Die vorliegenden Systeme und
Methoden können
ohne den Einsatz eines vordefinierten Schemas zur Entnahme und zum
Austausch von Mitteilungen zwischen Anwendungsprogrammen eingesetzt
werden.The
Most network-based protocols use to transfer data
a rigidly defined method for exchanging data. The present
Systems and methods see a much more flexible instrument
for the collection and exchange of data. In particular, the define
Applications not rigid which news they expect, rather
templates define datum-based data types
with data items in incoming messages
and the nature of a template determines with what significance
the data elements of an incoming message of a particular
Application program to be recorded. The present systems and
Methods can
without the use of a predefined scheme for removal and for
Exchange of messages between application programs used
become.
1 stellt
ein Blockdiagramm eines Systems 10 zur Entnahme anwendungsrelevanter
Daten aus Mitteilungen entsprechend einer Ausführungsform der vorliegenden
Erfindung dar. Diese Mitteilungen können zum Beispiel eine abstrakte
Form haben, dargestellt als Schlüssel-Wert-Paare
(eng. Key-Value-Pair), Labeled Trees, oder entsprechende Datenstrukturen
(zum Beispiel XML). Das System 10 enthält einen Mitteilungsanalysierer 12 der
die Mitteilungen analysiert und einen Mitteilungsbaum mit einer Vielzahl
von Objekten, welche die Mitteilungen bilden, erzeugt. Ein Objekt
kann eine Hierarchie bestehend aus einem oder mehreren abgeleiteten
Objekten mit einem oder mehreren Abschluss-Attributen (zum Beispiel
einer Zeichenreihe) und/oder Abschluss-Werten (zum Beispiel Zahlenwerte)
aufweisen. Das Objekt kann ein oder mehrere Datenelemente mit anwendungsrelevanten
Daten aufweisen die von einem Anwendungsprogramm verwendet werden
können.
Das System setzt eine oder mehrere Datentypvorlagen ein die einen
auf einem Satz von Datenelementen basierenden Datentyp definieren. Zum
Beispiel kann eine Datenvorlage einen auf einem Objekt basierenden
Personendatentyp mit den Datenelement-Bezeichnern „Nachname”, „Vorname” und „Alter”, und dazugehörigen Datenelement-Attributen
und/oder -Werten definieren. Eine Datenvorlage kann einen auf einem
Objekt basierenden Fahrzuegdatentyp mit den Datenelement-Bezeichnern „Räder”, „Motor” und „Sitze” und dazugehörigen Datenelement-Attributen
und/oder -Werten definieren. Ein Anwender/Programmierer kann basierend
auf den für
eine bestimmte Anwendung relevanten Datentypen eine Vielzahl von
verschiedenen Datenvorlagen erzeugen die eine Vielzahl von verschiedenen
Datentypen definieren. 1 represents a block diagram of a system 10 For example, these messages may have an abstract shape, represented as key-value pairs, labeled trees, or corresponding data structures (for example XML). The system 10 contains a message parser 12 which analyzes the messages and generates a message tree with a plurality of objects forming the messages. An object may have a hierarchy consisting of one or more derived objects having one or more completion attributes (eg, a string of characters) and / or completion values (eg, numerical values). The object may include one or more data items with application-relevant data that may be used by an application program. The system uses one or more data type templates that define a data type based on a set of data elements. For example, a data template may define a personal data type based on an object having the data element identifiers "last name", "first name" and "age", and associated data element attributes and / or values. A data template may contain an object-based drive data type with the data item identifiers "Rä define the ",""engine" and "seats" and associated data element attributes and / or values. A user / programmer may generate a variety of different data templates that define a variety of different data types based on the data types relevant to a particular application.
Das
Beispiel in 1 zeigt kundenspezifische Datentypvorlagen 16,
nummeriert von 1 bis N, wobei N eine ganze Zahl größer oder
gleich eins ist. Zusätzlich
ist eine Standarddatentyp-Vorlagedatei 18 vorhanden. Die
Standarddatentyp-Vorlagedatei 18 ist eine Datei die eingesetzt
werden kann, um eine universelle Datentyp-Ontologie zwischen Software-Anwendungen
bereitzustellen, so dass Datentypen in den verschiedenen Software-Anwendungen eine
gemeinsame Definition haben. Die Standarddatentyp-Vorlagedatei 18 kann
die Definitionen einer großen
Vielzahl von Datentypen enthalten. Zum Beispiel das Folgende ist
ein Beispiel eines Objekts das eine geospatiale Lagedefinition umfasst
die in der Standarddatentyp-Vorlagedatei 18 enthalten ist:
<map tid=’geospatialLocation’>
<scalar label=’Long(itude)?’ called=’Longitude’/>
<scalar label=’Lat(itude)?’called?’Latitude’/>
<scalar label=’Altitude’ called=’Altitude’ cardinality=’*’/>
<scalar label=’Name’ called=’Name’ cardinality=’*’/>
</map>The example in 1 shows customer-specific data type templates 16 Numbered from 1 to N, where N is an integer greater than or equal to one. In addition, there is a default data type template file 18 available. The default data type template file 18 is a file that can be used to provide a universal data type ontology between software applications so that data types in the various software applications have a common definition. The default data type template file 18 can contain the definitions of a wide variety of data types. For example, the following is an example of an object that includes a geospatial location definition as in the default data type template file 18 is included:
<map tid = 'geospatialLocation'>
<scalar label = 'Long (itude)?' called = 'Longitude'/>
<scalar label = 'Lat (itude)?' called? 'Latitude'/>
<scalar label = 'Altitude' called = 'Altitude' cardinality = '*'/>
<scalar label = 'Name' called = 'Name' cardinality = '*'/>
</ Map>
Die
vorstehende Darstellung zeigt, dass ein mit ”Long” bezeichnetes Element vorhanden
sein sollte welches auch als ”Longitude” bezeichnet
sein kann, aber in jedem Fall mit dem Schlüsselwort ”Latitude” oder ”Lat” verbunden wird (called),
wenn es gefunden wurde. Ferner zeigt es, dass die Attribute „Höhe” und „Name” vorhanden
sein können,
aber auch fehlen können
(cardinality). Falls Datenelement-Bezeichner dieses Typs in einem
Objekt gefunden werden, dann werden die Datenelemente zusammen gruppiert
und als Datentyp „geospatialLocation” bezeichnet.The
The above diagram shows that there is an element labeled "Long"
which should also be called "Longitude"
but in any case connected with the keyword "Latitude" or "Lat" (called),
if it was found. It also shows that the attributes "height" and "name" exist
could be,
but also missing
(Cardinality). If data element identifier of this type in one
Object are found, then the data elements are grouped together
and named "geospatialLocation" as data type.
Das
System 10 enthält
eine Vergleichs-Engine 14 die die Datenelemente in den
Objekten der analysierten Mitteilungen mit der einen oder den mehreren
Datentypvorlagen 16 und der Standarddatentyp-Vorlagendatei 18 vergleicht.
Wenn die Datenelemente in den Objekten mit den Datenelementen in der
einen oder den mehreren Datentypvorlage 16 oder den Datentypen
in der Standarddatentyp-Vorlagendatei 18 übereinstimmen,
werden die Datenelemente als spezifischer Datentyp festgelegt und
die Datenelemente und die verbundenen Attribute und/oder Werte werden
zusammen gruppiert und als anwendungsrelevante Daten entnommen und
in ein Objekt einer verbundenen Software-Anwendung abgebildet.The system 10 contains a comparison engine 14 the data elements in the objects of the analyzed messages with the one or more data type templates 16 and the default data type template file 18 compares. When the data items in the objects with the data items in the one or more data type templates 16 or the data type in the default data type template file 18 match, the data elements are specified as a specific data type and the data elements and the associated attributes and / or values are grouped together and extracted as application-relevant data and mapped into an object of a connected software application.
Es
ist ersichtlich, dass viele Datenvorlagen Objekten eines bestimmten
Datentyps einsetzen können
die von Objekten eines anderen Datentyps abgeleitete sind. Zum Beispiel
kann Anwendung A den Vermerk einer Sichtung enthalten (zum Beispiel Erblicken
von Big Foot), und von der die „geospatialLocation” abgeleitet
werden kann, da die selbe Vorlage für die „geospatialLocation” verwendet
wird, aber zusätzlich
wird auch spezifiziert wird wann sich die Sichtung ereignete und
was tatsächlich
gesichtet wurden. Diese Sachen können
als notwendige oder optionale Elemente spezifiziert werden. Das
bedeutet, wenn eine andere Anwendung B einen internen Objekttyp
als äquivalent
zu dem Standarddatentyp-Vorlagedatei-Objekt „geospatialLocation” definiert,
dann wird wenn eine Sichtung mitgehört wird, die Sichtung mit der „geosptalialLocation”-Vorlage übereinstimmen
und akzeptiert. Die relevante Information wird in das interne Objekt
innerhalb der Anwendung B abgebildet und die restliche Information wird
ignoriert. Allgemein wird der Zuhörer, wenn eine beliebige Nachricht
die einen von einem Vorläufer
X abgeleiteten Typ repräsentiert
von einer Anwendung empfangen wird die ebenfalls eine Vorlage enthält die sich
von X ableitet mindestens den Teil der Mitteilung erfassen der X
entspricht. Demzufolge dient die Standarddatentyp-Vorlagedatei 18 als
minimale Kommunikationsgrundlage.It can be seen that many data templates can use objects of a certain data type that are derived from objects of a different data type. For example, application A may include the tag of a sighting (e.g., seeing Big Foot), and from which the "geospatialLocation" may be derived, since the same template is used for the "geospatialLocation", but in addition will also be specified when the sighting took place and what was actually sighted. These things can be specified as necessary or optional elements. That is, if another application B defines an internal object type as equivalent to the default data type template file object "geospatialLocation", then if a sighting is overheard, the sifting will match and be accepted with the "geosptalialLocation" template. The relevant information is mapped into the internal object within application B and the remaining information is ignored. Generally, when any message representing a type derived from a precursor X is received by an application which also contains a template derived from X, the listener will match at least the portion of the message capturing X. As a result, the default data type template file is used 18 as a minimal basis of communication.
In
einer Ausführungsform
der Erfindung werden die Systeme und Methoden in gekoppelten Software-Anwendungen
eingesetzt, um das gemeinsame Nutzen und die Entnahme von anwendungsrelevanten
Daten zwischen den Software-Anwendungen zu ermöglichen. Ein Beispiel für derartige
Systeme und Methoden wird in der, sich im gemeinsamen Eigentum befindenden,
Patentanmeldung mit dem Titel ”Systeme
und Methoden zum Koppeln von Software-Anwendungen” offenbart,
die am selben Tag wie die vorliegende Patent anmeldung angemeldet
worden ist und deren gesamter Inhalt hiermit in diese Beschreibung
aufgenommen wird.In
an embodiment
The invention provides the systems and methods in coupled software applications
used to share and extract application-relevant
To enable data between the software applications. An example of such
Systems and methods will be used in the jointly owned,
Patent Application entitled "Systems
and Methods for Linking Software Applications ",
filed the same day as the present patent application
and its entire contents are hereby incorporated into this description
is recorded.
2 stellt
ein Blockdiagramm des Systems 40 zum Koppeln von Software-Anwendungen und zur
Entnahme anwendungsrelevanter Daten aus Mitteilungen entsprechend
einer Ausführungsform
der vorliegenden Erfindung dar. Das System 40 benutzt eine
Mitteilungs-Backplane 50 die mit einer Kontroller-Anwendung 52 verbunden
ist. Die Mitteilungs-Backplane 50 ist für die Aufrechterhaltung der Kopplung
zwischen den Software-Anwendungen
verantwortlich und für
jede Bearbeitung die für
die einzelnen Mitteilungen erforderlich sein kann. Ein neuer Mitteilungsbus
bemerkt die Anwendungen, wie die Anwendung A und Anwendung B, die
sich bei der Mitteilungs-Backplane 50 während des Hochfahrens registrieren,
um dadurch anzuzeigen, dass die Anwendung nun für eine Kopplung mit anderen
Anwendungen bereit ist. Anwendung A enthält ein Front-End 42 und
ein Back-End 44 und Anwendung B enthält ein Front-End 46 und
ein Back-End 48. Die Mitteilungs-Backplane 50 kann
beispielsweise TCP/IP-Verbindungen der Anwendungen überwachen,
die bereits bei der Mitteilungs-Backplane 50 registriert
sind oder registriert werden möchten.
Auf diese Weise kann die Mitteilungs-Backplane 50 entweder
lokal oder an einem entfernten Ort lokalisiert sein und ebenso können die
vom Mitteilungs-Bus erkannten Anwendungen auf einem Gerät ablaufen, oder
sie können
verteilt sein und somit kann sich auch die Mitteilungs-Backplane
zwischen verschiedenen Geräten
befinden. 2 represents a block diagram of the system 40 for coupling software applications and extracting application-relevant data from messages according to an embodiment of the present invention. The system 40 uses a message backplane 50 with a controller application 52 connected is. The message backplane 50 is responsible for maintaining the link between the software applications and for any editing that may be required for each message. A new message bus notices the applications, such as application A and application B, that are in the message backplane 50 during start-up, thereby indicating that the application is now ready for pairing with other applications. Application A contains a Front End 42 and a backend 44 and application B contains a front-end 46 and a backend 48 , The message backplane 50 For example, it can monitor applications TCP / IP connections that are already on the message backplane 50 are registered or would like to be registered. That way, the message backplane can 50 may be located either locally or at a remote location and, likewise, the applications recognized by the message bus may run on one device, or they may be distributed, and thus the message backplane may also be between different devices.
Die
Mitteilungs-Backplane 50 kann dazu vorgesehen sein, um
Anwendungen anhand von Instruktionen die über eine TCP/IP-Verbindung
lokal oder von entfernten Orten eingehen zu koppeln oder zu trennen.
Daher kann die Kontroller-Anwendung 52 mit der Mitteilungs-Backplane 50 kommunizieren,
um vom Anwender angeforderte Verbindungen zu übermitteln. Sobald die Anwendungen
gekoppelt sind werden die Mitteilungen zwischen Front-End 42 und Back-End 44 der
Anwendung A der Mitteilungs-Backplane 50 bereitgestellt,
die diese Mitteilungen zum Back-End 48 der Anwendung B
leitet. Zusätzlich
werden die Mitteilungen zwischen Front-End 46 und Back-End 48 der
Anwendung B der Mitteilungs-Backplane
bereitgestellt, die diese Mitteilungen zum Back-End 44 der
Anwendung A leitet.The message backplane 50 may be designed to couple or disconnect applications based on instructions that originate locally or remotely over a TCP / IP connection. Therefore, the controller application 52 with the message backplane 50 communicate to deliver user requested connections. Once the applications are paired, the messages will be between front-end 42 and back-end 44 Application A's message backplane 50 provided these messages to the backend 48 the application B passes. In addition, the messages between front-end 46 and back-end 48 Application B's message backplane provided these messages to the backend 44 the application A passes.
Anwendung
A enthält
einen ersten Extraktor anwendungsrelevanter Daten 45 der
dazu konfiguriert ist, anwendungsrelevante Daten von dem Typ den
Anwendung A erfassen kann zu extrahieren. Der erste Extraktor anwendungsrelevanter
Daten 45 kann ähnliche
Komponenten enthalten, wie der in 1 dargestellte,
wie zum Beispiel einen Mitteilungsanalysierer, eine Vergleichs-Engine,
eine oder mehrere Anwenderspezifischen-Datentypvorlagen und kann die gesamte
oder einen Teil der Standarddatentyp-Vorlagendatei nutzen. Der erste
Extraktor anwendungsrelevanter Daten 45 empfängt über die Mitteilungs-Backplane 50 Mitteilungen
die von der Anwendung B stammen und entnimmt anwendungsrelevante
Daten durch einen Vergleich der Datenelemente, die in den Objekten
der empfangenen Mitteilung vorhanden sind, mit der einen oder den
mehreren Anwenderspezifischen-Datentypvorlagen und/oder
der Standarddatentyp-Vorlagendatei. Sobald die anwendungsrelevanten
Daten entnommen und auf das Back-End der Anwendung A übertragen worden
sind, erzeugt das Back-End der Anwendung A Anweisungen für das Front-End
der Anwendung A, um das Auftreten von Ereignissen die auf den Attributen
und/oder Werten der Datenelemente der entnommenen anwendungsrelevanter
Daten basieren auszulösen.Application A contains a first extractor of application-relevant data 45 which is configured to extract application-relevant data of the type the application A can extract. The first extractor of application-relevant data 45 may contain similar components as in 1 , such as a message parser, a comparison engine, one or more user-specific data type templates, and may utilize all or part of the standard data type template file. The first extractor of application-relevant data 45 receives via the message backplane 50 Messages originating from application B extract application-relevant data by comparing the data elements present in the objects of the received message with the one or more user-specific data type templates and / or the standard data type template file. Once the application-relevant data has been extracted and transferred to the application A back-end, the application A back-end generates instructions for the front-end of application A to determine the occurrence of events on the attributes and / or values of the application Data elements of the extracted application-relevant data based trigger.
Obwohl
der erste und zweite Extraktor anwendungsrelevanter Daten 45 und 49 so
dargestellt sind, als ob sie ein Teil des Anwendungs-Back-End A bzw.
B wären,
ist erkennbar dass der erste und zweite Extraktor anwendungsrelevanter
Daten 45 und 49 allein stehende Komponenten oder
auch als Komponente in die Mitteilungs-Backplane 50 integriert
sein können.Although the first and second extractor application-relevant data 45 and 49 are shown as being part of the application backend A and B respectively, it can be seen that the first and second extractors are application relevant data 45 and 49 stand-alone components or as a component in the message backplane 50 can be integrated.
Es
folgt ein beispielhafter Pseudo-Code für die Mitteilungs-Ontologie
zur Registrierung der Anwendungen bei der Mitteilungs-Backplane
und zum Empfang von Mitteilungen über die Mitteilungs-Backplane:It
Following is an exemplary pseudo-code for the message ontology
to register the applications with the message backplane
and to receive messages via the message backplane:
Run MethodRun Method
-
Verbindung mit der Backplane an einem speziellen Host/Port
herstellen Hallo-Mitteilung an Client-Bezeichner sendenConnect to the backplane at a specific host / port
Send hello message to client identifier
-
Setze die Symbol-Eigenschaften basierend auf dem Anwendungsfenster-SymbolSet the icon properties based on the application window icon
-
Starte den Thread, um Mitteilungen auf dem mit der Backplane
verbundenen Anschluss zu empfangenStart the thread for messages on the backplane
receive connected connection
-
Warten auf eine über
den Anschluss eingehende MitteilungWaiting for an over
the connection incoming message
-
Vergleiche die Mitteilung mit den registrierten Vorlagen:
Für jeden
abgeleiteten Knotenpunkt in der eingehenden Mitteilung
wenn
der Knotenpunkt mit der ausgewählten
Vorlage übereinstimmt,
markiere
mit dem übereinstimmenden
Vorlagennamen
sende den Knotenpunkt zur Host-Anwendung durch OnMessageCompare the message with the registered templates:
For each
derived node in the incoming message
if
the node with the selected one
Template matches,
select
with the matching
template name
send the node to the host application through OnMessage
Send MethodSend method
-
Sende die spezifizierte XML/SOP-Mitteilung über den
vorher verbundenen AnschlussSend the specified XML / SOP message via the
previously connected connection
OnMessage EventOnMessage Event
-
Benutzerregistrierter Rückruf
für eingehende
MitteilungenUser registered callback
for incoming
announcements
RegisterSOP-VorlageRegisterSOP template
-
Definiere eine Vorlage, um mit der XML-basierten SOP-Vorlagensprache
zu vergleichenDefine a template to use with the XML-based SOP template language
to compare
SelectSOP-VorlageSelectSOP template
-
Der Vorlagen-Bezeichner an den die Anwendung interessiert
ist, ist entweder benutzerdefiniert oder aus der StandardvorlagedateiThe template identifier that the application is interested in
is either user-defined or from the default template file
Es
ist ersichtlich, dass sich das System aus 2 gut für einen
Mitteilungsbus erkennende Anwendungen eignet. In vielen Situationen
ist es jedoch wünschenswert
aus zwei oder mehreren ”Kommerzielle
Produkten aus dem Regal”-Anwendungen
(eng. commercial off the shelf) (COTS) zu koppeln und Mitteilungen
zu entnehmen. 3 zeigt ein Blockdiagramm eines
Systems 60 zum Koppeln von COTS-Software-Anwendungen und
zur Entnahme anwendungsrelevanter Daten aus Mitteilungen in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung. Das System 60 nutzt einen Mitteilungs-Backplane-Adapter
der die Mitteilungen zwischen den COTS-Anwendungsformaten und dem Mitteilungs-Backplane-Format
konvertiert. Ein Mitteilungs-Backplane-Adapter ist ein Code-Modul oder ein Programm
das es einer bestehenden COTS-Anwendung erlaubt mit der Mitteilungs-Backplane
zu kommunizieren. Obwohl die existierenden COTS-Anwendungen die
Mitteilungs-Backplane nicht von sich aus erkennen, verfügen die
meisten professionellen Anwendungen über Kommunikationsmittel und
werden durch andere Mittel als die interaktive GUI gesteuert. Diese
Schnittstellen basieren oftmals auf TCP/IP oder in dem Fall einer
Microsoft-Umgebung auf .COM oder .NET. Ein Mitteilungs-Backplane-Adapter
ist ein Software-Baustein der mit einer existierenden Anwendung
interagiert (in der von der Anwendung bevorzugten Art und Weise)
und eine Schnittstelle zur Mitteilungs-Backplane bietet. Die Architektur
der Mitteilungs-Backplane setzt voraus, dass die individuellen Anwendungen
den ”internen Dialog” übertragen
der das Anwendungs-Front-End (beispielsweise GUI-Schnittstelle) mit dem operativen Back-End
verbindet und dass Information von außen empfangen werden, die in
interne Ereignisse konvertiert werden können. Für COTS-Anwendungen wird dies durch entsprechende
Mitteilungs-Backplane-Adapter gehandhabt.It can be seen that the system is off 2 good for a message bus recognizing applications. But in many situations it is It is desirable to couple from two or more "commercial off the shelf" (COTS) applications and to extract communications. 3 shows a block diagram of a system 60 for coupling COTS software applications and for extracting application-relevant data from messages in accordance with an embodiment of the present invention. The system 60 uses a message backplane adapter that converts the messages between the COTS application formats and the message backplane format. A message backplane adapter is a code module or program that allows an existing COTS application to communicate with the message backplane. Although the existing COTS applications do not recognize the message backplane on their own, most professional applications have communications and are controlled by means other than the interactive GUI. These interfaces are often based on TCP / IP or, in the case of a Microsoft environment, on .COM or .NET. A Message Backplane Adapter is a software building block that interacts with an existing application (in the manner preferred by the application) and provides an interface to the messaging backplane. The message backplane architecture requires that the individual applications transfer the "internal dialog" that connects the application front-end (e.g., GUI interface) to the operational back-end and that information is received from the outside into internal Events can be converted. For COTS applications, this is handled by appropriate message backplane adapters.
3 stellt
einen Mitteilungs-Backplane-Adapter dar, der zum Verbinden zweier
COTS-Anwendungsprogramme C und D mit der Mitteilungs-Backplane 74 bereitge stellt
wird. Ein erster Mitteilungs-Backplane-Adapter 66 enthält eine
Schnittstelle zu einem Front-End 62 und einem Back-End 64 der
COTS-Anwendung C und der Mitteilungs-Backplane 74. Ein zweiter Mitteilungs-Backplane-Adapter 72 enthält eine
Schnittstelle zu einem Front-End 68 und einem Back-End 70 einer
COTS-Anwendung D und der Mitteilungs-Backplane 74. Eine Kontroller-Anwendung 76 kann
mit der Mitteilungs-Backplane 74 kommunizieren, um eine
vom Benutzer angeforderte Verbindung zu übermitteln und um die COTS-Anwendungsprogramme
C und D über
die entsprechenden Mitteilungs-Backplane-Adapter 66 und 72 zu
verbinden. Sobald die Anwendungen gekoppelt sind werden die Mitteilungen
zwischen Back-End 64 und Front-End 62 der COTS-Anwendung
C der Mitteilungs-Backplane 74 bereitgestellt, die
dann die Mitteilungen zu dem zweiten Mitteilungs-Backplane-Adapter 72 leitet,
und die Mitteilungen zwischen Back-End 70 und Front-End 68 der COTS-Anwendung D werden
der Mitteilungs-Backplane 74 bereitgestellt, die dann die
Mitteilungen zu dem ersten Mitteilungs-Backplane-Adapter 66 leitet. 3 represents a message backplane adapter used to connect two COTS application programs C and D to the message backplane 74 provided. A first message backplane adapter 66 contains an interface to a front-end 62 and a backend 64 the COTS application C and the message backplane 74 , A second message backplane adapter 72 contains an interface to a front-end 68 and a backend 70 a COTS application D and the message backplane 74 , A controller application 76 can with the message backplane 74 communicate to provide a user-requested connection and the COTS application programs C and D via the corresponding message backplane adapters 66 and 72 connect to. Once the applications are paired the messages will be between back-end 64 and front-end 62 the message backplane COTS application C 74 then provide the messages to the second message backplane adapter 72 directs, and the messages between back-end 70 and front-end 68 COTS application D becomes the message backplane 74 then provide the messages to the first message backplane adapter 66 passes.
Obwohl
die Adapter so dargestellt sind als ob sie zwischen den Front-Ends
und Back-Ends der COTS-Anwendung lägen, ist es ersichtlich dass
eine COTS-Anwendung auch ohne diese klare Trennung aufgebaut sein
kann und nicht über
einen direkten Zugang zur Mitteilungsschicht verfügen muss. Üblicherweise
legen die COTS-Anwendungen einige Kommunikationsschichten (eng.
level of connectability) für
den Adapter offen, um Mitteilungen bereitzustellen und zu empfangen,
so als ob die Adapter so angeordnet wären, so wie es in 3 dargestellt wird.
In der Praxis ist es jedoch üblich
dieses Verhalten zu simulieren, das bedeutet im Wesentlichen dass
der Adapter die Ereignisse weiterleitet die er innerhalb der COTS-Anwendung
beobachtet, als ob die Anwendung diese durch irgendeine von der COTS-Anwendung
bereitgestellten Schnittstelle verfügbar machen würde. Ebenso
werden in den Adapter ankommende Informationen in Befehle für die COTS-Anwendung
transformiert, als ob eine direkte gemeinsame Nutzung von Mitteilungen
in dem (hypothetischen) internen Datenbus der COTS-Anwendung vorhanden
wäre.Although the adapters are shown as being between the front-ends and back-ends of the COTS application, it can be seen that a COTS application can be built without this clear separation and need not have direct access to the messaging layer , Typically, the COTS applications expose some level of connectivity to the adapter to provide and receive messages as if the adapters were arranged as described in US Pat 3 is pictured. In practice, however, it is common practice to simulate this behavior, which essentially means that the adapter will relay the events it observes within the COTS application as if the application were exposing it through any interface provided by the COTS application. Likewise, information entering the adapter is transformed into commands for the COTS application as if there were a direct sharing of messages in the (hypothetical) internal data bus of the COTS application.
Der
erste Mitteilungs-Backplane-Adapter 66 umfasst einen ersten
Extraktor anwendungsrelevanter Daten 67 der dafür konfiguriert
ist, anwendungsrelevante Daten von dem Typ den die COTS-Anwendung
C erfassen kann zu extrahieren. Der erste Extraktor anwendungsrelevanter
Daten 67 kann ähnliche
Komponenten enthalten, wie der in 1 dargestellte,
wie zum Beispiel einen Mitteilungsanalysierer, eine Vergleichs-Engine,
eine oder mehrere Anwenderspezifisiche-Datentypvorlagen, und kann
die gesamte oder einen Teil der Standarddatentyp-Vorlagendatei nutzen.
Der erste Extraktor anwendungsrelevanter Daten 67 empfängt über die
Mitteilungs-Backplane 74 von der Anwendung D stammende
Mitteilungen und entnimmt anwendungsrelevante Daten durch einen
Vergleich der in den Objekten der empfangenen Mitteilung vorhandenen
Datenelemente mit der einen oder den mehreren Anwenderspezifisiche-Datentypvorlagen
und/oder der Standarddatentyp-Vorlagendatei. Sobald die anwendungsrelevanten
Daten entnommen worden sind, können
diese gruppiert und in ein Datenformat der COTS-Anwendung C konvertiert
werden und auf das Back-End 64 der Anwendung C abgebildet
werden. Das Back-End 64 der Anwendung C erzeugt Anweisungen
für das
Front-End 62 der Anwendung C, um das Auftreten von Ereignissen
die auf den Attributen und/oder Werten der Datenelemente der entnommenen
anwendungsrelevanter Daten basieren auszulösen.The first message backplane adapter 66 includes a first extractor of application-relevant data 67 configured to extract application-relevant data of the type that the COTS application C can capture. The first extractor of application-relevant data 67 may contain similar components as in 1 and may use all or part of the standard data type template file. The first extractor of application-relevant data 67 receives via the message backplane 74 messages originating from application D and extracts application-relevant data by comparing the data elements present in the objects of the received message with the one or more user-specific data type templates and / or the standard data type template file. Once the application-relevant data has been extracted, it can be grouped and converted to a data format of the COTS application C and to the back-end 64 the application C are mapped. The backend 64 Application C generates instructions for the front-end 62 the application C to trigger the occurrence of events based on the attributes and / or values of the data elements of the extracted application-relevant data.
Der
zweite Mitteilungs-Backplane-Adapter 72 umfasst einen zweiten
Extraktor anwendungsrelevanter Daten 73 der dafür konfiguriert
ist, anwendungsrelevante Daten von dem Typ den die COTS-Anwendung
D erfassen kann zu extrahieren. Der zweite Extraktor anwendungsrelevanter
Daten 73 kann ähnliche
Komponenten enthalten, wie der in 1 dargestellte,
wie zum Beispiel einen Mitteilungsanalysierer, eine Vergleichs-Engine,
eine oder mehrere Anwenderspezifisiche-Datentypvorlagen, und kann
die gesamte oder einen Teil der Standarddatentyp-Vorlagendatei nutzen.
Der zweite Extraktor anwendungsrelevanter Daten 73 empfängt über die Mitteilungs-Backplane
von der Anwendung C stammende 74 Mitteilungen und entnimmt
anwendungsrelevante Daten durch einen Vergleich der in den Objekten
der empfangenen Mitteilung vorhandenen Datenelemente mit der einen
oder den mehreren Anwenderspezifisiche-Datentypvorlagen und/oder
der Standarddatentyp-Vorlagendatei. Sobald die anwendungsrelevanten
Daten entnommen worden sind, können
diese gruppiert und in ein Datenformat der COTS-Anwendung D konvertiert
werden und auf das Back-End 70 der Anwendung D abgebildet
werden. Das Back-End 70 der Anwendung D erzeugt Anweisungen
für das
Front-End 68 der Anwendung D, um das Auftreten von Ereignissen
die auf den Attributen und/oder Werten der Datenelemente der entnommenen
anwendungsrelevanter Daten basieren auszulösen.The second message backplane adapter 72 includes a second extractor of application-relevant data 73 which is configured to extract application-relevant data of the type that the COTS application D can capture. The second extractor of application-relevant data 73 may contain similar components as in 1 and may use all or part of the standard data type template file. The second extractor of application-relevant data 73 receives via the message backplane from application C. 74 Messages and retrieves application-relevant data by comparing the data elements present in the objects of the received message with the one or more user-specific data type templates and / or the standard data type template file. Once the application-relevant data has been extracted, it can be grouped and converted to a data format of the COTS application D and to the back-end 70 the application D are mapped. The backend 70 Application D generates instructions for the front-end 68 the application D to trigger the occurrence of events based on the attributes and / or values of the data elements of the extracted application-relevant data.
Da
die Grundstruktur der Mitteilungs-Backplane dafür ausgelegt ist, Mitteilungen
für alle
an die Mitteilungs-Backplane angeschlossene Anwendungen und Adapter
verständlich
zu machen, geschieht es oft, dass ein Benutzer oder Entwickler zwei
Anwendungen dazu veranlassen möchte,
Daten auszutauschen, die nicht von sich aus mit derselben Art von
Objekten arbeiten. Zum Beispiel kann eine Anwendung mit Flugzeug-
und Geospatialendaten arbeiten, während eine andere Anwendung
mit Personendaten und den damit verbundenen Informationen arbeitet.
Die vorliegende Erfindung verwendet dazu Mitteilungs-Backplane-Übertrager. Ein Mitteilungs-Backplane-Übertrager
ist ein beliebiges Element das in die Mitteilungs-Backplane installiert
werden kann und das die Funktion hat, die Information von einem
Datentyp in die Information eines anderen Datentyps zu übertragen.
Ein Übertrager
ist ein Werkzeug das in eine Verbindung, die verschiedene von der
Mitteilungs-Backplane erfasste Anwendungen oder Gruppen von Anwendungen
verbindet, eingefügt
werden kann und das einen Datentyp in einen anderen Datentyp umwandelt.
Mitteilungs-Backplane-Übertrager
können
auf verschiedene Arten und Weisen arbeiten, aber eine Gemeinsamkeit
der Funktionsweise der Übertrager
besteht in einer Datenbankabfrage verschiedener externer Datenspeicher. Übertrager
sind allgemein Programme und können
in jeder Sprache geschrieben sein, obwohl hauptsächlich die Erwartung besteht,
dass eine Sprache verwendet wird für die ein Software-Entwicklungspaket
(SDK) eine API bereitstellt.There
The basic structure of the message backplane is designed for messaging
for all
applications and adapters attached to the message backplane
understandable
It often happens that a user or developer makes two
Would like to cause applications to
Exchange data that is not on its own with the same type of
Work objects. For example, an application with aircraft
and geospatial data work while another application
works with personal data and related information.
The present invention uses message backplane transformers for this purpose. A message backplane transmitter
is any element that is installed in the message backplane
and that has the function of having the information of one
Data type into the information of another data type.
A transformer
is a tool that is in a connection that is different from the one
Message backplane captured applications or groups of applications
connects, inserted
which converts one data type into another data type.
Announcement backplane transformer
can
work in different ways, but a commonality
the functioning of the transformer
consists in a database query of various external data stores. exchangers
are generally programs and can
be written in any language, although the main expectation is
that a language is used for the a software development package
(SDK) provides an API.
4 stellt
ein Blockdiagramm eines Systems 80 zum Koppeln von Software-Anwendungen mit Hilfe
von Übertragern,
entsprechend einer Ausführungsform
der vorliegenden Erfindung, dar. Anwendung #1 82, Anwendung
#2 84 und Anwendung #3 86 sind zu einer ersten
gekoppelten Gruppe 81 gekoppelt und Anwendung #4 88 und
Anwendung #5 90 sind zu einer zweiten gekoppelten Gruppe 87 gekoppelt.
Die Datentypen der Ereignismitteilungen der ersten gekoppelten Gruppe 81 definierenden
Datenelemente werden gemeinsam genutzt und die Datentypen der Ereignismitteilungen
der Elemente der zweiten gekoppelten Gruppe 87 definierenden
Datenelemente werden gemeinsam genutzt. Anwendung #1 82,
Anwendung #2 84 und Anwendung #3 86 enthalten
jeweils einen Extraktor anwendungsrelevanter Daten (nicht dargestellt)
der Vorlagen enthält
die auf Datenelementen basierende Datentypen definieren, die in
den von den Elementen der ersten gekoppelten Gruppe 81 gemeinsam
genutzten Mitteilungen enthalten sind. Ebenso enthält die Anwendung
#4 88 und die Anwendung #5 90 einen Extraktor
anwendungsrelevanter Daten (nicht dargestellt) der Vorlagen enthält die auf
Datenelementen basierende Datentypen definieren, die in den von
den Elemente der zweiten gekoppelten Gruppe 87 gemeinsam
genutzten Mitteilungen enthalten sind. Jedoch enthalten die Mitteilungen
der Elemente der ersten gekoppelten Gruppe keine Datentypen definierende Datenelemente
die von den Elementen der zweiten gekoppelten Gruppe 87 erfasst
werden können
und umgekehrt. 4 represents a block diagram of a system 80 for coupling software applications by means of transformers, according to an embodiment of the present invention. Application # 1 82 , Application # 2 84 and application # 3 86 are to a first coupled group 81 coupled and application # 4 88 and Application # 5 90 are to a second coupled group 87 coupled. The data types of the event messages of the first coupled group 81 defining data elements are shared and the data types of the event messages of the elements of the second coupled group 87 defining data elements are shared. Application # 1 82 , Application # 2 84 and application # 3 86 each contain an extractor application-relevant data (not shown) of the templates contains the data elements based on data types defined in the elements of the first group coupled 81 shared messages. Likewise, the application contains # 4 88 and application # 5 90 An extractor of application-relevant data (not shown) of the templates contains the data-element-based data types defined in the elements coupled by the elements of the second group 87 shared messages. However, the messages of the elements of the first coupled group do not contain data types defining data elements that are of the elements of the second coupled group 87 can be detected and vice versa.
Beispielsweise
kann die erste gekoppelten Gruppe 81 Flugzeug-Flugdatentypen erfassen
(z. B. umfassend eine Flugzeug-Flugdatentyp-Vorlage) kann aber keine
Personendatentypen erfassen (z. B. nicht umfassend eine Personendatentyp-Vorlage), während die
zweite gekoppelten Gruppe 87 keine Flugzeug-Flugdatentypen
erfassen kann (z. B. nicht umfassend eine Flugzeug-Flugdatentyp-Vorlage) aber
dafür Personendatentypen
erfassen kann (z. B. umfassend eine Personendatentyp-Vorlage). Die erste
und zweite gekoppelte Gruppe 81 und 87 sind über einen
Mitteilungs-Backplane-Übertrager 94 miteinander
gekoppelt. Der Mitteilungs-Backplane-Übertrager 94 ist mit
einer für
ihn zugänglichen Da tenbank 96 verbunden,
wie zum Beispiel einer Flug-Passagierlisten-Datenbank die Flugzeug-Flugdatentypen mit
Personendatentypen koppelt.For example, the first coupled group 81 However, aircraft flight data types (eg, including an aircraft flight data type template) may not capture personal data types (eg, not comprehensively a personal data type template) while the second coupled group 87 can not capture aircraft flight data types (eg, not comprehensively include an aircraft flight data type template) but can capture personal data types for it (eg, including a personal data type template). The first and second coupled group 81 and 87 are via a message backplane transmitter 94 coupled together. The Message Backplane Transmitter 94 is with a database accessible to him 96 connected, such as a flight passenger list database, the aircraft flight data types coupled with personal data types.
Der
Mitteilungs-Backplane-Übertrager 94 empfängt über die
Mitteilungs-Backplane 92 die
Mitteilungen der ersten gekoppelten Gruppe 81, die Datentypen
definierende Datenelemente enthält
die für die
Elemente der zweiten gekoppelten Gruppe 87 nicht erfassbar
sind. Der Übertrager
enthält
einen ersten Extraktor anwendungsrelevanter Daten 95 der den
von der ersten gekoppelten Gruppe empfangenen Mitteilungen Datenelemente
entnimmt, die innerhalb des ersten Extraktors anwendungsrelevanten Daten 95 einen
auf einer oder mehreren Datentypvorlage basierenden Datentypen definieren.
Der Mitteilungs-Backplane-Übertrager 94 ruft
dann aus der Datenbank 96 Datenelemente ab, die für die Elemente
der ersten gekoppelten Gruppe 81 erfassbaren Datentypen
mit für
die Elemente der zweiten gekoppelten Gruppe 87 erfassbaren
Datentypen koppelt oder verbindet. Zusätzlich empfängt der Mitteilungs-Backplane-Übertrager 94 über die
Mitteilungs-Backplane 92 Mitteilungen von der zweiten gekoppelten
Gruppe 87 die Datentypen definierende Datenelemente enthält, die
für die
Elemente der ersten gekoppelten Gruppe 81 nicht erfassbar
sind. Der Übertrager 94 enthält einen
zweiten Extraktor anwendungsrelevanter Daten 97 der den
von der zweiten gekoppelten Gruppe empfangenen Mitteilungen Datenelemente
entnimmt, die innerhalb des zweiten Extraktors anwendungsrelevanten
Daten 97 einen auf einer oder mehreren Datentypvorlage
basierenden Datentypen definieren. Der Mitteilungs-Backplane-Übertrager 94 ruft
dann aus der Datenbank 96 Datenelemente ab, die für die Elemente
der zweiten gekoppelten Gruppe 87 erfassbaren Datentypen
mit für
die Elemente der ersten gekoppelten Gruppe 81 erfassbaren
Datentypen koppelt oder verbindet.The Message Backplane Transmitter 94 receives via the message backplane 92 the messages of the first coupled group 81 , data elements defining data elements contains those for the elements of the second coupled group 87 are not detectable. The transmitter contains one first extractor of application-relevant data 95 the data received from the messages received from the first coupled group, data relevant within the first extractor application-relevant data 95 define a data type based on one or more data type templates. The Message Backplane Transmitter 94 then call from the database 96 Data elements that are common to the elements of the first coupled group 81 detectable data types with for the elements of the second coupled group 87 Detachable data types couples or connects. In addition, the message backplane transmitter receives 94 via the message backplane 92 Messages from the second coupled group 87 contains the data types defining data elements that are common to the elements of the first linked group 81 are not detectable. The transformer 94 contains a second extractor of application-relevant data 97 deriving from the messages received from the second coupled group data elements that within the second extractor application-relevant data 97 define a data type based on one or more data type templates. The Message Backplane Transmitter 94 then call from the database 96 Data elements that are common to the elements of the second coupled group 87 detectable data types with for the elements of the first coupled group 81 Detachable data types couples or connects.
Zum
Beispiel kann in einer Anwendung, die ein Element der ersten gekoppelten
Gruppe 81 ist, ein Ereignis auftreten, wie zum Beispiel
die Auswahl eines Flugplans. Eine mit diesem Ereignis verbundene
Mitteilung kann zu dem Mitteilungs-Backplane-Übertrager 94 übermittelt
werden, welcher den Flugplan empfängt und dann von der Datenbank 96 eine
Passagierliste für
den Flugplan anruft, die dann den Elementen der zweiten gekoppelte
Gruppe 87 bereitgestellt wird. Die Elemente der zweiten
gekoppelten Gruppe 87 können
die Personendatentypen aus der Passagierlisten-Datenbank entnehmen
und können
die dazugehörigen
Funktionen ausführen
die in den jeweiligen Elementen mit dem Personendatentyp verbunden
sind. Ebenso kann in einer Anwendung, die Element der zweiten gekoppelten
Gruppe 87 ist, ein Ereignis auftreten, wie zum Beispiel
die Auswahl einer Person. Dieses Ereignis kann eine Mitteilung erzeugen
die zu dem Übertrager 94 übermittelt
wird. Dieser empfängt
den Namen der Person und ruft dann von der Datenbank 96 eine
Passagierliste für
einen Flug auf der sich die Person befindet ab. Die Passagierliste
wird dann den Elementen der ersten gekoppelten Gruppe 81 bereitgestellt.
Die Elemente der ersten gekoppelten Gruppe 81 können aus der
Passagierlisten-Datenbank einen Flugplan entnehmen auf dem sich
die Person befindet und können
die dazugehörigen
Funktionen ausführen,
die in den jeweiligen Elementen mit einem bestimmten Flugplan verbunden
sind.For example, in an application that is an element of the first coupled group 81 is an event occur, such as the selection of a flight plan. A message associated with this event may be sent to the message backplane transmitter 94 which receives the flight plan and then from the database 96 calls a passenger list for the flight plan, which then the elements of the second coupled group 87 provided. The elements of the second coupled group 87 The personal data types can be taken from the passenger list database and can execute the associated functions which are linked to the personal data type in the respective elements. Likewise, in one application, the element of the second coupled group 87 is, an event occur, such as the selection of a person. This event can generate a message to the transmitter 94 is transmitted. This receives the name of the person and then calls from the database 96 a passenger list for a flight on which the person is located. The passenger list then becomes the elements of the first paired group 81 provided. The elements of the first coupled group 81 From the passenger list database, a flight plan can be found on which the person is located and can execute the associated functions that are connected to a specific flight plan in the respective elements.
Die 5–8 stellen,
entsprechend einer Ausführungsform
der Erfindung, das Koppeln von Anwendungen die einen GUI-Kontroller 100 verwenden
und das gemeinsame Nutzen von Informationen der Mitteilungen der
Anwendungen zwischen den gekoppelten Anwendungen dar. 5 stellt
einen GUI-Kontroller 100 und eine Vielzahl von, mit entsprechenden
COTS-Anwendungen verbundenen, GUIs dar. Insbesondere eine erste
mit Microsoft® Outlook® verbundene
GUI 110, eine zweite mit Microsoft® Excel® verbundene
GUI 120 und eine dritte mit Google® Earth
verbundene GUI 130. Der GUI-Kontroller 100 umfasst
eine Arbeitsfläche
in der die Adapter, der bei der Mitteilungs-Backplane registrierten der
COTS-Anwendungen,
durch die Symbole der COTS-Anwendungsprogramme dargestellt werden, die
Microsoft® Outlook®,
Microsoft® Excel® und
Google® Earth
umfassen. Der GUI-Controller 100 ist dazu konfiguriert,
Befehle zu der Mitteilungs-Backplane zu übertragen und bestimmte Anwendungen
zu koppeln und zu trennen. Die Anwendungen können durch Ziehen und Ablegen
der dargestellten Symbole über
ein anderes dargestelltes Symbol miteinander gekoppelt werden. Dies
veranlasst die Anwendungen, sich miteinander zu koppeln, so dass
ihre dargestellten Adapter über
die Mitteilungs-Backplane untereinander Mitteilungen empfangen und
senden.The 5 - 8th In accordance with one embodiment of the invention, the coupling of applications provides the one GUI controller 100 use and share information between application messages between coupled applications. 5 provides a GUI controller 100 and a variety of, associated with respective COTS applications, GUIs. In particular, a first connected to Microsoft ® Outlook ® GUI 110 , a second GUI linked to Microsoft ® Excel ® 120 and a third GUI connected to Google ® Earth 130 , The GUI controller 100 includes a working area in which the adapter that are displayed in the notification backplane registered COTS applications by the symbols of COTS software applications that include Microsoft ® Outlook ®, Microsoft ® Excel ® and Google ® Earth. The GUI controller 100 is configured to transfer commands to the message backplane and to couple and disconnect certain applications. The applications can be coupled to each other by dragging and dropping the displayed symbols via another icon. This causes the applications to pair with each other so that their illustrated adapters receive and send messages to each other via the message backplane.
6 stellt
ein rundes Kopplungselement innerhalb der GUI-Kontroller-Arbeitsfläche, entsprechend
einer Ausführungsform
der Erfindung, dar. Symbole für
Microsoft® Outlook® und
Microsoft® Excel® befinden
sich innerhalb des runden Kopplungselements, dadurch wird angezeigt,
dass diese beiden Programme als gekoppelte Gruppe miteinander gekoppelt
wurden, und die jeweiligen Mitteilungen gemeinsam nutzen, so dass
Ereignisse in einer Anwendung Ereignisse in der anderen Anwendung
auslösen
können.
Wie zusätzlich
in 6 dargestellt hat ein Benutzer eine spezifische
E-mail 112 in der mit Microsoft® Outlook® verbundenen
ersten GUI ausgewählt,
die veranlasst, dass eine Mitteilung mit den Namen ”Adrian
Kaehler” über die
Mitteilungs-Backplane übermittelt
wird und von der Anwendung Microsoft® Excel® empfangen
wird. Die Anwendung Microsoft® Excel® enthält eine
Datei test1.xls die geöffnet wird
und die einen Namen und eine dazugehörige Telefonnummernliste mit
verschiedenen Namen und dazugehörigen
Telefonnummern enthält.
Die Anwendung Microsoft® Excel® stellt
Befehle für
die mit Microsoft® Excel® verbundene
zweite GUI 120 bereit, um jede Zeile 122 mit dem
Namen ”Adrian
Kaehler” und den
damit verbundenen Telefonnummern hervorzuheben, so wie es in 6 dargestellt
ist. Ein COTS-Adapter für
Microsoft® Excel® konvertiert
das Microsoft® Excel®-Mitteilungsformat
in das Mitteilungs-Backplane-Format
und umgekehrt. Ein mit dem COTS-Adapter verbundener Extraktor anwendungsrelevanter
Daten sucht nach Übereinstimmungen
zwischen Datenelementen in den von der Mitteilungs-Backplane übertragen
Mitteilungen mit Personendatentyp-Vorlagen, die folgendermaßen aussehen
können:
<map tid=’person’>
<scalar label=’Last Name?’ called=”Last Name’/>
<scalar label=’First
Name?’ called=’First
Name’/>
</map> 6 represents a round coupling element within the GUI controller workspace according to an embodiment of the invention represents. symbols for Microsoft ® Outlook ® and Microsoft ® Excel ® are located inside the round coupling element, thereby indicating that these two programs as coupled group together and share the respective messages so that events in one application can trigger events in the other application. As additional in 6 a user has presented a specific e-mail 112 selected in the related Microsoft ® Outlook ® first GUI that causes a message with the name "Adrian Kaehler" is transmitted via the message backplane and is received by the application Microsoft ® Excel ®. The Microsoft ® Excel ® application contains a test1.xls file that will open, containing a name and associated phone number list with different names and associated phone numbers. The application Microsoft ® Excel ® provides commands for the connected with Microsoft ® Excel ® second GUI 120 ready to take each line 122 with the name "Adrian Kaehler" and the associated telephone numbers to emphasize, as it in 6 is shown. A COTS adapter for Microsoft ® Excel ® Microsoft ® Excel ® -Mitteilungsformat converted to the announcement backplane format and vice versa. An extractor of application-relevant data connected to the COTS adapter searches for matches between data elements in the middle of the Management Backplane transfers messages with personal data type templates that can look like this:
<map tid = 'person'>
<scalar label = 'Last Name?' called = "Last Name '/>
<scalar label = 'First Name?' called = 'First Name'/>
</ Map>
Daher
wird der Extraktor anwendungsrelevanter Daten Datenelemente aus
Mitteilungen entnehmen die die Datenelement-Bezeichner ”Last Name” und ”First Name” enthalten,
wie zum Beispiel die Nachrichten, die in Reaktion auf die Auswahl
der oben beschriebenen E-mail empfangen wurden.Therefore
The extractor of application-relevant data is data elements
Take messages containing the data element identifiers "Last Name" and "First Name",
such as the news, in response to the selection
the e-mail described above.
7 stellt
das Auswählen
eines Übertragers
in der GUI-Kontroller-Arbeitsfläche, entsprechend
einer Ausführungsform
der Erfindung, dar. Eine andere Anwendung kann ausgewählt werden, um
mit der gekoppelten Gruppe über
einen Übertrager
gekoppelt zu werden. Der Übertrager
stellt einen Zusammenhang zwischen Datentypen bereit die die Anwendungsprogramme
vorher nicht erfassen konnten. In 7 hat, unter
Verwendung des Übertrager-Auswahlfensters 104,
der Benutzer ausgewählt, die
gekoppelte Gruppe von Microsoft® Outlook® und Microsoft® Excel® mit
Google® Earth
zu koppeln, und hat dazu den ”phone
lookup” Übertrager 106 ausgewählt. 7 illustrates selecting a transmitter in the GUI controller workspace, according to an embodiment of the invention. Another application may be selected to be coupled to the coupled group via a transmitter. The transformer provides a relationship between data types that the application programs could not previously capture. In 7 has, using the Transformer Selection window 104 , The user has selected to couple the coupled group of Microsoft ® Outlook ® and Microsoft ® Excel ® with Google ® Earth, and has this to "phone lookup" transformer 106 selected.
8 stellt
das Koppeln der Gruppe Microsoft® Outlook® und
Microsoft® Excel® mit
Google® Earth
durch den Übertrager über zwei
sich außerhalb der
Kopplungsfläche
befindenden Doppelpfeile dar. Der ”phone lookup”-Übertrager 106 stellt
durch die Kopplung mit Google® Earth Adressen für die bereitgestellten
Personen oder Telefonnummern bereit. Wie in 8 dargestellt,
hat der Benutzer eine der mit ”Adrian
Kaehler” verbundenen
Telefonnummern 124 ausgewählt, dies führt dazu, dass eine Mitteilung mit
einer entsprechenden Telefonnummer über die Mitteilungs-Backplane
zum ”phone
lookup”-Übertrager 106 übertragen
wird, der für
die entsprechende Telefonnummer die zugehörigen Adressen erzeugt. Google® Earth
empfängt
die mit der Telefonnummer verbundene Adresse und dreht die Darstellung
der Erde zur Position der entsprechenden Adresse die der ausgewählten Telefonnummer
entspricht. Der Übertrager 106 kann
einen Extraktor anwendungsrelevanter Daten enthalten der nach Übereinstimmungen
zwischen den Datenelementen in den von der Mitteilungs-Backplane übertragenen
Mitteilungen und in einer Telefondatentyp-Vorlage sucht, die folgendermaßen aussieht:
<map tid=’phone
number’>
<scalar label=’Phone
Number?’ called=”Phone Number’/>
</map> 8th represents the coupling of the group Microsoft ® Outlook ® and Microsoft ® Excel ® with Google ® Earth through the transmitter via two double arrows located outside the interface. The 'phone lookup' transmitter 106 Connects to Google ® Earth to provide addresses for the people or phone numbers provided. As in 8th the user has one of the telephone numbers associated with "Adrian Kaehler" 124 selected, this results in a message with a corresponding telephone number via the message backplane to the "phone lookup" exchanger 106 is transmitted, which generates the corresponding addresses for the corresponding telephone number. Google ® Earth receives the address associated with the phone number and turns the picture of the earth to the position of the corresponding address corresponds to the selected telephone number. The transformer 106 may contain an extractor of application-relevant data that searches for matches between the data items in the messages transmitted by the message backplane and in a phone data type template that looks like this:
<map tid = 'phone number'>
<scalar label = 'Phone Number?' called = "Phone Number '/>
</ Map>
Daher
wird der Extraktor anwendungsrelevanter Daten die Datenelemente
aus den Mitteilungen entnehmen die den Datenelement-Bezeichner ”phone number” enthalten
und wird die entsprechende Telefonnummer nachschlagen und sie zu
einem COTS-Adapter für
Google® Earth übertragen,
der dann das Mitteilungs-Backplane-Format in das Google® Earth-Mitteilungsformat
konvertiert und zu Google® Earth überträgt.Therefore, the extractor application-relevant data is found in the data elements of the messages that contain the data item identifier "phone number" and will look up the phone number and transfer them to a COTS adapter for Google ® Earth, then the announcement backplane format Google ® Earth-message format converts and transfers to Google ® Earth.
9 stellt
ein Computersystem 200 dar das verwendet werden kann, um
die hierin beschriebenen Systeme und Methoden umzusetzen, wie zum Beispiel
durch auf diesem Computersystem ablaufende, von einem Computer ausführbare Befehle. Das
Computersystem 200 kann durch einen oder mehreren Universalnetzwerk-Computersystemen, eingebettete
Computersysteme, Router, Switches, Servereinheiten, Client-Einheiten,
verschiedene dazwischen liegende Einheiten/Knoten und/oder alleinstehende
Computersysteme implementiert werden. Zusätzlich kann das Computersystem 200 als
Teil eines computerunterstützten
Entwicklungs-(CAE)-Werkzeugs implementiert werden, das computerausführbare Befehle
ausführt,
um die hierin beschriebene Methode durchzuführen. 9 Represents a computer system 200 which may be used to implement the systems and methods described herein, such as, for example, computer-executable instructions executing on that computer system. The computer system 200 may be implemented by one or more universal network computer systems, embedded computer systems, routers, switches, server units, client devices, various intervening devices / nodes, and / or stand-alone computer systems. In addition, the computer system 200 as part of a Computer Aided Development (CAE) tool that executes computer-executable instructions to perform the method described herein.
Das
Computersystem 200 beinhaltet einen Prozessor 202 und
einen Systemspeicher 204. Ein Systembus 206 verbindet
verschiedene Systemkomponenten die auch Systemspeicher 204 und
Prozessor 202 umfassen. Auch können duale Mikroprozessoren
und andere Mikroprozessor-Architekturen in dem Prozessor 202 verwendet
werden. Der Systembus 206 kann in einer beliebigen von
verschiedenen Busstrukturtypen implementiert werden, die einen Speicherbus
oder Speicher-Kontroller, einen Peripheriebus, und einen lokalen
Bus umfassen, die eine beliebige von vielfältigen Bus-Architektur verwenden. Der
Systemspeicher 204 umfasst Festspeicher (ROM) 208 und
Arbeitsspeicher (RAM) 210. Ein Basis-Eingabe/Ausgabe-System (BIOS) 212 kann
sich in dem ROM 208 befinden, das üblicherweise die grundlegenden
Routinen enthält,
die helfen Information zwischen den Elementen innerhalb des Computersystems 300 zu übertragen,
wie zum Beispiel Reset oder Hochfahren.The computer system 200 includes a processor 202 and a system memory 204 , A system bus 206 connects various system components which also store system memory 204 and processor 202 include. Also, dual microprocessors and other microprocessor architectures may be in the processor 202 be used. The system bus 206 can be implemented in any of a variety of bus structure types, including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory 204 includes read-only memory (ROM) 208 and RAM 210 , A basic input / output system (BIOS) 212 can be in the ROM 208 which usually contains the basic routines that help information between the elements within the computer system 300 to transfer, such as reset or boot.
Das
Computersystem 200 kann umfassen: ein Festplattenlaufwerk 214,
ein magnetisches Diskettenlaufwerk 216, um zum Beispiel
entfernbare Disketten 218 zu lesen und zu beschreiben,
und ein optisches Laufwerk 220, um zum Beispiel CD-ROMs oder
DVD-Disks 222 auszulesen,
oder um andere optische Medien zu lesen oder zu beschreiben. Die Festplatte 240,
das magnetische Diskettenlaufwerk 216 und das optische
Laufwerk 220 sind jeweils mit dem Systembus 206 über eine
Festplattenschnittstelle 224, eine Schnittstelle für das magnetische
Diskettenlaufwerk 226 und eine Schnittstelle für das optische
Laufwerk 228 verbunden. Die Laufwerke und die damit verbundenen
computerlesbaren Medien stellen für das Computersystem 200 einen nicht-flüchtigen
Speicher für
Daten, Datenstrukturen und computer-ausführbare Befehle dar. Obwohl
sich die vorstehende Beschreibung von Computer-lesbaren Medien auf
Festplatten, entfernbare magnetische Disketten und eine CD beziehen,
können
ebenso andere Arten von computerlesbaren Medien benutzt werden.
Zum Beispiel können
die von einem Computer ausführbaren
Befehle zur Umsetzung der hierin beschriebenen Systeme und Methoden
auch auf einer magnetischen Kassette, Flash-Speicherkarten, digitalen Videodisketten
oder vergleichbarem gespeichert werden.The computer system 200 may include: a hard disk drive 214 , a magnetic disk drive 216 For example, removable disks 218 to read and write, and an optical drive 220 for example, CD-ROMs or DVD discs 222 or to read or write to other optical media. The hard disk 240 , the magnetic disk drive 216 and the optical drive 220 are each with the system bus 206 via a hard disk interface 224 , an interface for the magnetic disk drive 226 and an optical drive interface 228 connected. The drives and the associated computer-readable media pose for the computer system 200 Although the foregoing description of computer-readable media refers to hard disks, removable magnetic disks, and a CD, other types of computer-readable media may be used as well. For example, the computer-executable instructions for implementing the systems and methods described herein may also be stored on a magnetic cartridge, flash memory cards, digital video disks, or the like.
Ebenso
können
in dem einen oder den mehreren Laufwerken oder im RAM 210 eine
Reihe von Programmmodulen gespeichert werden, die ein Betriebssystem 230,
ein oder mehrere Anwendungsprogramme 232, andere Programmmodule 234 und
Programmdaten 236 beinhalten, so wie die in 1-8 beschriebenen
Systeme und Methoden zur Entnahme anwendungsrelevanter Daten aus
Mitteilungen.Likewise, in the one or more drives or in RAM 210 a set of program modules are saved, which is an operating system 230 , one or more application programs 232 , other program modules 234 and program data 236 include, as in 1 - 8th systems and methods for extracting application-relevant data from communications.
Ein
Benutzer kann Befehle und Information in das Computersystem 200 über ein
Benutzereingabegerät 240,
wie zum Beispiel ein Keyboard, ein Zeigegerät (z. B. eine Maus) eingeben.
Andere Eingabegeräte
können
ein Mikrofon, einen Joystick, ein Game-Pad, einen Scanner, einen
Touch-Screen oder ähnliches
umfassen. Diese und andere Eingabegeräte sind mit dem Prozessor 202 oft über eine
dazugehörige
Schnittstelle oder einen Bus 224 verbunden der mit dem
Systembus 206 verbunden ist. Alternativ können diese
Eingabegeräte
mit dem Systembus 206 über
andere Schnittstellen wie zum Beispiel über eine parallele Schnittstelle,
eine serielle Schnittstelle oder einem universellen seriellen Bus
(USB) verbunden werden. Auch können
ein oder mehrere Ausgabegeräte 244 wie
zum Beispiel ein visuelles Anzeigegerät oder ein Drucker mit dem
Systembus 206 über eine
Schnittstelle oder einen Adapter 246 verbunden werden.A user can send commands and information to the computer system 200 via a user input device 240 , such as a keyboard, enter a pointing device (such as a mouse). Other input devices may include a microphone, a joystick, a game pad, a scanner, a touch screen, or the like. These and other input devices are with the processor 202 often via an associated interface or bus 224 connected to the system bus 206 connected is. Alternatively, these input devices can be connected to the system bus 206 via other interfaces such as a parallel port, a serial port or a universal serial bus (USB). Also, one or more output devices 244 such as a visual display device or a printer with the system bus 206 via an interface or an adapter 246 get connected.
Das
Computersystem 200 kann in einer Netzwerkumgebung betrieben
werden die logische Verbindungen 248 zu einem oder mehreren
entfernten Computern 250 nutzt. Die entfernten Computer 250 können eine
Workstation, ein Computersystem, ein Router, ein Peer-Gerät oder andere
bekannte Netzwerkknoten sein, und enthalten typischerweise viele
oder alle der Elemente die in Verbindung mit dem Computersystem 200 beschrieben
wur den. Die logische Verbindung 248 kann ein lokales Netzwerk (LAN)
und ein Fernnetzwerk (WAN) umfassen.The computer system 200 can be operated in a network environment the logical connections 248 to one or more remote computers 250 uses. The remote computers 250 may be a workstation, a computer system, a router, a peer device, or other known network nodes, and typically includes many or all of the elements associated with the computer system 200 Written. The logical connection 248 may include a local area network (LAN) and a wide area network (WAN).
Wenn
eine LAN-Netzwerkumgebung verwendet wird, kann das Computersystem 200 mit
dem lokalen Netzwerk über
eine Netzwerkschnittstelle 252 verbunden werden. Beim Einsatz
in einer WAN-Netzwerkumgebung kann das Computersystem 200 ein
(nicht dargestelltes) Modem enthalten oder kann mit einem Kommunikationsserver über LAN
verbunden sein. In einer Netzwerkumgebung können die in Verbindung mit
dem Computersystem 200 beschriebenen Applikationsprogramme 232 und Programmdaten 236,
oder Teile davon, im Speicher 254 der entfernten Computer 250 gespeichert
werden.If a LAN network environment is used, the computer system may 200 with the local network via a network interface 252 get connected. When used in a WAN network environment, the computer system can 200 include a modem (not shown) or may be connected to a communication server via LAN. In a network environment, those can be used in conjunction with the computer system 200 described application programs 232 and program data 236 , or parts of it, in the store 254 the remote computer 250 get saved.
Das
oben Beschriebene sind Beispiele der vorliegenden Erfindung. Natürlich ist
es nicht möglich,
jede denkbare Kombination von Komponenten oder Methoden zur Darstellung
der vorliegenden Erfindung zu beschreiben, aber ein Fachmann erkennt, dass
viele weitere Kombinationen und Umsetzungen der vorliegenden Erfindung
möglich
sind. Daher ist es vorgesehen, dass die vorliegende Erfindung alle Änderungen,
Modifikationen und Abweichungen erfasst die in dem Geltungsbereich
der beigefügten
Ansprüche
fallen.The
The above are examples of the present invention. of course is
it is not possible
every conceivable combination of components or methods for presentation
of the present invention, but one skilled in the art will recognize that
many other combinations and reactions of the present invention
possible
are. Therefore, it is intended that the present invention all changes,
Modifications and deviations are included in the scope
the attached
claims
fall.