Field of the Invention
[0001] This invention relates generally to computer graphics systems. More particularly,
this invention relates to integrating information contained in a plurality of independent
computer graphics systems.
Background of the Invention
[0002] Frequently the user of a computer system, defined as a primary system, has a need
to utilize other computer systems, defined as secondary systems, because these secondary
computer systems offer the ability to perform tasks that the primary system does not
have the ability to perform and which are needed in conjunction with the tasks performed
by the primary system. This multi-system operation generally requires the user to
exit or suspend operation of the primary system, enter the secondary system, perform
the desired task, exit the secondary system, reenter or resume operation of the primary
system, and attempt to correlate the knowledge of the secondary system with the knowledge
of the primary system.
[0003] As an example, consider a primary system which displays road maps, and two secondary
systems. Suppose the first secondary system can identify the best route from one point
to another, and the second secondary system can identify the location of detours or
closed roads. A user of the primary system who wanted to find the best route between
two points would need to exit the primary system and enter the first secondary system
to identify the best route. The user would then need to correlate the best route information
obtained from the first secondary system with the map in the primary system. Further,
if the user wanted to determine if there were any detours or closed roads on the identified
best route, the user would need to exit the primary system and enter the second secondary
system for the information. Again, the user would then need to correlate the detour
information with the map from the primary system and the best route information from
the first secondary system. As can be seen, the correlation of information from independent
systems can become a difficult task.
Summary of the Invention
[0004] The present invention is a system that integrates the knowledge domains of two or
more computer graphics systems. The knowledge domain of a system is defined to be
the set of knowledge, information, or intelligence that the system knows how to process
or operate on. This invention enables multiple graphical computer systems that were
independently developed and that deal with different knowledge domains to interact
and effectively integrate their knowledge domains. This invention enables the user
of a primary computer graphics system to extend its knowledge domain to include the
knowledge domain of other secondary computer graphics systems thereby increasing the
utility of the primary computer system to the user. Knowledge from the secondary computer
systems can be displayed, queried, and have other operations performed on it from
inside the primary system. Knowledge domains may be integrated through knowledge domain
integrators, which act as integrative intermediaries controlling and managing the
flow of knowledge between systems. The knowledge domain integrator allows knowledge
from secondary systems to be displayed and managed through the user interface of the
primary system thereby integrating the knowledge of multiple systems in one display.
[0005] This invention enables secondary systems to be invoked from inside the primary system
(i.e. without exiting or suspending operation of the primary system), perform a desired
task in the secondary system, and have the results of that task (e.g. request for
the display of information) passed back to the primary system and displayed and manipulated
on the screen of the primary system. Thus, the secondary system is used through the
user interface of the primary system with the knowledge of both systems integrated
on the screen of the primary system.
[0006] These and other advantages of the invention will be apparent to those of ordinary
skill in the art by reference to the following detailed description and the accompanying
drawings.
[0007] The detailed description given below describes the invention without reference to
any specific type of computer graphics system. Following the detailed description
is an example which describes the system in connection with a specific application,
namely, the map implementation discussed above in the background of the invention.
Brief Description of the Drawings
[0008] Fig. 1 shows a schematic of the components of a computer system which can be used
in accordance with the present invention.
[0009] Fig. 2 is a block diagram of the high level architecture of two computer systems
in accordance with the present invention.
[0010] Fig. 3 shows a flow diagram of the functioning of the knowledge domain integrator
of a primary system according to the present invention.
[0011] Fig. 4 shows a flow diagram of the functioning of the Retrieve function of the knowledge
domain integrator.
[0012] Fig. 5 shows a flow diagram of the functioning of the Display function of the knowledge
domain integrator.
[0013] Fig. 6 shows a flow diagram of the functioning of the Query function of the knowledge
domain integrator.
[0014] Fig. 7 shows a flow diagram of the functioning of the Modify function of the knowledge
domain integrator.
[0015] Fig. 8 shows a flow diagram of the functioning of the List function of the knowledge
domain integrator.
[0016] Fig. 9 shows a flow diagram of the functioning of the Set Options function of the
knowledge domain integrator.
[0017] Fig. 10 shows a flow diagram of the functioning of the knowledge domain integrator
of a secondary system according to the present invention.
[0018] Fig. 11 is a block diagram of the high level architecture of three computer systems
in accordance with the present invention.
[0019] Fig. 12 shows a map display in accordance with an example illustrative of the present
invention.
[0020] Fig. 13 shows the map display of Fig. 11 with graphics which were obtained from secondary
systems superimposed on the display.
Detailed Description
[0021] The computer systems described herein may be of the type shown in Fig. 1. Fig. 1
shows a computer system 100 which comprises a display monitor 101 for the display
of graphical and textual information, a keyboard 102 for textual entry of information,
a mouse 107 for the entry of graphical data, a computer processor 105, a memory 103
for the storage of data items, a printer 104 to produce hard copy output, and an external
storage device 106 for the storage of data. The computer processor 105 is connected
to the memory 103, the display monitor 101, the keyboard 102, the mouse 107, the printer
104 and the external storage device 106. Other graphical entry devices, such as a
light pen (not shown) can be substituted for the mouse 107. The general purpose computer
100 may suitably be any one of the types which are well known in the art such as a
mainframe computer, a minicomputer, a workstation, or a personal computer. In one
embodiment of the invention, the computer processor contains program code to implement
the invention.
[0022] Fig. 2 shows a block diagram of the high level architecture of two computer systems
in accordance with the present invention. A primary system (PS) 110 is shown comprising
a primary system knowledge domain integrator 114 and a knowledge domain 116. The knowledge
domain 116 represents the primary system's set of knowledge, information, intelligence
and algorithms that the primary system 110 operates on. The knowledge domain integrator
114 manages the flow of information between systems, and will be discussed in more
detail below. A secondary system 120 also comprises a knowledge domain integrator
124 and a knowledge domain 126.
[0023] The primary system 110 is connected to the secondary system 120 by communications
network 140 to allow the primary system 110 to request and receive information from
the secondary system 120. The communication between the primary system 110 and the
secondary system 120 is controlled by the knowledge domain integrators 114, 124. The
communication method may be of any type such that the primary system 110 and secondary
system 120 can exchange information. Such communication methods include, without limitation,
network links and shared memory. These methods could be readily implemented by one
skilled in the art of data communications. A user of the primary system 110 may request
knowledge from secondary system 120 by sending a request for knowledge to the secondary
system 120 over the communication network 140. The secondary system 120 processes
the request and passes back the knowledge in a set of one or more knowledge packets
to the primary system 110 over the communications network 140. A knowledge packet
(KP) is a collection of graphical and/or textual information or knowledge. A knowledge
packet consists of knowledge packet atomics which are more elemental units of knowledge
that are aggregated into a knowledge packet. This in effect gives a flexible hierarchical
representation of knowledge as knowledge packet atomics grouped into knowledge packets
which could be further grouped into other knowledge packets and so on. A knowledge
packet has a set of attributes which may include an identifier, type, description,
source, date retrieved, date last modified, and contents of the data packet (i.e.
information requested by a request).
[0024] Each system 110 and 120, as a graphically-based system, has the ability to store,
display, and generally manage graphics. Note that graphics refers to graphics and
text in that text is just one type of graphics. The technique of graphical superimposition
is used to positionally associate graphics for related knowledge packets using a common
coordinate system. The primary system 110 and secondary system 120 must have common
graphical representations or ones that can be cross mapped. If the primary system
110 and secondary system 120 have different coordinate systems and geometric representations,
the knowledge domain integrators convert between them. This conversion is discussed
below in conjunction with Fig. 4, and in particular step 302. The primary system 110
must have the ability to transmit a request to and receive a response from the secondary
system 120. The secondary system 120 must have the ability to receive a request from
the primary system 110, generate a response to the request, and transmit the response
to the primary system 110.
[0025] Fig. 3 shows a flow diagram of the functioning of the knowledge domain integrator
114 of the primary system 110. The functioning of the knowledge domain integrator
124 of the secondary system 120 is discussed below in conjunction with Fig. 10. The
knowledge domain integrator 114 is invoked from the primary system 110 in step 200.
The user selects a function in step 201. The knowledge domain integrator 114 determines
in step 202 if the user selected the Retrieve function, and if so, then it calls the
Retrieve function in step 203 (Fig. 4). The knowledge domain integrator 114 determines
in step 204 if the user selected the Display function, and if so, then it calls the
Display function in step 205 (Fig. 5). The knowledge domain integrator 114 determines
in step 206 if the user selected the Query function, and if so, then it calls the
Query function in step 207 (Fig. 6). The knowledge domain integrator 114 determines
in step 208 if the user selected the Modify function, and if so, then it calls the
Modify function in step 209 (Fig. 7). The knowledge domain integrator 114 determines
in step 210 if the user selected the List function, and if so, then it calls the List
function in step 211 (Fig. 8) . The knowledge domain integrator 114 determines in
step 212 if the user selected the Set Options function and if so, then it calls the
Set Options function in step 213 (Fig. 9). The knowledge domain integrator 114 determines
in step 214 if the user selected Exit, and if so, then the knowledge domain integrator
114 is exited in step 215, else, go to step 201.
[0026] The Retrieve function allows a user of the primary system 110 to request and retrieve
information from the secondary system 120, and is described in conjunction with Figure
4. The Retrieve function is entered in step 300. A retrieve request is entered at
step 301. Such a request involves the identification of the secondary system 120 and
the definition of secondary system retrieval parameters. These retrieval parameters
are passed to the secondary system 120 over communications network 140 as a request
for knowledge, and the retrieval parameters define what knowledge is being requested
and how the knowledge is to be communicated. For example, the retrieval parameters
may define whether the information is returned by way of a file, shared memory, or
some other communication method. The retrieval parameters may also define the recipient(s)
of the returned knowledge packet. For example, the request for knowledge could include
a parameter which indicates that the knowledge packet returned from the secondary
system 120 is to be sent to other systems, as well as, or instead of, the primary
system 110. The secondary system 120 processes the request for knowledge and creates
a set of one or more knowledge packets which are passed to the primary system 110
and converted and stored by the primary system in step 302.
[0027] Conversion of the returned knowledge packet is necessary when the primary system
110 and the secondary system 120 have different graphics formats such that the knowledge
packet returned to the primary system 110 from the secondary system 120 is in a format
not understood by the primary system 110. For example, the secondary system 120 may
define a line as:
SEGMENT (X, Y), (ΔX, ΔY)
where (X, Y) represents the X, Y coordinates of the starting point of the line, and
the ending point coordinates are calculated as (X + ΔX , Y + ΔY) . Thus, (ΔX, ΔY)
represents the ending point of the line relative to the starting point.
[0028] The primary system 110 may define a line as
LINE (X₁, Y₁) , (X₂, Y₂)
where (X₁, Y₁) is the absolute X, Y coordinates of the starting point of the line
and X₂, Y₂ is the absolute X, Y coordinates of the ending point of the line.
[0029] Thus, the conversion in step 302 enables the primary system 110 to store the information
received from the secondary system 120 in the primary system's native graphics format.
The conversion also enables the primary system 110 to display the information received
from the secondary system 120 in the primary system's normal display mode. The above
example would require routine mapping techniques which could be readily implemented
by one skilled in the art of computer graphics. Thus, in the above example, the secondary
system's definition of SEGMENT (X, Y), (ΔX, ΔY) would be converted to the primary
system's native format as LINE (X, Y), (X + ΔX, Y + ΔY). Similar mappings may be required
for other geometric constructs such as text, polygons, circles, etc. Coordinate system
transformations may also be required. For example, dimensions may be represented differently
in the two systems. Transformations such as miles to kilometers may be required. Such
mappings and transformations could also be readily implemented by one skilled in the
art of computer graphics.
[0030] Returning to Fig. 4, the knowledge domain integrator 114 determines in step 303 if
the display on retrieval option (options are discussed below in conjunction with Fig.
9) is set to yes, and if so, then it calls the Display function in step 304 (the Display
function is discussed below in conjunction with Fig. 5). The knowledge domain integrator
114 determines in step 305 if another retrieval request is desired, and if so, then
it goes to step 301, otherwise it returns in step 306. After a retrieval is processed
a list of one or more knowledge packets have been created which are stored within
the primary system 110 and which can be operated on by the Display, Query, Modify,
List, and Options capabilities described below.
[0031] The Display function is described in conjunction with Fig. 5. The Display function
is invoked at step 400. A display request is entered at step 401. The request may
be to turn on or off the display of one or more knowledge packets which are stored
in the primary system 110. As discussed above, the knowledge packets which are stored
in the primary system 110 are stored in the primary system's native graphics format.
As a graphics system, the primary system has the ability to store and manage graphics.
Part of this ability is to access each piece of graphics information individually.
This ability is used to process the collection of stored KPs. Functions are implemented
to control the display of the first, last, next, and previous KP in the requested
list or among the entire domain of all KPs.
[0032] Alternatively an entire list of KPs can be turned on or off in one request. When
a request to turn on the display of a KP is made, the display attributes, such as
color, of the KP may be specified as well. The knowledge domain integrator 114 determines
in step 402 if the request is to display the first KP, and if so, then the first KP
among the set requested is located and displayed in step 403. This displayed KP is
defined as the current KP. All requests for a next or previous KP are made relative
to the current KP. Each subsequently displayed KP becomes the current KP.
[0033] The knowledge domain integrator 114 determines in step 404 if the request is to display
the next KP, and if so, it locates the next KP and displays it in step 405. The knowledge
domain integrator 114 determines in step 406 if the request is to display the last
KP, and if so, it locates the last KP and displays it in step 407. The knowledge domain
integrator 114 determines in step 408 if the request is to display the previous KP,
and if so, it locates and display the previous KP in step 409. If the first KP is
the current KP then a request for the previous KP will result in a message that there
is no previous KP. Similarly, if the last KP is the current KP then a request for
the next KP will result in a message that there is no next KP. As an alternative to
these error messages, the KP list could be implemented to wrap around from first to
last and last to first. If this option were implemented, then a request for the next
KP when the current KP is the last KP will result in the first KP. Similarly, a request
for the previous KP when the current KP is the first KP will result in the last KP.
[0034] Returning to Fig. 5, the knowledge domain integrator 114 determines in step 410 if
the request is to display a list, and if so, it locates and displays each KP in the
list in step 411. The knowledge domain integrator 114 determine in step 412 if another
display request is desired, and if so, then it goes to step 401, else it returns in
step 413. If requested as an option (options are discussed below in conjunction with
Fig. 9), as KPs are displayed graphically, a textual display may be created in a separate
area of the display screen 101 that specifies each KP and its attributes.
[0035] The Query function is described in conjunction with Fig. 6. The Query function is
invoked at step 500. The Query function enables the user of the knowledge domain integrator
to point to a KP on the display screen 101 and request additional information. In
this sense it represents a variation on the Retrieve function, which is used as part
of the implementation of the Query function. Query is easier and faster to use when
additional information is required for an existing KP. By identifying the KP graphically
and accessing its attributes in the primary system the request for additional information
is made easier. A query request is entered at step 502 by pointing to an existing
KP on the display screen 101 using the mouse 107 or other suitable pointing device.
The identified or pointed to KP is located in step 503. The Retrieve function is called
in step 504 with the specified KP as part of the parameters that are passed to the
secondary system 120 as part of the request for additional information. Optionally,
the response to the query will be constructed by appending the additional information
to the original KP or a new KP will be created (see discussion of the secondary system
knowledge domain integrator below, in conjunction with Fig. 10). The knowledge domain
integrator 114 determines in step 505 if another query is desired, and if so, then
go to step 502, else return in step 506.
[0036] The Modify function is described in conjunction with Fig. 7. The Modify function
is invoked at step 600. The Modify function allows the user to modify an existing
KP shown on the display screen 101 using the graphical editing techniques described
below. A modify request is entered at step 601. The knowledge domain integrator 114
determines in step 602 if move is requested, and if so, then any part or all of the
graphics associated with a KP or group of KPs are moved in step 603. The knowledge
domain integrator 114 determines in step 604 if rotate is requested, and if so, then
part or all of the graphics associated with a KP or group of KPs are located and rotated
in step 605. The knowledge domain integrator 114 determines in step 606 if delete
is requested, and if so, then part or all of the graphics associated with a KP or
group of KPs are located and deleted in step 607. The knowledge domain integrator
114 determines in step 608 if change attribute is requested, and if so, then the attributes
of part or all of the graphics associated with a KP or group of KPs are located and
changed in step 609. This may include any graphical attributes (e.g. text height or
line thickness). The knowledge domain integrator 114 determines in step 610 if add
is requested, and if so, a new KP is added or atomics are added to an existing KP
in step 611. An atomic may be any graphical object (circle, ellipse, line, polygon,
text, etc). The knowledge domain integrator 114 determines in step 612 if annotate
is requested, and if so, then the KP textual attributes, such as description and type
information, are annoted (added/edited) in step 613. The knowledge domain integrator
114 determines in step 614 if another modify request is desired, and if so, then it
goes to step 601, else it returns in step 615. Although not discussed here, other
well known graphical editing techniques could be implemented, such as cut and paste,
and shrink and magnify.
[0037] The List function is described in conjunction with Fig. 8. The List function is invoked
at step 700. The List function allows the user to perform various tasks on the list
of KPs in the primary system 110. A list request is entered at step 701. The knowledge
domain integrator 114 determines in step 702 if the request is list, and if so, then
a list of all KPs is generated in step 703. The knowledge domain integrator 114 determines
in step 704 if the request is Report, and if so, then a customizable report of all
KPs and their attributes (identification, type, description, source, date created,
last date modified, etc.) is generated in step 705. The report is customizable in
that any subset of KP attributes can be requested to be included or excluded from
the report. The knowledge domain integrator 114 determines in step 706 if the request
is Search, and if so, then a search of all the KPs is performed and a list and optionally
a customizable report of the KPs matching the search conditions is generated in step
707. If the result of the search is one KP, then that KP becomes the current KP for
Display function purposes. In the case of list, report, and search, the results can
be sent to the display screen 101, printer 104, or external storage 106. The knowledge
domain integrator 114 determines in step 708 if another list request is desired, and
if so, then it goes to step 701, else it returns in step 709.
[0038] The Set Options function is described in conjunction with Fig. 9. The Set Options
function is invoked at step 800. An option request is entered at 801. The knowledge
domain integrator 114 determines in step 802 if the retrieval system options are selected,
and if so, then the retrieval system options are set in step 803 for one or more secondary
systems (e.g., default system identification and retrieval parameters). These options
are defaults which may be overridden at the time a retrieve is requested. The knowledge
domain integrator 114 determines in step 804 if the display on retrieval option is
requested, and if so, then the display on retrieval option is set on or off in step
805. The knowledge domain integrator 114 determines in step 806 if the set default
KP parameters is requested, and if so, then default KP parameters (e.g. id, type,
description) are set in step 807. The knowledge domain integrator 114 determines in
step 808 if the report destination option is requested, and if so, then the report
destination (e.g. screen 101, printer 104, external storage 106) is set in step 809.
The knowledge domain integrator 114 determines in step 810 if the textual display
of KPs option is requested, and if so, then the KP textual display option is set on
or off in step 811. The knowledge domain integrator 114 determines in step 812 if
another option request is desired, and if so, then it goes to step 801, else it returns
in step 813.
[0039] The secondary system knowledge domain integrator 124 is discussed in conjunction
with Fig. 10, which shows a flow diagram of the functioning of the secondary system
knowledge domain integrator 124. The secondary system knowledge domain integrator
124 is invoked from the secondary system 120 in step 1200. The secondary system 120
receives a request for information in step 1201. The requested information is located
in the secondary system's knowledge domain 126 in step 1202. The knowledge domain
integrator 124 determines in step 1203 if the request was to append the requested
information to an already existing knowledge packet. This would be an option if the
primary system 110 requested the information from the secondary system 120 by using
the Query function (discussed above in conjunction with Fig. 6). Information specifying
whether or not to append the requested information to an already existing KP would
be passed as a retrieval parameter (discussed above in conjunction with Fig. 4). If
the request was to append the information, then the requested information is appended
to the existing KP, which was sent with the request for information, in step 1205.
If there was not a request to append the requested information to an existing KP,
then a new KP containing the requested information is created in step 1204. The KP
containing the requested information is sent to the primary system 110 in step 1206
via communication network 140. The knowledge domain integrator 124 is exited in step
1207.
[0040] Each of the tasks described above in conjunction with Figs. 3-10 could be readily
implemented by one skilled in the art of computer graphics and programming. The functions
utilize routine programming skills to access and manipulate sets of graphics.
[0041] It is to be understood that the above description illustrates an embodiment in which
computer system 110 operates as only a primary system and computer system 120 operates
as only a secondary system. However, if the functions of the secondary system knowledge
domain integrator 124 as described in conjunction with Fig. 10, were implemented in
the primary system 110, then the primary system 110 could function as both a primary
system by requesting information from other systems, and as a secondary system, by
receiving requests for information from another system, processing those requests,
and transmitting knowledge packets. Similarly, if the functions of the primary system
knowledge domain integrator 114, as described in conjunction with Figs. 3-9, were
implemented in the secondary system 120, then the secondary system 120 could function
as both a secondary system by receiving requests for information from other systems,
processing those requests, and transmitting knowledge packets, and as a primary system
by requesting information from other systems.
[0042] An example of the functioning of the present invention is given using the mapping
example discussed above in the background of the invention. Referring to Fig. 11,
assume a primary system 910 comprising a knowledge domain integrator 914 and a knowledge
domain 916. The knowledge domain 916 of the primary system 910 contains information
on road maps. Thus, the function of primary system 910 is to display road maps. In
the example under discussion, there are two secondary systems 920 and 930. Secondary
system 920 comprises a knowledge domain integrator 924 and a knowledge domain 926.
The knowledge domain 926 of secondary system 920 contains information relating to
the distances of routes between points and thus secondary system 920 is capable of
determining the shortest distance route between two points. Secondary system 930,
also comprises a knowledge domain integrator 934 and a knowledge domain 936. The knowledge
domain 936 of secondary system 930 contains information relating to travel time, detours
and accidents, and thus secondary system 930 is capable of determining estimated travel
times and alternate faster routes.
[0043] Primary system 910 is connected to secondary system 920 by communications network
940 to allow the primary system knowledge domain integrator 914 to request and receive
information from the secondary system knowledge domain integrator 924. Primary system
910 is connected to secondary system 930 by communications network 945 to allow the
primary system knowledge domain integrator 914 to request and receive information
from secondary system knowledge domain integrator 934.
[0044] Thus, in the context of this example, the invention will enable the user of the primary
system 910 which displays maps to request the shortest route between two points from
secondary system 920 without exiting the primary system 910. The secondary system
920 will identify the shortest route, pass the route information back to the primary
system 910 as a knowledge packet, and this information will be superimposed on the
display screen 101 of the primary system 910. The user can then request from secondary
system 930 the estimated travel time and if there are any faster alternate routes,
and that information may also be displayed on the screen 101 of the primary system
910. Thus, three independently developed systems, 910, 920, 930, have their knowledge
domains 916, 926, 936 integrated and presented to the user through the user interface
of the primary system 910.
[0045] In the present example, assume the user is using primary system 910 to display the
map shown in Fig. 12. Fig. 12 shows an outline of a screen display 1002, within which
there are various lines, 1005, 1006, 1007, 1008, 1009, 1010 representing roads on
a map. Assume the user wants information on the shortest route between points A and
B. As can be seen in Fig. 12, the shortest route between points A and B is the two
line segment (X₁,Y₁)→(X₂,Y₂)→(X₃,Y₃). As discussed above, secondary system 920 is
capable is providing such information. The user would invoke the knowledge domain
integrator 914 of primary system 910 in order to access the knowledge domain 926 of
secondary system 920.
[0046] The user of the primary system 910 invokes the knowledge domain integrator 914, and
enters a retrieve request. The retrieve function is discussed above in conjunction
with Fig. 4. The primary system 910 passes a request 950 to secondary system 920 over
communication network 940 requesting the shortest distance route from point A to point
B. Secondary system 920 invokes its knowledge domain integrator 924 (discussed above
in conjunction with Fig. 10) and receives the request, locates the requested information
and transmits a knowledge packet 952 over communication network 940. The knowledge
packet 952 contains two atomics 953 and 954 representing the two line segments which
portray the shortest distance route between points A and B. As discussed above in
conjunction with Fig. 4, and in particular step 302, the knowledge packet 952 passed
back to primary system 910 may contain information expressed in a format which is
not the native graphics format of the primary system 910. In this situation, the information
must be converted to the format native to primary system 910. Once the information
is converted into a format recognized by the primary system 910, the knowledge packet
is stored in the primary system as shown at 955.
[0047] This information may then be displayed on the display screen 101 of the primary system
910 by using the Display function, discussed above in conjunction with Fig. 5. Thus,
the user of the primary system 910 would request that KP1 955 be displayed on the
display screen 101 superimposed over the map shown in Fig. 12. The result of the request
is shown in Fig. 13. Bold line 1102 represents the shortest route between points A
and B as retrieved from secondary system 920 in KP1 952 and converted and stored in
primary system 910 as KP1 955.
[0048] The user could then use the Query function, discussed in conjunction with Fig. 6,
to request estimated travel time and alternate faster routes from secondary system
930. The user would point to line 1102 on the computer screen 101, using for example
the mouse 107 or other suitable pointing mechanism. This line 1102 represents KP1
955 stored in primary system 910. Thus, primary system 910 will send a request to
secondary system 930, requesting estimated travel time between points A and B and
alternate faster routes. As discussed above in conjunction with Fig. 6, since this
is a Query request, KP1 is sent to secondary system 930 as part of the request for
information. This request for knowledge is represented in Fig. 11 at 960. Secondary
system 930 will invoke its knowledge domain integrator 934 (discussed above in conjunction
with Fig. 10) and will receive the request, locate the requested information, and
return two knowledge packets 962 and 970 to primary system 910. It is assumed here
that the parameters in the request for information 960 indicated that a new KP should
be created instead of appending the information to an existing KP (see discussion
in connection with Fig. 10 and step 1203 above). KP2 962 relates to route (X₁,Y₁)→(X₂,Y₂)→(X₃,Y₃)
and contains two KP atomics 963 and 964. These KP atomics indicate that there is an
accident along the route and that the travel time is 60 minutes. KP3 970 relates to
an alternate identified route (X₁,Y₁)→(X₄,Y₄)→(X₃Y₃) and contains three KP atomics
971, 972, 973. KP atomics 971 and 972 specify the two line segments which represent
the alternate route, and KP atomic 973 specifies text related to the alternate route
which indicates 30 minutes travel time. Assuming secondary system 930 uses the same
graphics format of primary system 910, there is no need to convert the graphics descriptions
in the knowledge packets 962 and 970. Thus, the knowledge packets 962 and 970 are
stored in the primary system 910 as shown at 965 and 966 respectively.
[0049] The user of the primary system 910 could then invoke the Display function (discussed
above in conjunction with Fig. 5) to display the knowledge packets 965 and 966. The
result would be as shown in Fig. 13 where an accident is identified at point X₅Y₅,
the travel time of 60 minutes is displayed at 1104, and the dotted line alternate
route 1106 between points A and B is displayed with the travel time shown as 30 minutes
1108.
[0050] Thus, as shown in this example, three independently developed systems, 910, 920,
930 have their knowledge domains 916, 926, 936 integrated and presented to the user
through the user interface of the primary system 910.
[0051] It is to be understood that the embodiments and variations shown and described herein
are illustrative of the principles of this invention only and that various modifications
may be implemented by those skilled in the art without departing from the scope and
spirit of the invention. For example, this invention may be extended to any number
of secondary systems.
1. A system for integrating the knowledge domains of a plurality of computer systems,
said system comprising:
a first computer system;
a second computer system;
a communications network connected to said first computer system and said second
computer system;
said first computer system further comprising:
a computer processor,
a first knowledge domain,
a graphical display monitor connected to said computer processor,
means for displaying graphical information from said first knowledge domain on
said graphical display monitor,
means for generating a request for information and for transmitting said request
for information to said second computer system over said communications network,
means for receiving a knowledge packet from said second computer system over said
communications network, wherein said knowledge packet comprises graphical information
responsive to said request for information,
means for converting said graphical information in said knowledge packet into the
native format of said first computer system,
means for displaying said knowledge packet integrated with graphical information
from the first knowledge domain on the graphical display monitor, and
means for storing said knowledge packet;
said second computer system further comprising:
a computer processor,
a second knowledge domain,
means for receiving a request for information from said first computer system,
means for locating said requested information in said second knowledge domain,
and
means for transmitting a knowledge packet to said first computer system, wherein
said knowledge packet comprises information responsive to said request for information.
2. The system of claim 1 wherein said first computer system further comprises:
means for pointing to a knowledge packet displayed on the graphical display monitor
when additional information is desired relating to said pointed to knowledge packet;
and
means for generating a request for additional information relating to said pointed
to knowledge packet and for transmitting said request for additional information to
said second computer system.
3. The system of claim 2 wherein said request for additional information comprises said
pointed to knowledge packet.
4. The system of claim 3 wherein said second computer system further comprises:
means for locating information responsive to said request for additional information
in said second knowledge domain;
means for generating a knowledge packet responsive to said request for additional
information and for transmitting said knowledge packet to said first computer system
over said communication network;
wherein said knowledge packet responsive to said request for additional information
comprises:
said pointed to knowledge packet; and
said information responsive to said request for additional information.
5. A primary computer system capable of integrating a secondary knowledge domain of a
secondary computer system, said primary system comprising:
a primary knowledge domain;
a computer processor;
a display monitor connected to said computer processor for displaying information;
means for displaying information from the primary knowledge domain;
means for generating a request for information and for transmitting said request
for information to said secondary computer system;
means for receiving secondary knowledge domain information from said secondary
computer system responsive to said request for information;
means for storing said received secondary knowledge domain information in said
primary computer system; and
means for displaying said received secondary knowledge domain information integrated
with the primary knowledge domain information.
6. The system of claim 5 wherein said secondary knowledge domain information is in a
different graphics format than said primary knowledge domain information, wherein
said means for displaying said received secondary knowledge domain information integrated
with the primary knowledge domain information further comprises means for converting
said secondary knowledge domain information into the graphics format of said primary
knowledge domain information.
7. The system of claim 5 further comprising:
means for identifying secondary knowledge domain information on said display monitor
when additional information related to said identified information is desired; and
means for generating a request for additional information responsive to said identified
information and for transmitting said request for additional information to said secondary
computer system.
8. The system of claim 5 wherein said secondary knowledge domain information received
from said secondary computer system and stored in said primary computer system is
contained in knowledge packets.
9. The system of claim 8 further comprising means for generating a list of knowledge
packets stored in said primary computer system.
10. The system of claim 9 wherein said list of knowledge packets is a subset of all knowledge
packets stored in the primary computer system.
11. The system of claim 9 further comprising: means for displaying on the display monitor
said knowledge packets in said list of knowledge packets.
12. The system of claim 11 further comprising means for graphically editing said knowledge
packets in said list of knowledge packets.
13. A method of operation of a primary computer system for integrating the primary knowledge
domain of the primary computer system with a secondary knowledge domain of a secondary
computer system, said method comprising the steps:
displaying information from the primary knowledge domain on a display monitor;
generating a request for information;
transmitting said request for information to said secondary computer system;
receiving secondary knowledge domain information responsive to said request for
information from said secondary computer system;
storing said secondary knowledge domain information in said primary computer system;
and
displaying said secondary knowledge domain information on the display monitor integrated
with the primary knowledge domain information.
14. The method of claim 13 further comprising the step of converting said secondary knowledge
domain information into the graphics format of the primary computer system.
15. The method of claim 13 further comprising the steps of:
receiving an identification of secondary knowledge domain information which is
displayed on said display monitor; and
generating a request for additional information relating to said identified secondary
knowledge domain information.
16. A method of operation of a primary computer system and a secondary computer system,
for integrating the knowledge domains of the computer systems, wherein said primary
computer system comprises a primary knowledge domain, and wherein said secondary computer
system comprises a secondary knowledge domain, said method comprising the steps:
the primary computer system generating a request for information from the secondary
knowledge domain and transmitting said request to the secondary computer system;
the secondary computer system receiving said request for information and generating
a first knowledge packet responsive to said request for information and transmitting
said first knowledge packet to the primary computer system;
the primary computer system receiving said first knowledge packet and displaying
said first knowledge packet integrated with primary knowledge domain information on
a display monitor; and
the primary system storing said first knowledge packet.
17. The method of claim 16 further comprising the step of:
the primary system transmitting said first knowledge packet to said secondary computer
system when additional information relating to said first knowledge packet is desired.
18. The method of claim 17 further comprising the step of:
the secondary computer system receiving said first knowledge packet and generating
a second knowledge packet comprising additional information related to said first
knowledge packet.