Abstract:
A Connection Server provides very flexible structures for the identification of objects to be interconnected, the identification of the links which connect them, and the auxiliary information needed to materialize objects when they are referenced. The connection Server is designed as a stand-alone reusable component. It interfaces with other independent components for services such as classification attributes, distributed database services, Noumena (object) storage, etc. Clean public programming interfaces are available for all components. It is independent from the &#34;front-end&#34;, the user driven display of the Connections and associated meta-data. It is independent from any authoring facilities which may be used to customize the services, meta-data, etc., that are provided.

Description:
This application is a continuation of application Ser. No. 08/267,022, filed Jun. 21, 1994, now abandoned. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of Invention 
     The present invention relates to a system for managing data object links. More specifically, the present invention provides for a generic link(connection) server which is accessible to a multitude of differing systems. 
     2. Related Materials and Definitions 
     This application is related to the following co-pending applications which are hereby incorporated by reference: 
     UNIVERSAL TAG IDENTIFIER ARCHITECTURE--Ser. No. 07/963,885, now U.S. Pat. No. 5,414,841, 
     METHOD FOR GENERATING CONNECTIONS BETWEEN OBJECTS IN A COMPUTER NETWORK (GRINDING) (application Ser. No. 08/262,999) now U.S. Pat. No. 4,608,900, 
     FACILITY FOR THE INTELLIGENT SELECTION OF INFORMATION OBJECTS (PERSONA) (application Ser. No. 08/262,834), pending 
     FACILITY FOR THE STORAGE AND MANAGEMENT OF INFORMATION OBJECTS (NOUMENA SERVER) (application Ser. No. 08/263,146), now U.S. Pat. No. 5,557,740, 
     METHOD FOR ASSOCIATION OF HETEROGENEOUS INFORMATION (application Ser. No. 08/263,379) 
     METHOD FOR STORING AND RETRIEVING HETEROGENEOUS CLASSIFICATION SYSTEMS (application Ser. No. 08/263,379), pending. 
     The following definitions may be helpful to the understanding of the terminology as cited throughout the above related materials. This terminology may be used throughout the background, specification and claims of the present invention: 
     Tags: Tags are globally unique identifiers. Tags are sequentially numbered identifiers identifying data objects (i.e. video, text, audio, observations, opinions, etc.) 
     Phenomena: The logical structure of the system begins with a unit of human perception, the &#34;phenomena&#34;. In the universe of a computer system, &#34;Phenomena&#34; is defined as a representation of phenomena which exist in the universe of human experience. Phenomena can be ideas, written matter, video, computer data, etc. Examples include viewing a computer file using a word processor, watching a digital video clip, or listening to a digital audio segment. 
     Connections: That which gathers (or links) Phenomena into interrelated collections. Connections are that which lead the user from one Phenomena to another Phenomena. Connections are not simply a road-map from a Phenomena to all other Phenomena. More specifically, Connections represent an observation of related Phenomena made by human or by computer observers. 
     Connection Attributes: In the logical structure of the system, &#34;Connection Attributes&#34; allow the entire network of Phenomena and Connections to become usable to each user of the system. Connection Attributes store the rationale behind each connection. In fairly generic terms, Connection Attributes describe the Who, What, Where, When and Why of a particular observation. 
     Noumena: Another concept in the logical structure of the system is &#34;Noumena&#34;. Noumena are that which lie beyond the realm of human perception. In computer-based systems, such as the instant invention, they are the computer stored data, examples are &#34;computer files&#34; or datasets&#34; When these computer files, the Noumena, are observed in their &#34;raw&#34; form, they do not resemble pictures, sounds, nor words. These Noumena resemble a series of bits, bytes, or numbers. These computer files must be manipulated by computer programs, &#34;Phenominated&#34;, to become as they appear to the observer. In the present system, Noumena are all of the generic format computer files needed to produce a representation of a Phenomena. This includes the computer data files as well as the computer program files. 
     Grinding: Grinding is a systematic, computer-based observation of Phenomena. This is typically done with a &#34;narrow view&#34;. The programs are usually looking for well defined criteria. When Phenomena are observed by the computer programs, the programs make Connections between the observed Phenomena and other Phenomena known by the programs. In effect, acting as a human observer would when viewing a Phenomena and manually Connection it to other Phenomena. 
     Persona: to determine the value of information based on each user&#39;s subjective preferences. 
     Capture: During knowledge capture, the human or computer observer Connects two Phenomena and provides the rationale for the Connection by supplying Connection Attributes. The user can also Connect a new Phenomena to previously existing Phenomena. 
     Retrieve: During knowledge retrieval, an observer navigates from Phenomena to Phenomena via Connections. Knowledge is delivered by experiencing the reconstituted Phenomena. Which knowledge is delivered is controlled by the Connections and the assessment of the Connection Attributes, preferably under the auspices of a Persona. 
     The present invention supports the overall system of co-pending application &#34;Method for Association of Heterogeneous Information&#34;. It supports the Tag Architecture, Connection Server, Grinding, Noumena Server and the design and infrastructure of the overall system, but is not limited thereto. 
     The term &#34;Phenomena&#34; could be read &#34;object&#34;, and the term &#34;Connection&#34; could be read &#34;link&#34; in this disclosure. The distinction between Noumena and Phenomena is made to distinguish between objects as experienced by users (Phenomena) and objects as they are actually stored (Noumena). 
     DISCUSSION OF PRIOR ART 
     General purpose connection servers for Hypertext or Hypermedia systems are not presently available. Existing Hypertext systems are closed. Their links are private and proprietary. They hide their links of data objects from view, modification, and adaptation to other uses. The existing link structures are inflexible, difficult to extend and generalize. As these current systems evolve, they are having significant problems with migration, versioning, and general storage management. 
     The following descriptions provide some insight as to the attempts of prior systems to connect objects and manage the results thereof. The prior art is deficient with respect to providing efficient and accessible storage and retrieval of knowledge obtained during the course of trying to link information objects. 
     HYPERTEXT/HYPERMEDIA 
     Hypertext, and its multimedia counterpart hypermedia, are methods used by programmers to interconnect references to additional related sources. Hypertext programmers usually store maps of selected links for a particular application within the application itself. The limitations of Hypertext are its static authoring linking process, rapid development of large volumes of data and its inability to crosslink easily to remotely located, and incompatible, sources of information. The most beneficial uses of hypertext/hypermedia are restricted to the workstation level. 
     Entity-Relationship model 
     Chen developed the &#34;Entity-Relationship Model&#34;. Chen sought to model the relationships universal to a class of entities. His goal was to unify data models for the rigid, predefined, structure provided in database systems. The system fails to provide for a dynamic individualized method to interrelate instances of information, but rather is directed to relating entire classes of information. 
     As seen by the above descriptions a need exists for a universally compatible and accessible method/apparatus for obtaining and using links of data objects, especially in the ever expanding world of multi-media. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1--Illustrates the basic structure of the present invention in terms of graph theory. 
     FIG. 2--Illustrates a flow chart representing the present invention. 
    
    
     SUMMARY OF THE INVENTION 
     The present invention, hereafter, Connection Server, is a general purpose, extensible facility, with accessible interfaces that can be included as a component in many systems. This Connection Server component is designed to provide a generic link management facility. The present invention creates a general purpose facility for the storage and management of Connections that is tailorable, accessible, and tune-able for many purposes. Consumers of this service want to interact with this system with a minimum effort and be connected to associated objects with the least cost and time. 
     The Connection Server described here provides very flexible structures for the identification of objects to be interconnected, the identification of the links which connect them, and the auxiliary information needed to materialize objects when they are referenced. 
     The Connection Server is designed as a stand-alone reusable component. It interfaces with other independent components for services such as classification attributes, distributed database services, Noumena (object) storage, etc. Clean public programming interfaces are available for all components. It is independent from the &#34;front-end&#34;, the user driven display of the Connections and associated meta-data. It is independent from any authoring facilities which may be used to customize the services, meta-data, etc., that are provided. 
     DETAILED DESCRIPTION OF INVENTION 
     As seen in FIG. 1, in terms from graph theory, the Connections Server manages the graph which represents the interconnections in a hypermedia (or other &#34;interconnected&#34; presentation service). The Connections Server records in the Phenomena structure 101 the nodes (Phenomena or objects) and edges (Connections or links) in this graph. Information needed to find the raw data which makes up the phenomena, as well as the commands needed to instantiate (materialize) the information at each node is also recorded. This allows two Phenomena (user objects) to materialize the same Noumena (raw data) in different ways or to materialize different parts of a Noumena. It can optionally record attributes on either the nodes or edges. Such meta-data can be very useful when applications wish to traverse the graph. 
     Services to create, modify and delete nodes, edges and attributes are implemented using the data structure represented graphically in FIG. 2. 
     Note: 
     This description uses SQL and Relational Database Management System terminology. However, there is no dependency on or restriction to relational database for implementation. 
     To illustrate the usage of the database schema, the relationships to an instance of the Classification system data structures are shown (103, 104). They are labeled clearly and are NOT part of the Connection Server Database schema. 
     The arrows in FIG. 1. (e.g. 105) represent integrity constraints between the sub-structures. (See preferred embodiment for implementation and use). 
     A &#34;version&#34; field is provided in all sub-structures to support future versions of the data structures. 
     A &#34;created&#34; field is provided to time-stamp the creation of all entries into the logical model in all sub-structures. 
     OPERATIONS: 
     The Connection Server services are implemented in the following operations as shown in FIG. 2 and discussed hereafter: 
     Note: 
     All operations are atomic in nature. Either all changes are remembered or they are all forgotten (committed or rolled back). No partial changes persist. 
     IDENTIFY PHENOMENA (tag it) All Phenomena tracked by the Connection server must be uniquely identified. This identification is done by assigning an architected Tag, uniquely generated. 
     The IDENTIFY PHENOMENA operator acquires a new Tag and inserts the Phenomena description (meta-data) into the Connection Server. Since Phenomena are not allowed to be disconnected (graph theory meaning), the &#34;identify operation&#34; requires appropriate descriptive data to allow at least one Connection of the newly identified Phenomena to be inserted into the Connection Server. 
     The operation fails if the required definition (meta-data) or the Connection data is not adequate, therefore the Phenomena is not inserted. 
     CREATE CONNECTION: New Connections can be added as for example in the related materials &#34;Method for Association of Heterogenous Information&#34;. CREATE CONNECTION records a new edge (graph theory notation), or Connection, between two previously identified Phenomena in the Connection Server. The &#34;Method for Association of Heterogenous Information&#34; system also records the attributes associated with this Connection and is identified as the Connection Attributes structure in the Connection Server. 
     RETRIEVE OUTBOUND CONNECTIONS: The RETRIEVE CONNECTION operation accepts Tags as input. The Connection Server returns to the requestor a list of symbolic pointers (e.g. Tags) to Phenomena connected to the Phenomena identified by the input Tag. Note that these Connections are directed FROM the Phenomena identified by the input Tag TO other Phenomena. Optionally accompanying each symbolic pointer is the corresponding collection of Connection Attributes and/or Phenomena Attributes. 
     RETRIEVE INBOUND CONNECTIONS: The RETRIEVE CONNECTION operation accepts Tags as input. The Connection Server returns to the requestor a list of symbolic pointer (e.g. Tags) to Phenomena Connected to the Phenomena identified by the input Tag. Note that these Connections are directed FROM other Phenomena TO the Phenomena identified by the input Tag. Optionally accompanying each symbolic pointer is the corresponding collection of Connection Attributes and/or Phenomena Attributed. 
     RETRIEVE PHENOMENA: The RETRIEVE PHENOMENA operation accepts Tags as input and returns to the requestor the data needed to recreate the Phenomena. Optionally accompanying each Phenomena is the corresponding of collection Phenomena Attributes. 
     DELETE CONNECTION (forget relationship): Connections may be removed from a Connection Server. This DELETE CONNECTION unrecords an existing Connection between two previously identified Phenomena in the Connection Server. The &#34;Method for Association of Heterogenous Information&#34; system also removes the Connection Attributes associated with this Connection. 
     UNIDENTIFY PHENOMENA: Phenomena in a Connection Server may deleted. This UNIDENTIFY PHENOMENA is logically equivalent to removing of the Phenomena (and any optional Phenomena attributes) and the deletion using DELETE CONNECTION of all associated Connections and their corresponding Connection Attributes. 
     OPTIONAL OPERATIONS: 
     MODIFY ATTRIBUTES: Since attributes (meta-data) may optionally be recorded by the Connections Server for both Phenomena and Connections, the MODIFY ATTRIBUTES operation is provided to allow applications to modify the attributes associated with a Phenomena or Connection. The MODIFY ATTRIBUTES operation requires as input the identifier (e.g Tags) or the Phenomena or Connection, a representation of the modification to be made i.e. INSERT, DELETE, etc. and attribute names and values, if needed for the specified operation. 
     RETRIEVE ATTRIBUTES: Since attributes (meta-data) may optionally be recorded by the Connections Server for both Phenomena and Connections, the RETRIEVE ATTRIBUTES operation is provided to allow applications to retrieve the attributes associated with a Phenomena or Connection. The RETRIEVE ATTRIBUTES operation requires as input the identifier (e.g Tags) of the Phenomena or Connection. 
     The Connection server supports links with or without attributes. By allowing the specification of classification attributes separately the use of user supplied criteria (attributes) is simplified. The use of &#34;Tags&#34;, also simplifies external object (noumena identification reduces the storage requirements and the length of the internal communication traffic). 
     The Connection Server supports the dynamic addition of the connection simultaneously with use and manipulation of others. This is done by multi-tasking to enable concurrent access to the Connections. 
     This Connection Server points into the target Noumena, not just to them. This allows reduced storage, reduced redundancy and increased efficiency because partial materialization of a Phenomena can be supported. 
     The Connections Server handles redundancy appropriately. Phenomena introduced redundantly are stored only once. This reduction may be implemented as an asynchronous process. Connections introduced redundantly can be stored redundantly, potentially representing differing points of view. 
     The Connection Server connects heterogeneous objects. Architecturally Connection Servers may cooperate M-to-N with Noumena (raw data) Servers. 
     The Connection Server is process independent. The system design allows structural independence of most processes enabling exploitation of computers that may be loosely coupled, multi-threaded, support parallel processing and/or as a network (distributed) of Connection locations (nodes), 
     This flexibility is in part attributable to the use of the tag architecture. This allows objects and connections to be identified universally. If Connections are moved or copied to or from a particular Connection Server the Tag architecture prevents identifier collisions. 
     The use of existing relational data base management systems to maintain the data structures described (see preferred embodiment) can also contribute to the adaptability of the Connection Server to various hardware architectures. A Relational Database management System can also assure the correct sharing semantics, backup, security, provide useful statistics, etc. 
     The Connections Server is also very adaptable to software architectures. The Noumena (raw data) upon which the phenomena depend, may be stored in directly accessible files, a noumena server, by an object request broker, or potentially, in other pre-existing systems (appropriate for legacy data). 
     The Connections Server is a very dynamic system subject to security constraints, users can assume the role of author (by adding Phenomena or Connections) or reader (by using Connections and viewing Phenomena) independently. The application determines the role(s) that can be assumed and it is completely reasonable that users could be allowed to participate in both roles (even simultaneously). 
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Notes: 
     This description uses SQL and Relational Database Management System terminology. However, there is no dependency on or restriction to a relational database for implementation. 
     
         ______________________________________Connections Server Database DDLDatatypes:Created are TIMESTAMPTags are varchar (30)Versions are TagsConnection Identifiers are TagsCreators are TagsSummary&#39;s are VARCHAR (50)Details are VARCHAR (2000)______________________________________Phenomena - a collection of Tags used to identify reproduciblePhenomenon.Columns:Created: Date/Time when a Phenomena row was inserted.Version: Version number of the row format.Tag: Tag used to identify the Phenomenon.Noumena Tag: Tag used to identify the Noumena underlying thePhenomenon.Phenomenon: The operation-system-independent command needed toproduce the Phenomenon.Creator: Person/Process which inserted the Phenomenon. (notimplemented)CREATE TABLE Phenomena (Created      timestamp   NOT NULL,Version      varchar(30) NOT NULL,Tag          varchar(30) NOT NULL,Noumena.sub.-- Tag        varchar(30) NOT NULL,Phenomenon   varchar(1500)                    NOT NULL,Creator      varchar(30) NOT NULL,PRIMARY KEY (Tag)FOREIGN KEY (Noumena.sub.-- Tag) REFERENCES Noumena.sub.-- TagsON DELETE CASCADE);COMMENT OF TABLE Phenomena IS`One-to-One association between Tags and Phenomena`;CREATE UNIQUE INDEX Phenomena.sub.-- IX1 ON Phenomena (Tag);CREATE INDEX Phenomena.sub.-- IX2 ON Phenomena (Noumena.sub.-- Tag);______________________________________Connections - a collection of Connections between Phenomenon.Columns:Created: Data/Time when a Connection row was inserted.Version: Version number of the row format.Con.sub.-- Id: A Tag representing the unique connection.From.sub.-- Tag: The tag representing the origination Phenomenon.To Tag: The tag representing the destination Phenomenon.Summary: A short &#34;advertising&#34; of what a user will see if theconnection is followed.CREATE TABLE Connections (Created      timestamp   NOT NULL,Version      varchar(30) NOT NULL,Con.sub.-- Id        varchar(30) NOT NULL,From.sub.-- Tag        varchar(30) NOT NULL,To.sub.-- Tag        varchar(30) NOT NULL,Summary      varchar(50) NOT NULL,PRIMARY KEY (Con.sub.-- Id)FOREIGN KEY (From.sub.-- Tag) REFERENCES Phenomena ONDELETE CASCADEFOREIGN KEY (To.sub.-- Tag) REFERENCES Phenomena ONDELETE CASCADE);COMMENT OF TABLE Connection IS`Connections between two Phenomena wehich are representedby TAGs`:CREATE UNIQUE INDEX Connections.sub.-- IX1 ON Connections (Con.sub.-- Id);CREATE INDEX Connections.sub.-- IX2 ON Connections (From.sub.-- Tag);CREATE INDEX Connections.sub.-- IX3 ON Connections (To.sub.-- Tag);______________________________________ 
    
     CONCLUSION 
     A system and method has been shown in the above embodiments for delivering the Connection service, with minimum effort, to find Phenomena of most interest, with the least cost and time, because each Connection represents an explicit relationship between the Connected Phenomena. While various preferred embodiments have been shown and described, it will be understood that there is no intent to limit the invention by such disclosure, but rather, is intended to cover all modifications and alternate constructions falling within the spirit and scope of the invention as defined in the appended claims.