# Patent

## Title
Framework for managing document objects stored on a network

## Abstract

Methods for providing a framework for document objects located on a network are detailed. One method includes steps for creating one or more link directories for storing link relationships between document objects located on the network and for enabling users of the network to create link relationships between a first document object located on the network and a second document object located on the network. The method may also include steps for allowing users to assign attributes describing the link relationships and the document objects related by the link relationships and for managing the presentation of link relationships. One method of managing the presentation of link relationships to a user uses the assigned attributes to determine which link relationships are presented to the user and the manner in which the link relationships are presented.

## Background
CROSS REFERENCE TO RELATED APPLICATION(S)
This application is a continuation of U.S. application Ser. No. 10/090,739, filed Mar. 6, 2002, issued as U.S. Pat. No. 7,139,974, entitled FRAMEWORK FOR MANAGING DOCUMENT OBJECTS STORED ON A NETWORK, which is a continuation-in-part of U.S. application Ser. No. 10/050,515, filed Jan. 18, 2002, issued as U.S. Pat. No. 7,386,792, entitled SYSTEM AND METHOD FOR COLLECTING, STORING, MANAGING AND PROVIDING CATEGORIZED INFORMATION RELATED TO A DOCUMENT OBJECT, which claims priority from U.S. Provisional application No. 60/273,520, filed Mar. 7, 2001, entitled SYSTEM AND METHOD FOR COLLECTING AND PROVIDING USERS WITH CATEGORIZED INFORMATION RELATED TO AN OPEN DOCUMENT, and U.S. Provisional application No. 60/282,470, filed Apr. 10, 2001, entitled SYSTEM AND METHOD FOR COLLECTING, STORING, MANAGING AND PROVIDING TO NETWORK USERS CATEGORIZED INFORMATION RELATED TO AN OPEN DOCUMENT. This application claims priority to all of the above applications and all are hereby incorporated herein by reference.
This application also claims priority from U.S. Provisional Application No. 60,273,520, filed Mar. 7, 2001, entitled SYSTEM AND METHOD FOR COLLECTING AND PROVIDING USERS WITH CATEGORIZED INFORMATION RELATED TO AN OPEN DOCUMENT and U.S. Provisional Application No. 60/282,470, filed Apr. 10, 2001, entitled SYSTEM AND METHOD FOR COLLECTING, STORING, MANAGING AND PROVIDING TO NETWORK USERS CATEGORIZED INFORMATION RELATED TO AN OPEN DOCUMENT, which are both hereby incorporated by reference.
U.S. application Ser. No. 10/090,740, filed Mar. 6, 2002, issued as U.S. Pat. No. 7,111,232, entitled METHOD AND SYSTEM FOR MAKING DOCUMENT OBJECTS AVAILABLE TO USERS OF A NETWORK, also a continuation-in-part of U.S. application Ser. No. 10/050,515 (mentioned above), is hereby incorporated herein by reference.


TECHNICAL FIELD
The technical field is relating documents on computer networks and storing, indexing and presenting those relationships to network users.
BACKGROUND
Networks connecting many computers offer users access to a wide variety of information. Computers are exceptional devices for storing, sorting and relating large amounts of information. Information is stored on computers and networked computing and storage devices as documents or objects, together referred to as document objects. Such document objects may contain any form of information, from text documents and articles, financial data, statistical information, electronic mail, images and photos, music, animation, and even motion pictures.
The Internet, as a network of interconnected networks, offers users access to an even broader collection of information—the Worldwide Web (the “Web”). On the Web, publishers offer information for educational, recreational, commercial and other purposes. The Internet, and it's predominant Web form, is organized and accessed by assigning document objects an address, or Uniform Resource Locater (“URL”). These URLs define the transfer protocol for and location of each individual document object on the Internet, or other network, including the Internetworking Protocol (“IP”) address of the host computer system of the document object.
A URL may also represent an address including instructions for accessing a document object that is generated on request by retrieving and rendering for presentation organized information in response to information supplied by the requestor. When the URL contains enough information to recreate the document object generated in such a manner, that document object can be recreated for others using the URL. A URL may also include information, sometimes called a bookmark, with information allowing the rendering tool to present or highlight a location in the document upon opening the document.
Users accessing computer networks and the Internet are generally required to perform their own searches across the networks for the information, stored as document objects, that they desire or need. As the amount of information available on computer networks, and on the Internet in particular, grows exponentially, existing search and information location techniques become increasingly less effective. Existing Internet search techniques often yield too many seemingly related references which are not, in fact, truly useful to the user. The usefulness of traditional Internet search and indexing systems is actually decreasing as the number of documents on the Internet explodes.
Existing search, categorization, and retrieval techniques for document objects stored on computer networks, while generally executed at the high speeds of modern computer systems, are increasingly imprecise and often much too broad, as well as time and labor intensive, owing to the explosion of information being added to those networks.
A need exists to enhance the network user's information browsing experience. A need exists to provide network users with information relevant to the individual document object they are accessing and provide that information in a context of value to them by relating the document object they are accessing to link references to other document objects within a specific context. Such other document objects may or may not be offered by the publisher of the document object currently accessed. A need exists to provide network users with information relevant to the specific information the user may be searching for and relevant to the user's immediate personal, professional, geographic and other interests.
A need exists to manage information available on the network by creating and defining relationships between document objects that are relevant to one another. A need further exists to allow the creation of multiple frameworks for managing, creating and defining relationships between document objects that are relevant to one another. A need further exists to provide users with access to these multiple frameworks for management of document objects.
A need further exists to facilitate educated selection of related document objects by presenting these relationships with managing information while viewing document objects on the network.
A need exists for entities or groups to be able to communicate information to their employees or members as those employees or members access document objects on a network, and to enable those employees or members to view content deemed important to the entities or groups. A need further exists for publishers of content on the Internet to be able to personalize content presented to Internet users without requiring the establishment of a personal relationship between the user and the content publisher. A need exists to enable the collection of the search experiences of a group of users and share that experience with other users of networked information devices.
These needs reflect a broader need to reduce the time and effort involved, and to provide increased user satisfaction, in user searches for relevant document objects on a network.
Document objects on networks are currently organized based on characteristics of the document objects themselves and organized by the hierarchical structure of the network and the information repositories connected to the network. A need exists to organize and access information on and across networks based on the characteristics of relationships between the document objects. A need exists to provide an extensible framework for managing document objects on a network in a manner that does not modify the document objects, the location of the document objects on the network, or the architecture of the network itself.
A need exists to provide an extensible framework for managing and presenting document objects on networks that allows users to create their own custom management and presentation schemes for document objects, and to identify and use custom management and presentation schemes created by other users that may be of value to them.
Furthermore, a need exists to present a user accessing document objects on the network with a view of a document object the user is accessing, and document objects related to that document object, within a framework for management and presentation developed by the user and by other users of the network.
SUMMARY
The systems, apparatus and methods of the present invention (hereinafter “Linkspace”) incorporate and provide many improvements on existing methods for publishing, distributing, relating and searching document objects on computer networks, including the Internet.
Linkspace operates to provide many beneficial improvements in searching, identifying and publishing information over computer networks.
Linkspace permits a user of a computer network or the Internet to establish relationships between document objects located on the network or the Internet. Those relationships may comprise link relationships and link references and are maintained by Linkspace in one or more link directories. The contents of link directories may be organized, categorized, sorted and filtered in groupings based on various criteria relating to, among other things, user interests and attributes, the types of document objects and the nature of the content of those document objects. Linkspace allows a network user to be presented with a selection of links to document objects related to the document object the user is currently accessing based upon the URL of the current document object, and link relationships created by the user and other users of the network stored in the link directories.
When a network user equipped with Linkspace identifies and locates a first document object on the network that is of interest to her, she may initiate one method of the present invention to mark the location, through its URL, as a start point of a link relationship. When she accesses a second document object on the network that she considers relevant to the first document object, she initiates another step of one method of the invention to mark the second document object as an end point of the link relationship. Upon marking the second document object as the end point, the link relationship is created and stored on a link directory selected to store similar link relationships. When a second network user equipped with Linkspace, and with access to the link directory, accesses the first document object, he is then presented with a link to the second document object as a relevant document object that may be of interest to him. Likewise, if the second network user accesses the second document object, he may then be presented with a link to the first document object as a relevant document object that may be of interest to him.
Linkspace consists primarily of a system and method for creating and publishing link relationships, a system and method for storing and managing link relationships in link directories, and a system and method for presenting a network user with links related by link relationships to the document object the user is currently accessing.
In one respect what is described is a method for providing a framework for managing document objects located on a network. The method may include the steps for creating one or more link directories for storing link relationships between document objects located on the network; for enabling users of the network to create link relationships between a first document object located on the network and a second document object located on the network; for allowing users to assign attributes describing the link relationships and the document objects related by the link relationships; and for managing presentation to a user of link relationships between the document objects located on the network using the assigned attributes to determine which link relationships are presented to the user and the manner in which the link relationships are presented.
In yet another respect, what is described is a computer readable medium on which is embedded a program. The embedded program comprises modules that execute the above method.
Those skilled in the art will appreciate these and other advantages and benefits of various embodiments of the invention upon reading the following detailed description of a preferred embodiment with reference to the below-listed drawings.



DESCRIPTION OF THE DRAWINGS
The detailed description will refer to the following drawings, wherein like numerals refer to like elements, and wherein:
FIG. 1 is a diagram showing a system according to one embodiment of the invention;
FIG. 2 is a diagram showing a client device which is Linkspace-enabled and its interaction with other hardware and software;
FIG. 3a is a diagram showing the components of a server which is Linkspace-enabled and its interaction with other hardware and software;
FIG. 3b is a diagram showing more detail of one embodiment of a user data store from FIG. 3a; 
FIG. 4a is a diagram illustrating one embodiment of a link directory according to one embodiment of the invention;
FIG. 4b is a diagram illustrating another embodiment of a link directory according to one embodiment of the invention;
FIG. 5 is a diagram showing one embodiment of the invention implemented on public, private or closed computer networks;
FIG. 6 is a flowchart illustrating a method according to one embodiment of the invention;
FIG. 7 is a flowchart illustrating a method for identifying link relationships between document objects according to one embodiment of the invention;
FIG. 8 is a flowchart illustrating a method for publishing link relationships between document objects according to one embodiment of the invention;
FIG. 9 is one example screen view of a user interface for a relate links dialog box according to one embodiment of the invention;
FIG. 10 is an example of a screen view for a client user interface according to one embodiment of the invention;
FIGS. 11a, 11b, and 11c are flowcharts illustrating a method for providing a framework for document objects located on a network according to one embodiment of the invention;
FIG. 12 is one example screen view of a user interface for assigning attributes to document objects in a link directory according to one embodiment of the invention;
FIG. 13 is one example screen view of a user interface for assigning attributes to link relationships in a link directory according to one embodiment of the invention; and
FIG. 14 is one example screen view of a user interface for configuring user profiles according to one embodiment of the invention.



DETAILED DESCRIPTION
FIG. 1 shows one embodiment of a system 100 for collecting, storing, managing and providing to network users categorized information related to an open document object. A document object may contain any form of information, including text documents and articles, financial data, statistical information, electronic mail, images and photos, music, voice data, animation, and even motion pictures, or may refer to a portion thereof. A document object may be dynamically created or formed. The system 100 includes a network 10, such as the Internet or other network of interconnected computers or a combination of networks and the Internet; one or more Linkspace-enabled client devices 20; one or more Linkspace-enabled servers 30, one or more first document objects 40; one or more second document objects 50; one or more link references 42 and 52, corresponding to the first document objects 40 and the second document objects 50 respectively; and one or more link relationships 45. The system 100 may also include one or more links 41 and 51 pointing to the first document objects 40 and second document objects 50 respectively. The client devices 20, as well as the server 30, are preferably Linkspace-enabled. The client device 20 may comprise a computer or other digital information device running software enabled by the present invention to create, filter, sort and display the link references 42, 52, and the link relationships 45. The server 30 may comprise a server computer or other digital information device running software enabling the present invention to store, index, search, filter, sort and transmit the link references 42, 52, and the link relationships 45 to client devices 20. The server 30 further comprises one or more link directories 35 for storing and indexing information regarding the link relationships 45 and link references 42 and 52 developed by the client devices 20 with respect to the one or more first documents 40 and second documents 50.
The link reference 42, 52 comprises a pointer to one document object 40, 50 on the network 10 and attributes associated with that document object 40, 50. The link relationship 45 comprises two pointers, one each to the first document object 40 and to the second document object 50, and attributes describing characteristics of the relationship between the two document objects 40, 50 related by the link relationship 45. The pointers included in a link relationship 45 may be comprised of pointers to a link reference 42, 52. The link relationship 45 establishes a meaningful relationship between two document objects 40, 50, whereas the locations of the document objects 40, 50 may be maintained within the Linkspace system 100 by means of the link references 42, 52.
The system 100 shown in FIG. 1 operates to create and store link relationships 45. The system 100 creates and stores link relationships 45 between a first document object 40 and a second document object 50, preferably on one or more servers 30 in one or more link directories 35 in the manner described as follows. The client device 20 is enabled by means of software or other devices to request, access and display document objects on the network 10. When the user of a client device 20 identifies one first document object 40 of interest to her that she wishes to associate with a second document object 50, she utilizes the software running on the Linkspace-enabled client device 20 to create a link relationship 45 between the first document object 40 and the second document object 50. This link relationship 45 is then stored on the server 30 in a link directory 35.
In an alternate embodiment, the system 100 may operate to perform the functions described above, including the creation of link relationships 45 and link references 42, 52, the storing of link relationships 45 and link references 42, 52, and providing access to and retrieval of link relationships 45 and link references 42, 52, by means of automated procedures requiring little or no user interaction.
When a client device 20 later requests and accesses a first document object 40 for which the server 30 has stored an associated link relationship 45 in one or more link directories 35, the server 30 delivers to the client device 20 the link references 42 and the link relationships 45, along with contextual information, or attributes, associated with the link references 42 and the link relationships 45. The client device 20 then displays to the user of the client device 20 the existence of a link relationship 45 between the first document object 40 being accessed by the client device 20 and the second document object 50. This enables the user of the client device 20 to be made aware of the second document object 50, the context of the second document object 50, and the context of the relationship between the second document object 50 and the first document object 40 as that relationship may be of interest to the user of the client device 20 while viewing the first document object 40.
Each link relationship 45 may also operate in the reverse direction. In this manner, when a user of the client device 20 is accessing the second document object 50 for which an associated link relationship 45 is stored in the one or more link directories 35 on the server 30, the server 30 then transmits the link references 42 and the link relationships 45, with contextual information, to the client device 20. This enables display of the availability of the related first document object 40 to the user of the client device 20 with the context of the first document object 40, and within the context of its relationship to the displayed second document object 50.
While the system 100 is generally described as having enabling software resident on the client device 20 and on the server 30, various other software configurations are possible, including having all of the software resident at either the server 30 (making the client device 20 essentially a “dumb terminal”) or at the client device 20 (making the client device 20 essentially perform server functions), or various software sharing arrangements. For example, the client device 20 may include the one or more link directories 35, a communications module (described later in reference to FIG. 3a), and a user data store that may maintain information regarding authorized users of the client device 20 (described later in reference to FIGS. 2, 3a, and 3b).
FIG. 2 is a diagram showing an example of the components of a Linkspace-enabled client device 20 and its interaction with other software and hardware. The client device 20 preferably includes a rendering tool 210, such as a web page browser like Microsoft® Internet Explorer, for rendering document objects located on the network 10 and displaying those document objects to users of the client device 20; a client tool 220, for allowing the user of the client device 20 to create and access link relationships 45 between document objects; and a network access tool 240, such as a TCP/IP stack or other interface, for allowing software modules on the client device 20 to connect to and communicate with other devices and document objects on the network 10. The client device 20 operates primarily to create and present link relationships 45 to users.
The rendering tool 210 may store a document object URL address 215 for referring to the document object currently being accessed and rendered by the rendering tool 210. The rendering tool 210 may also include a Graphic User Interface (“GUI”) display 218, or other type of display, for displaying the document objects accessed and rendered by the rendering tool 210. In alternate embodiments of the invention, the client device 20 may include more than one rendering tool 210 enabling the user of the client device 20 to access multiple document objects.
The client tool 220 may include a client GUI display 225, or other display software and hardware, for displaying link references 42, 52 and link relationships 45 to the user of the client device 20. Typically, the displayed link references 42, 52 and link relationships 45 would be those link references 42, 52 and link relationships 45 relevant to the document object currently being rendered and displayed by the rendering tool 210 (as determined by the document object URL address 215 in the rendering tool 210). The client tool 220 may also include Linkspace user profile data 230 for storing information about the user of the client device 20, the link directories 35 the user may have access to, and the attributes of link references 42, 52, and attributes of link relationships 45 that the user may be interested in. The Linkspace user profile data 230 may also or alternatively be stored on the one or more servers 30, along with the Linkspace user profile data 230 of all other users of the system 100.
An example of how the client device 20 operates to create and present link relationships 45 to users of the client device 20 follows. While the network access tool 240 is active and placing the client device 20 in communication with the network 10, the user enables the rendering tool 210 and the client tool 220. The user may then request and access document objects stored on the network 10 by means of the rendering tool 210. Through the GUI display 218, the users enters or otherwise selects a document object URL address 215 associated with the first document object 40 of interest to the user. The client tool 220 connects to and uses the rendering tool 210 and accesses the document object URL address 215 associated with the first document object 40. The client tool 220 then establishes contact with the server 30 and passes to the server 30 the stored document object URL address 215 associated with the first document object 40, along with any relevant information that may come from the Linkspace user profile data 230. The connection to the server 30 may be initiated through the network access tool 240 or by other means not utilizing the network access tool 240.
The Linkspace-enabled server 30 searches the link directories 35 for any URLs in the link references 42, 52 matching, or similar to, the document object URL address 215. After searching, the server 30 retrieves the one or more link relationships 45 that include the document object URL address 215. Prior to searching, the URLs may be stripped of any information not relevant to the location of the document object 40, 50 on the network 10. Such information not relevant to the location of the document object 40, 50 may include query strings or other data attached to URLs for tracking or other purposes.
The server 30 then determines the link references 42, 52 which may be of interest to the user of the client device 20 by filtering the retrieved link references 42, 52 using the Linkspace user profile data 230 and the attributes assigned to the link references 42, 52 and to the link relationships 45. The filtering of link references 42, 52 and link relationships 45 may be accomplished by one of several methods of filtering data including matching, character and Boolean comparing, and other data comparison and filtering methods. The server 30 then transmits to the client tool 220 the filtered link references 42, 52 included in the one or more link relationships 45. The client tool 220 presents the transmitted link references 42, 52 within the context established by the link relationships 45 by means of the client GUI display 225.
To create a new link relationship 45, the user of the client device 20 must select a first document object 40 to begin the link relationship, a second document object 50 to complete the link relationship 45, and assign attributes to the link references 42, 52 and the link relationship 45 between the two document objects 40, 50. To select a first document object 40 to begin the new link relationship 45, the user interacts with the client GUI display 225 to activate a function of the client tool 220 to capture the document object URL address 215 associated with the first document object 40. To select a second document object 50 to complete the new link relationship 45, the user may interact with the GUI display 218 of the rendering tool 210 to request, access and display the second document object 50. The user may then interact with the client GUI display 225 again to activate a further function of the client tool 220 to capture the document object URL address 215 associated with the second document object 50, completing the selection of document objects 40, 50 participating in the new link relationship 45. Once the two document objects 40, 50 are established, attributes of the link references 42, 52 and the new link relationship 45 may be assigned.
The user may select or otherwise specify attributes associated with the link references 42, 52 and link relationship 45. These attributes aid in categorizing, sorting or filtering the link references 42, 52 and the link relationship 45 in the link directories 35 for delivery to other client devices 20. The attributes may be, for example, descriptive, temporal, spatial, or quantitative in nature, i.e., describe the link reference in terms of who or what, when, where, or how much. One such attribute (not shown) may be a plain language name for the link reference 42, 52, determined and entered by the user to describe the link reference in terms more useful to users of the system 100 than the document object URL address 215. Other examples of attributes may include description of the content of either of the document objects 40, 50 related by the link relationship 45, wherein that content may be described to include a product review, news article, product information page, competitor's product information, or product order forms, among other types of content.
Normally, upon completion of the endpoint capturing and attribute assignment functions, the client tool 220 connects to the server 30 to store the link references and the new link relationship 45 in the appropriate link directory 35. Generally, the new link relationship 45 is then made available to other users. Typically, other client devices 20 who have access to the server 30 and are assigned access privileges on the link directory 35 in which the new link relationship 45 has been stored are given access to the new link relationship 45.
Furthermore, if the user of the client device 20 determines that there is a relationship that is not already described by the transmitted link relationships 45 between the currently accessed document object 40 and a second document object 50, the user may proceed to create and publish a new link relationship 45 between the first document object 40 (currently accessed and displayed by the rendering tool 210) and the second document object 50. This may be accomplished without displaying the second document object 50.
FIG. 3a is a diagram showing the components of the Linkspace-enabled server 30 and its interaction with other hardware and software. The server 30 includes a first link directory 35, a user data store 370, and a server manager 380. The server 30 may also include a second link directory 310 and one or more Nth link directories 320. The server manager 380 coordinates communications between the other components of the server 30. The server manager 380 also coordinates communications with outside objects, including the one or more client devices 20. The server manager 380 also performs the function of locating appropriate link directories 35, 310, 320 for the user to participate in based upon a document object presently displayed on the client device 20. The user of the client device 20 may request that the server manager 380 look in all link directories 35, 310, 320 across the system 100, regardless of whether the user has an affiliation with the specific link directory 35, 310, 320 (which may be set in the user's Linkspace user profile data 230), for the URL of the document object the user is currently accessing with the client device 20. The user data store 370 stores identification and user profile data regarding users authorized to access the server 30, which of the several link directories 35, 310, and 320 those users are permitted access to, and which attribute preferences the users have for each of the link directories 35, 310, 320. In alternate embodiments of the invention, portions of the information maintained in the user data store 370 may be stored in the link directories 35, 310, 320.
FIG. 3a also shows one or more alternate Linkspace-enabled servers 350 that may reside on the network 10. In alternate embodiments of the system of the invention, the one or more alternate servers 350 may be located off the network 10 but otherwise connected to or in communication with the client devices 20 and/or the first server 30. One or more alternate link directories 360 may reside on the one or more alternate servers 350. The one or more alternate servers 350 may include other elements duplicating the functions of the server manager 380 and user data store 370, as well as additional link directories 310 and 320. The existence of the alternate servers 350 provides for flexibility in the distribution of link directory data across several servers, redundancy and interoperability across multiple networks and/or sets of client devices 20 and users of the Linkspace system 100.
Each of the several link directories 35, 310, 320 or 360 may be associated with and store link references 42, 52 and link relationships 45. These link references 42, 52 and link relationships 45 may have attributes matching categories defined by an authorized user designated to manage such link directories 35, 310, 320 or 360. In this manner, each link directory 35, 310, 320 or 360 may be considered to be a community of interest. The authorized user designated to manage such link directories 35, 310, 320 or 360 may also establish attributes by which to organize, sort and filter the link references and link relationships 45. Attributes may describe the types and properties of the document objects 40, 50 and the link relationships 45. Any authorized user of the link directories 35, 310, 320 or 360 may then create and place link references and link relationships 45 in the link directories 35, 310, 320 or 360 and assign attributes to the link references and link relationships 45.
FIG. 3a further illustrates the provision for a further link relationship 345 between the second document object 50 and a third document object 340. The link relationship 345 may be created by an authorized user of one of the client devices 20, just as the link relationship 45 between the first document object 40 and the second document object 50 was created. The link relationship 345 may be stored in a second link directory 310, separated from the link relationship 45 stored in the first link directory 35. As such, the link relationships 45 and 345 may be considered to belong to differing communities of interest represented by the separate first link directory 35 and second link directory 310. A user of a client device 20 who is currently viewing or otherwise accessing the second document object 50 will only be presented with the link relationship 345 if the user is an authorized user of, and thus in the user directory 370 list for, the second link directory 310. Furthermore, a user of a client device 20 who is currently viewing or otherwise accessing the second document object 50 will only be presented with both the link relationship 45 and the link relationship 345 if the user is an authorized user of, and thus in the user data store 370 lists for, both the first link directory 35 and the second link directory 310. A user of the Linkspace system may be or may apply to be an authorized user for any combination of or all of the link directories 35, 310, 320, and 360.
FIG. 3b is a diagram showing more detail of one embodiment of the user data store 370 from FIG. 3a. The user data store 370 may include a user directory 372, a user profile store 375, and a user account store 378.
The user directory 372 includes one or more user data records 374, typically one or more each for every authorized user of the servers 30, 350. The user data records 374 may include personal identifying data for an associated authorized user and data indicating the link directories 35, 310, 320, 360 to which each user has access.
The user profile store 375 includes one or more user profile records 330, typically one or more each for every authorized user of the servers 30, 350. The user profile records 330 for each authorized user may further include one or more user profiles 332.
Each user profile 332 may contain data regarding specific, differing configurations of the user's personal, professional, geographic and other interests, and the servers 30, link directories 35, 310, 320, 360, and attributes associated with those interests, as entered by the user or collected by the client tool 220. The data in the user profile 332 may be used to determine what link directories 35, 310, 320, 360 that the user may have engaged. The data in the user profile 332 may further determine what attributes of link references 42, 52, and of link relationships 45, will be considered by the server 30 in returning the link references 42, 52 and the link relationships 45 from the link directories 35, 310, 320, 360 to the user's client device 20.
The user account store 378 includes one or more user account records 379, usually one each for every authorized user of the servers 30, 350. The user account records 379 hold information regarding usage of the Linkspace system 100 by each authorized user. The information in the user account records 379 may include data on instances of the publication of link relationships 45, and the transmissions of link relationships 45 and link references 42, 52 based upon the document object displayed by the client tool 220 of each user. In alternate embodiments of the invention, data regarding the document objects 40, 50, 340 requested and accessed by users of the system 100 is not recorded in the user account records 379 against the individual authorized user in order to maintain user privacy with regard to what document objects 40, 50, 340 each individual user may request or access.
When an authorized user of a client device 20 creates a link relationship 45 that is stored in one or more of the link directories 35, 310, 320, 360, the server manager 380 records in the user account record 379 (associated with the authorized user creating the link relationship 45) the activity of creating and storing a link relationship 45. Each of the authorized users of the link directories 35, 310, 320, 360 may be allowed to create link relationships 45 to be stored in one or more of the link directories 35, 310, 320 or 360, to which that authorized user is permitted publication access. Each of the authorized users of each specific link directory 35, 310, 320, 360 may also be allowed access for display those link relationships 45 stored in the specific link directory 35, 310, 320, 360 that relate to the first document object 40 or second document object 50 that the user is currently viewing on the user's client device 20.
The interaction of each of the elements of the server 30, alternate server 350, the client devices 20, and the first, second and third document objects 40, 50, and 340, along with the creation and presentation of the link relationships 45 and 345 may be illustrated by the application of the methods 600, 700, and 800 described below with reference to FIGS. 6, 7, and 8.
FIG. 4a shows the general structure of one embodiment of the link directory 35. This embodiment of the link directory 35 includes a link relationship table 420.
The link relationship table 420 comprises a list of link relationships 460, 470, 480, 490. These link relationships 460, 470, 480, 490 correspond to the link relationships 45, 345 created by users of the client device 20 as they are stored in the link directory 35. The link relationship 460 comprises a field 462 containing a link reference 42 (L1) including the URL address of the first document object 40 related by the link relationship 460; a field 463 containing a link reference 52 (L2) including the URL address of the second document object 50 related by the link relationship 460; a set of link relationship attributes 465; and a directional indicator 466 showing the nature of the link relationship between the two document objects, either unidirectional or bi-directional. The link relationship 460 is shown with the directional indicator 466 specifying that the link relationship 460 is a unidirectional link relationship.
Some or all of the list of link relationships 460, 470, 480, 490 comprising the link relationship table 420 may, in one embodiment of the invention, be stored on the server 30 in the form of relational database records. The relational database record corresponding to the link relationship 460 may be comprised of one or more relational database fields corresponding to the field (L1) 462, field (L2) 463, link relationship attributes 465, and directional indicator 466. Each of the one or more relational database fields may be formatted and designated to store various forms of relational database data types. In one embodiment of the invention, the relational database field corresponding to the field 462, as well as the relational database field corresponding to the field 463, may contain data specifying the appropriate URL as text or other format appropriate for the network upon which the invention may be implemented. In one embodiment of the invention, the relational database field corresponding to the directional indicator 466 may be formatted as a simple flag (i.e., Boolean) data type such as True/False, Yes/No, or On/Off. Alternatively, the relational database field corresponding to the directional indicator 466 may be formatted as a type to allow entry of a value indicating whether the link relationship attribute 465 applies forward, backward or in both directions across the link relationship 460. In one embodiment of the invention, the link relationship attributes 465 may be represented by one or more relational database fields. In this embodiment, the relational database fields comprising the link relationship attributes 465 may include a field of text data listing the assigned titles of the one or more specific link relationship attributes assigned to the link relationship 460. The relational database fields comprising the link relationship attributes 465 may then also include one or more attribute value fields containing data formatted appropriately for the corresponding link relationship attribute listed in the above described field of text data. For example, the plain language name link relationship attribute may have its corresponding value stored in a field formatted as text, whereas a zip code attribute may have its corresponding value stored in a field formatted as a 5 or 9 digit integer, and a date attribute may have its corresponding value stored in a field formatted in a date format. In an alternative embodiment, the relational database fields comprising the link relationship attributes 465 may utilize relational database key fields which point to additional database tables containing the records specifying each available type of link relationship attribute for the link relationship 460 and key fields which point to additional tables containing the values associated with each of link relationship attribute identified by a key.
As with the link relationship 460, the link relationship 470 comprises a field 472 containing a link reference 42 (L1) including the URL address of the first document object 40 related by the link relationship 470; a field 473 containing a third link reference (L3) including the URL address of the third document object 340 related by the link relationship 470; a set of link relationship attributes 475; and a directional indicator 476 showing the nature of the link relationship between the two document objects, either unidirectional or bi-directional. The link relationship 470 is shown with the directional indicator 476 specifying that the link relationship 470 is a bi-directional link relationship. The link relationship 480 comprises a field 482 containing a link reference 52 (L2) including the URL address of the second document object 50 related by the link relationship 480; a field 483 containing the third link reference (L3) including the URL address of the third document object 340 related by the link relationship 480; a set of link relationship attributes 485; and a directional indicator 486 showing the nature of the link relationship between the two document objects, either unidirectional or bi-directional. The link relationship 480 is shown with the directional indicator 486 specifying that the link relationship 480 is a bi-directional link relationship.
The link relationship 490 comprises a field 492 containing a link reference 52 (L2) including the URL address of the second document object 50 related by the link relationship 490; a field 493 containing a link reference 42 (L1) including the URL address of the first document object 40 related by the link relationship 490; a set of link relationship attributes 495; and a directional indicator 496 showing the nature of the link relationship between the two document objects, either unidirectional or bi-directional. The link relationship 490 is shown with the directional indicator 496 specifying that the link relationship 490 is a unidirectional link relationship.
The link relationship attributes 465, 475, 485, 495 may include a plain language name (not shown) associated with each of the link references 42, 52 participating in the respective link relationship 460, 470, 480, 490, as determined and entered by the user of the client tool 220. The plain language name serves to describe the link reference 42, 52 in terms better understood by the users of the system 100 than the URL associated with the link reference 42, 52. The link relationship attributes 465, 475, 485, 495 serve to describe the link references 42, 52 in terms useful to users of the system 100, and to place the link references 42, 52 in a context that may attract users to select the link references 42, 52. Other examples of link relationship attributes 465, 475, 485, 495 may include descriptions of the content of either of the document objects 40, 50 related by the link relationship 460, 470, 480, 490, wherein that content may be described to include a product review, news article, product information page, competitor's product information, or product order forms, among other types of content.
The link relationship 470 may have a value assigned to the directional indicator 476 specifying that the link relationship 470 is a bi-directional link relationship. This indicates that the link relationship attributes 475 apply to either of the two document objects (40 and 340) equally in the context of the link relationship 470.
The link relationship 460 may, on the other hand, have a value assigned to the direction indicator 466 specifying that the link relationship 460 is a unidirectional link relationship. This signifies that the link relationship attributes 465 apply in only one direction between the two document objects 40 and 50 represented in the fields 462 and 463 through the link references 42 and 52 respectively. In this instance, a link relationship will not be transmitted and presented to the user of the client device 20 when requested in the direction opposite to that specified by the direction indicator 466. In the case of the link relationship 460 shown in FIG. 4a, the attributes 465 apply only as the link relationship 460 is traversed from the first link reference 42 to the second link reference 52, and not in the reverse direction. In a similar manner, the link relationship 490 may have a value assigned to the direction indicator 496 specifying that the link relationship 490 is a unidirectional link relationship. This signifies that the link relationship attributes 495 apply in only one direction between the two document objects 50 and 40 represented in the fields 492 and 493 through the link references 52 and 42 respectively. In the case of the link relationship 490 shown in FIG. 4a, the attributes 495 apply only as the link relationship 490 is traversed from the second link reference 52 to the first link reference 42, and not in the reverse direction. In this instance, a link relationship will not be transmitted and presented to the user of the client device 20 when requested in the direction opposite to that specified by the direction indicator 496.
In an alternate embodiment, the direction indicator 466 of the link relationship 460 may comprise a plurality of directional indicator fields (not shown). Each directional indicator field may then correspond to one of the one or more link relationship attributes 465 and indicate whether the corresponding link relationship attribute 465 may apply in one direction or in both directions between the two document objects 40 and 50 represented in the fields 462 and 463 through the link references 42 and 52 respectively. Likewise, the direction indicator 496 of the link relationship 490 may comprise a plurality of directional indicator fields (not shown). Each directional indicator field may then correspond to one of the one or more link relationship attributes 495 and indicate whether the corresponding link relationship attribute 495 may apply in one direction or in both directions between the two document objects 50 and 40 represented in the fields 492 and 493 through the link references 52 and 42 respectively. In the alternate embodiment, a similar arrangement may then be implemented for the remaining direction indicators 476, 486 of the link relationships 470, 480.
FIG. 4b shows the general structure of another embodiment of the link directory 35. This embodiment of the link directory 35 includes a document object table 410, and a link relationship table 420, as described above for FIG. 4a. 
The document object table 410 comprises a set of link references 430, 440, 450 to document objects located on the network 10 to which the link directory 35 is connected. Each link reference 430, 440, 450 further comprises the URL 432, 442, or 452 of the respective document object 40, 50, 340 of interest; a set of document object attributes 435, 445, 455 associated with the URL 432, 442, 452; and a list 437, 447, 457 of pointers to any of the link relationships 460, 470, 480, 490 by which the link references 430, 440, 450 may be connected to each other with context. In the case of a link relationship 460, 490 having the direction indicator 466, 496 set to indicate that the link relationship 460, 490 is unidirectional, the link relationship 460, 490 will be listed only in the list 437, 447, 457 of pointers for the link reference 430, 440, 450 that begins the unidirectional link relationship 460, 490. The link references 430, 440, and 450 in FIG. 4b correspond to the link references 42, 52, and the third link reference (not shown), as described in FIGS. 1-4a above, and which point to the URL addresses of the document objects 40, 50, and 340 respectively.
The document object attributes 435, 445, 455 serve to describe the link references 430, 440, 450 in terms useful to users of the system 100, and to place the link references 430, 440, 450 in a context that may attract users to select the link references 430, 440, 450. The document object attributes 435, 445, 455 may include a plain language name that serves to describe the document object 40, 50, 340 in terms better understood by the users of the system 100 than the URLs associated with the link references 430, 440, 450; descriptions of the content of the document object 40, 50, 340 associated with link references 430, 440, 450, wherein that content may be described to include a product review, news article, product information page, competitor's product information, or product order forms, among other types of content; and other descriptive characteristics associated with the document object 40, 50, 340.
The link references 430, 440, and 450 may be created and placed in the document object table 410 when a user of the client device 20 creates a link relationship 45 between a first document object 40 and a second document object 50 or a third document object 340.
The link relationship table 420 shown in FIG. 4b comprises the same list of link relationships 460, 470, 480, 490, detailed above in FIG. 4a. In FIG. 4b, the link relationship 460 comprises a field 462 containing a pointer to the link reference 430 for the first document object 40 related by the link relationship 460; a field 463 containing a pointer to the link reference 440 for the second document object 50 related by the link relationship 460; the link relationship attributes 465; and the directional indicator 466. In FIG. 4b, the link relationship 470 comprises a field 472 containing a pointer to the link reference 430 for the first document object 40 related by the link relationship 470; a field 473 containing a pointer to the link reference 450 for the third document object 340 related by the link relationship 470; the link relationship attributes 475; and the directional indicator 476. In FIG. 4b, link relationship 480 comprises a field 482 containing a pointer to the link reference 440 for the second document object 50 related by the link relationship 480; a field 483 containing a pointer to the link reference 450 for the third document object 340 related by the link relationship 480; the link relationship attributes 485; and the directional indicator 486. Likewise, in FIG. 4b, the link relationship 490 comprises a field 492 containing a pointer to the link reference 440 for the second document object 50 related by the link relationship 490; a field 493 containing a pointer to the link reference 430 for the first document object 40 related by the link relationship 490; the link relationship attributes 495; and the directional indicator 496.
FIG. 5 illustrates one embodiment of the present invention in which the invention may operate on multiple networks of varying degrees of network security. The different networks on which the systems and methods of the present invention may be implemented include a public network such as the Internet 510, a private network 520 that may be connected to the Internet 510, and a closed network 530 that is secure and not accessible to users not connected to the closed network 530. The closed network 530 is not connected to any public network such as the Internet 510, and is not connected to another private network 520.
The public network or Internet 510 may have components connected to it that implement the present invention, including one or more Linkspace-enabled client users 511, one or more link directories 512, one or more Linkspace-hosted content units 513, and one or more networked content units 514. The link directories 512 described here are functionally equivalent to the link directories 35, 310, 320, and 360 described above in connection with FIGS. 1, 2 and 3a. The Linkspace-hosted content units 513 comprise information storage devices connected to the network 510 that provide additional document object storage facilities to users of the Linkspace system 100 separate from the publicly or privately operated networked content units 514. The networked content units 514 may include networked data servers or web servers.
The Linkspace-hosted content units 513 are provided to accommodate the streamlined publication and/or distribution of content by users of the Linkspace system 100. The client tool 220 may allow a user of the Linkspace system 100 to store document objects of his or her own creation through a simplified procedure, i.e., a publish document function enabled through the client GUI display 225. The user of the client device 20 may select a document object 40 that she wishes to publish through the Linkspace-hosted content units 513, or she may create a document object (not shown) using the rendering tool 210 or other document object creation tool. The user of the client device 20 then selects the publish document function through the client GUI display 225 and selects the link directories 35, 310, 320, 360 in which she wishes to create and publish new link relationships 45, 345 referencing the user created or selected document object. The user of the client device 20 may then create and publish link relationships 45, 345 referencing the user created or selected document object. The client tool 220 may automatically upload the user created or selected document object from the user's client device 20, or from another location on the network, in this case the Internet 510, and save it on the Linkspace-hosted content unit 513. The client tool 220 may then publish the new link relationships 45, 345 referencing the user created or selected document object to the appropriate link directory 35, 310, 320, 360, and then make the user created or selected document object available to other users of the Linkspace system 100 through the new link relationships 45, 345. The activity of publishing a user created or selected document object in this manner is also recorded in the appropriate user account record 379 for the user creating or selecting the document object to be published.
Similarly, the private network 520 may have connected to it components that implement the present invention, including one or more Linkspace-enabled client users 521, one or more link directories 522, one or more Linkspace-hosted content units 523, and one or more networked content units 524.
Additionally, the closed network 530 may have connected to it components that implement the present invention, including one or more Linkspace-enabled client users 531, one or more link directories 532, one or more Linkspace-hosted content units 533, and one or more networked content units 534.
In FIG. 5, the private network 520 is shown connected to the public network or Internet 510. This may allow Linkspace-enabled client users 521 connected to the private network 520 to also be permitted access to any of the one or more link directories 512, Linkspace-hosted content units 513, and networked content units 514 that are connected to the public network or Internet 510. However, Linkspace-enabled client users 511 connected to the public network or Internet 510 that are not also among the group of authorized Linkspace-enabled client users 521 of the private network 520, may not be permitted to access the one or more link directories 522, Linkspace-hosted content units 523, and networked content units 524 that are connected to the private network 520.
A Linkspace client user 531 connected to the closed network 530, and therefore not connected to either the public network or Internet 510 nor to the private network 520, may only be permitted access to the one or more link directories 532, Linkspace-hosted content units 533, and networked content units 534 that are connected to the closed network 530.
FIG. 6 is a flowchart showing the steps of a method 600 according to one embodiment of the present invention. The method 600 includes the steps of a first user (not shown) of a client device 20 locating a first document object 40 (step 610); the first user locating a second document object 50 (step 620); and the first user creating a link relationship 45 between the first document object 40 and the second document object 50 (step 630). The method 600 includes the additional steps of storing the link relationship 45 created by the first user in a link directory 35 (step 640); and providing access to the link directory 35 to a second user (not shown) of another client device 20 (step 650).
The method 600 may include a step for providing authorized users of client devices 20 access to the link relationships 45 stored in link directories 35, based upon the document object 40 currently accessed by the users on the users' client device 20 (step 660).
FIG. 7 is a flowchart showing the steps of a method 700 for accessing and displaying link relationships and related document objects on a network according to one embodiment of the present invention. The method 700 initiates when a user of a client device 20 engages the rendering tool 210 to request, access and display a document object 40 (step 710). The user of the client device 20 then engages the client tool 220 and is authenticated by a server 30 (step 715). The user of the client device 20 then selects a user profile 332 (step 717) that has been returned to the client device 20 upon authentication of the user by the server 30 in step 715. The selected user profile 332 may be used to determine what attributes of the link relationships 45 will be applied to filter and sort the link references 430, 440, 450 and link relationships 460, 470, 480 returned by the server 30. By filtering and sorting using attributes, a manageable and meaningful group of relevant link references 430, 440, 450 may be displayed to the user based on the user's needs and interests.
In alternate embodiments of the method 700, the steps 715 and 717 may occur before the step 710.
With the user profile 332 selected and the document object 40 displayed, the user then selects a client tool 220 function (step 720). The first function that the user may select is to enter a document object URL 215 into the rendering tool 210, whereupon that document object URL 215 is captured by the client tool 220 and transmitted to the servers 30 (step 730). The activity of transmitting the document object URL 215 to the servers 30 by the client tool 220 may be recorded and stored in an appropriate location within the user data store 370.
The server 30 then processes the transmitted document object URL 215 across the various link directories 35 to which the user is authorized access. One method of processing by the server 30 is according to the following steps. The server 30 performs a search of the document object tables 410 of all link directories 35 to find all instances of the document object URL 215 (step 735). The server 30 then searches the Link relationship tables 420 in the link directories 35 where the URL 215 was found. This search by the server 30 locates all link relationships 460, 470, 480, 490 referencing the URL 215 as one of the pointers to link references 462 or 463, 472 or 473, 482 or 483, 492 or 493 included in those link relationship 460, 470, 480, 490 (step 740). The server 30 then accumulates all the URLs 432, 442, 452 related, through the link relationships 460, 470, 480, 490 identified in step 740, to the URL 215. The server 30 also accumulates the document object attributes 435, 445, 455 associated with the identified URLs 432, 442, 452 and the link relationship attributes 465, 475, 485, 495 associated with the link relationships 460, 470, 480, 490 identified in step 740 (step 745).
The accumulated URLs 432, 442, 452 are then filtered by link relationship attributes 465, 475, 485, 495 (step 750), and then filtered again by document object attributes 435, 445, 455 (step 755). In alternate embodiments of the method 700, the accumulated URLs 432, 442, 452 may be filtered first by document object attributes 435, 445, 455 (step 755) and then by link relationship attributes 465, 475, 485, 495 (step 750). The user profile 332 is applied to determine what link relationship attributes 465, 475, 485, 495, and document object attributes 435, 445, 455 to use in filtering the accumulated URLs 432, 442, 452. The filtered URLs 432, 442, 452 are then sent back to the client device 20 that transmitted the URL 215, along with the associated document object attributes 435, 445, 455, and associated link relationship attributes 465, 475, 485, 495 (step 760). The activity of transmitting the filtered URLs 432, 442, 452, along with the associated document object attributes 435, 445, 455, and associated link relationship attributes 465, 475, 485, 495, to the client device 20 may be recorded and stored in an appropriate location within the user data store 370. Alternatively, the first filtering steps 750, 755 may be performed by the client device 20.
The client tool 220, upon receiving the filtered URLs 432, 442, 452 from the server 30, may further filter and sort the returned URLs 432, 442, 452 according to data stored in the selected user profile 332 (step 765). In this manner, the data in the user profile 332 may be applied to the filtered and sorted URLs 432, 442, 452 on either the server 30 or the client tool 20.
The filtered and sorted URLs 432, 442, 452 are then displayed to the user of the client device 20 by the client GUI display 225 and the client tool 220 alerts the user of the client device 20 to the availability of related links (in the form of the returned URLs 432, 442, 452) by means of an indicator in the client GUI display 225 (step 770). The method 700 then returns to step 720 to await further action by the user of the client device 20.
If, at step 720, the user of the client device 20 selects one of the URL links 432, 442, 452 displayed by the Linkspace GUI display as being related by link relationships 460, 470, 480, 490 to the presently accessed document object 40 with the URL 215 (step 780), the rendering tool 210 then accesses the new document object 50 associated with the selected URL and displays that document object 50 in the GUI display 218 of the rendering tool 210 (step 785). The new document object URL address 215 of the selected document object 50 is then passed on to the servers 30 (step 790) and the method 700 continues with step 735, as above, using the URL 215 of the new document object 50 as the URL to search for.
FIG. 8 is a flowchart showing the steps of a method 800 for creating and publishing link relationships according to one embodiment of the present invention. The method 800 initiates when a user of the client device 20 engages the client tool 220 and is authenticated by a server 30 (step 810). The user of the client device 20 may then select a publish link relationship function of the client tool 220 (step 815).
The user of the client device 20 may then navigate, using the rendering tool 210, to the first document object 40 of the new link relationship 45 that the user of the client device 20 wishes to create and publish. The user may then select a declare first link function of the client tool 220 (step 820). The user of the client device 20 may then navigate, again using the rendering tool 210, to the second document object 50 that the user of the client device 20 wishes to associate by means of a link relationship 45 with the first document object 40. The user can then select the declare second link function of the client tool 220 (step 825). The user of the client device 20 has now selected both ends of a link relationship 45.
The user now may select which of the link directories 35 in which the user wishes to publish the new link relationship 45 (step 830). The user of the client device 20 may then further assign link relationship attributes, such as those shown in FIG. 4 (465, 475, 485, 495) to the link relationship 45, along with assigning any document object attributes, such as those shown in FIG. 4 (435, 445, 455), to the first document object 40 and second document object 50 of the link relationship 45 (step 835). The user may then interact with a Linkspace GUI 225 button or element to complete the link relationship publish function (step 840). Upon completion of the link relationship publish function on the client device, the URLs and document object attributes of the document objects 40 and 50 associated by the new link relationship 45 are stored in the document object table 410 in the selected link directory 35 (step 850). Additionally, the new link relationship 45, along with the URL references to the first document object 40 and second document object 50 and the link relationship attributes, such as those shown in FIG. 4 (465, 475, 485, 495), are stored in the link relationship table 420 in the selected link directory 35 (step 855). The method 800 for creating and publishing link relationships completes by recording the publishing activity to the user account record 379 associated with the user of the client device 20 for later tracking and billing purposes (step 880).
FIG. 9 is an example of a user interface, more specifically, a screen view of a user interface for a relate links dialog box 900, one element of the user interface of one embodiment of the invention. The relate links dialog box 900 is invoked when a user of the client tool 220 engages the publish link relationship function of the client tool 220. In the embodiment shown in FIG. 9, the relate links dialog box 900 includes a drop down list 910 for selecting a community of interest, a user interface term referring to one of the one or more link directories 35, and a checkbox 915 for indicating whether the link relationship 45 being created is to operate bi-directionally or unidirectionally. If the checkbox 915 is checked, then the link relationship 45 being created will only apply in one direction. In the example illustrated in FIG. 9, the user has selected the community of interest (link directory 35) referred to as “Wireless Washington,” a link directory 35 storing link references 42, 52 and link relationships 45 considered by their creators as relevant to wireless device users in the Washington, D.C. metropolitan area.
The relate links dialog box 900 further includes a link-from section 920, a link-to section 930, a link relationship attributes display box 970, a submit link relationship button 980 and a cancel button 985. The submit link relationship button 980 is selected by the user when the user has selected and/or entered all information associated with the link references 42, 52 and the link relationship 45 that the user wishes to publish. Upon selection of the submit link relationship button 980, the client tool 220 closes the relate links dialog box 900 and transmits the information associated with the created link relationship 45 to one of the one or more servers 30. The cancel button 985 may be selected by the user to abort the creation and publication of the link relationship 45 that the user initiated and to close the relate links dialog box 900.
In the embodiment shown in FIG. 9, the link-from section 920 may include a first document object URL 922 associated with the first document object 40 included in the link relationship 45 being created, where the first document object URL 922 was captured when the publish link relationship function was engaged; a first plain language name field 925; and a listing of first document object attributes 940 and the attribute values 942 associated with those first document object attributes 940. In the example illustrated by FIG. 9, the first document object URL 922 is the address of a first document object 40 that is a web page for a coffee and dessert shop. The first plain language name field 925 may be captured when the publish link relationship function was engaged and/or may be edited by the user creating the link relationship 45. An exemplary first document object attribute for food 945, and the value of specialty foods 947 assigned to the first document object attribute 945 by the user creating the link relationship 45, are also shown.
The link-to section 930 similarly may include a second document object URL 932 associated with the second document object 50 included in the link relationship 45 being created, where the second document object URL 932 was captured when the publish link relationship function was engaged; a second plain language name field 935; and a listing of second document object attributes 950 and the attribute values 952 associated with those second document object attributes 950. In the example illustrated by FIG. 9, the second document object URL 932 is the address of a second document object 40 that is a web page for a “LinkSpace Restaurant” located in McLean, Va. (a suburb of Washington). The second plain language name field 935 may be captured when the publish link relationship function was engaged and/or may be edited by the user creating the link relationship 45. An exemplary second document object attribute for location 955, and the value of address 995 assigned to the second document object attribute 955 by the user creating the link relationship 45, are also shown. In addition, in the example illustrated by FIG. 9, a subordinate attribute for city 957, subordinate under the attribute for location 955, and a value of address 995 along with the assigned value of McLean 958 for the subordinate attribute for city 957, are also shown in the link-to section 930. Further subordinate attributes may include a street 956 with a value 959 of 12345 Main Street.
The link relationship attributes display box 970, as shown for the embodiment illustrated by FIG. 9, includes a list of link relationship attributes 972 and a delete link relationship attribute button 975. The link relationships 972 are formed by pairs of first document object attributes 940 and second document object attributes 950 that the user creating the link relationship 45 has selected to describe the nature of the link relationship 45. These link relationship attributes 972 may form the link relationship attributes 465, 475, 485, 495 described in FIG. 4a. The delete link relationship attribute button 975 may be used to delete a selected link relationship attribute 972 displayed in the link relationship attributes display box 970.
The exemplary link relationship attribute 972 shown in FIG. 9 indicates that the user creating the link relationship 45 has declared that the city subordinate attribute 957 (one selected second document object attribute 950) of the Linkspace Restaurant associated with the second document object 50, having a value of McLean 958, is related to the food attribute 945 (one selected first document object attribute 940), having a value of specialty foods 947, of the coffee shop associated with the first document object 40. As a result, once the exemplary link relationship 45 shown in FIG. 9 is created and published, other users of Linkspace-enabled client devices 20 that request and/or access the Linkspace Restaurant web page may be presented with a link reference 42, 52 pointing to the web page for the coffee and dessert shop, as illustrated in the link reference display window 1020 shown in FIG. 10.
In one embodiment of the invention, the link relationship attribute 972 may be declared by the user performing a drag-and-drop operation wherein the document object attribute 957 is dragged and dropped onto the document object attribute 945, creating the link relationship attribute 972 which relates the two document objects 40, 50 by the association of the city subordinate attribute 957 to the food attribute 945. In an alternate embodiment, the creation and selection of link relationship attributes 972 may be performed in a manner similar to that used in the link-to section 930 and link-from section 920 described above, utilizing a set of link relationship attribute types along with data input fields for entering or otherwise selecting values for those attributes.
FIG. 10 is an example of a screen view for one embodiment of the client GUI display 225 for one embodiment of the invention, wherein the client GUI display 225 is integrated into the GUI display 218 of the rendering tool 210. Also, FIG. 10 depicts one example or manner of organizing link relationships for presentation. In the embodiment shown in FIG. 10, a client toolbar 1010 and a link reference display window 1020 together comprise the client GUI display 225. A browser window 1030 displays the document object (40, 50) being requested and accessed by the rendering tool 210 and having the document object URL address 215 displayed in an address bar field 1040.
The client toolbar 1010 includes a number of GUI buttons that initiate various functions of the client tool 220. A client logon button 1050 initiates a connection between the client tool 220 and one or more servers 30. A client logoff button 1055 ends a user session for the client tool 220 and disconnects the client tool 220 from the one or more servers 30. A mark starting page button 1060 may be engaged to initiate the publish link relationship function of the client tool 220 by setting the currently displayed document object 40 shown in the browser window 1030 and referenced by the document object URL address 215 displayed in the address bar field 1040 as the first document object 40 in the link relationship 45. After the user navigates to a second document object 50, a mark ending page button 1065 may be engaged to complete the selection of participating document objects 40, 50 for the publish link relationship function of the client tool 220. Engaging the mark ending page button 1065 sets the newly displayed document object 50 shown in the browser window 1030 and referenced by the document object URL address 215 displayed in the address bar field 1040 as the second document object 50 in the link relationship 45, and opens a relate links dialogue box 900 (shown and described in FIG. 9 above) to allow the user of the client tool 220 to assign attributes to the link relationship 45.
The client toolbar 1010 also may include three icons that indicate the availability and type of link references 42, 52 related to the document object 40 open in the browser window 1030. These icons may include a publisher links indicator 1071, a private links indicator 1072, and a community links indicator 1073.
The link reference display window 1020 presents the user with a hierarchical listing of any link references 42, 52, delivered by the server 30, that may be related to the document object 40 that is currently displayed in the browser window 1030 and has the document object URL address 215 shown in the address bar field 1040. The link reference display window 1020 may be presented in a tabbed format, wherein each tab may contain a different set of link references 42, 52 depending on the type of link reference and link relationship involved. In one embodiment of the invention, there may be three different tabs at the top of the link reference display window 1020, each corresponding to one of the indicator icons (1071, 1072, 1073) in the client toolbar 1010. The first tab may be a private links tab 1074, corresponding to the private links indicator 1072. The second tab may be a publisher links tab 1075, corresponding to the publisher links indicator 1071. The third tab may be a community links tab 1076, corresponding to the community links indicator 1073.
The publisher links tab 1075 displays an embodiment of the link reference display window 1020 presenting link references 42, 52 created by an entity responsible for the document object 40 displayed in the browser window 1030. The private links tab 1074 displays an embodiment of the link reference display window 1020 presenting link references 42, 52 created by the user of the client tool 220. The community links tab 1076 displays an embodiment of the link reference display window 1020 presenting link references 42, 52 created by the other users of the system 100.
The document object 40 displayed in the browser window 1030 in FIG. 10 is a representative web page, in this case for a restaurant named Linkspace. When this page is displayed, and the client tool 220 is engaged, as indicated by the recessed display of the client logon button 1050 in the client toolbar 1010, one or more of the indicator icons (1071, 1072, 1073) in the client toolbar 1010 will become highlighted if there are any link references 42, 52 available of the corresponding type.
For example, as illustrated in FIG. 10, the community links indicator 1073 is highlighted, while the publisher links indicator 1071 and the private links indicator 1072 are grayed out. This indicates that the server 30 has returned one or more link references 42; 52 that are categorized as community links and has not returned any link references 42, 52 categorized as publisher or private links. The returned link references 42, 52 are displayed in the link reference display window 1020 under the community links tab 1076. In this case, the link references 42, 52 are displayed in a hierarchical listing under affinity directory headings 1081, 1082. The affinity directory heading 1082 shown represents one community of interest, corresponding to one link directory 35 on a server 30, maintaining one set of link relationships 45 and link references 42, 52, that may include the document object 40 displayed in the browser window 1030. In addition, under each affinity directory heading 1081, 1082, there may be displayed one or more attribute folders 1091, 1092. Each attribute folder 1091, 1092 may contain a grouping of listed hyperlinks 1095, 1096 drawn from the respective affinity directory heading 1082 and related to the document object 40 displayed in the browser window 1030 by a particular link relationship attribute 972.
In the example shown in FIG. 10, affinity directory heading 1082 indicates a link directory 35 focusing on wireless devices in the Washington, D.C. area. Also shown in the example in FIG. 10, the attribute folder 1091 groups listed hyperlinks 1095 by the link relationship attribute 972, further relating document objects 40 to specialty food document objects 50. The listed hyperlink 1095, listed under the attribute folder 1091, comprises the text of the plain language name attribute of a document object concerning coffee and dessert after dinner. In this manner, the listed hyperlink 1095, displayed under the affinity directory heading 1082 and the attribute folder 1091, represents a link reference 52 to a document object 50 that is related, as a document object of interest to wireless device users in the Washington area, and as a specialty food document object, to the document object 40, the restaurant web page, displayed in the browser window 1030.
The attribute folder 1092 shown in the example in FIG. 10 groups listed hyperlinks 1096 by the link relationship attribute 972 further relating documents objects 40 to document objects 50 concerning the downtown area of the Washington, D.C. suburb of McLean. The listed hyperlink 1096 is to a LinkNexus document object for the city of McLean. A LinkNexus document object may comprise a listing of further link references 42, 52 to document objects 40, 50 relating to a particular subject. In the case illustrated in FIG. 10, the LinkNexus document object indicated by the listed hyperlink 1096 may contain link references 42, 52 concerning the suburban city of McLean. In this manner, the listed hyperlink 1096, displayed under the affinity directory heading 1082 and the attribute folder 1092, represents a link reference 52 to a document object 50 that is related, as a document object of interest to wireless device users in the Washington area, and as a link to content relevant to downtown McLean, to the document object 40, the restaurant web page, displayed in the browser window 1030.
The affinity directory heading 1081 shown in the example in FIG. 10 indicates a community related to “Your Company,” the user's company. This affinity directory heading 1081 may contain link references 42, 52 to document objects 40, 50 maintained on the user's company's private network 520, accessible to users within the company, but not to the general public, as shown and described in FIG. 5.
The example of a screen view for one embodiment of the client GUI display 225 in FIG. 10 may further include a publish document object button 1045, a submit link relationship annotation button 1047, a find link directories button 1057, and a user controls button 1056. The publish document object button 1045 activates a publish document object function of the client tool 220. The submit link relationship annotation button 1047 activates a submit link relationship annotation function of the client tool 220. The find link directories button 1057 activates a function of the client tool 220 and the server 30 which identifies link directories 35 which include link references 42, 52 pointing to the currently accessed document object 40 and opens a find link directories dialog box (not shown) within the client user interface 225.
The user controls button 1056 activates a user controls selection function of the client tool 220 and the server 30 and opens a user controls dialog interface (not shown) which permits the user of the client tool 220 to select from a plurality of user controlled document object management interfaces, including but not limited to a link reference attribute management interface 1200, a link relationship attribute management interface 1300, and a user profile configuration interface 1400.
When the find link directories button 1057 is selected the client tool 220 captures the URL of the currently accessed document object 40 and transmits that current URL to the server 30 with a request to search all link directories 35 accessible to the user for link references 42, 52 and link relationships 45 that include the current URL. If one or more link directories 35 are found that include a link reference 42, 52 or link relationship 45 containing the current URL, the user of the client tool 220 is informed of the existence of the one or more directories 35 and instructed by the server 30 through the client tool 220 about how to learn more about the one or more link directories 35 containing the current URL and how to gain access to those link directories 35.
The systems and methods described above provide a framework for organizing, managing, and presenting document objects 40, 50 stored on a network 10. The link directories 35, link relationships 45, and link references 42, 52 enable users of the network 10 to organize the document objects 40, 50 on the network 10 without altering the document objects 40, 50 or changing the location of the document objects 40, 50 on the network 10. Link relationship attributes describing link relationships 45 and document object attributes describing document objects 40, 50 referred to by link references 42, 52 provide the mechanism to organize and describe document objects 40, 50. User profiles 230, 332 provide a mechanism by which users of the network 10 may further manage document objects 40, 50 by determining which link references 42, 52 to document objects 40, 50 may be presented to the user as potentially of interest to the user.
In an alternate embodiment of the invention, the user of the client tool 220 may search link directories 35 for link relationships 45 or link references 42, 52 that have been assigned selected attributes of interest to the user. In this embodiment, the user may engage a function of the client tool 220 to present a search GUI (not shown) where the user may select one or more link directories 35 the user wishes to search and select one or more attributes of link relationships 45 and link references 42, 52 the user wishes to locate. The search GUI may also allow the user to constrain the search to selected values or ranges of values of the selected attributes of the link relationships 45 and link references 42, 52. Upon execution of the search function, the server 30 retrieves from the one or more selected link directories 35 one or more link relationships 45 and one or more link references 42, 52 that have been assigned the attributes selected by the user for the search, and the server 30 further filters the retrieved link references 42, 52 and link relationships 45 based on the constraints applied by the user to the one or more selected link relationship attributes or link reference attributes.
FIG. 11a, FIG. 11b, and FIG. 11c (“FIG. 11”) are flowcharts illustrating a method 1100 for providing a framework for managing document objects 40, 50 located on a network 10, according to one embodiment of the invention. The method 1100 includes a step for creating one or more link directories 35 storing the link relationships 45 between document objects 40, 50 (step 1105); a step for enabling users to create link relationships 45 between a first document object 40 and a second document object 50 located on the network 10 (step 1110) and a step allowing users to assign discrete attributes describing the link relationship 45 and the document objects 40, 50 related by the link relationship 45 (step 1120).
The allowing step 1120 may include further steps for defining link relationship attributes describing the link relationships 45 stored in the one or more link directories 35 (step 1122); and for defining document object attributes describing link references 42, 52 to the document objects 40, 50 related by the link relationships 45 stored in the one or more link directories 35 (step 1123). The creating step 1105 and the defining steps 1122 and 1123 may be performed by a user of the network 10 authorized to create and manage link directories 35. Such a user may be considered a link directory administrator (not shown). By defining link relationship attributes describing the link relationships 45 stored in the one or more link directories 35 (step 1122) and defining document object attributes describing link references 42, 52 to the document objects 40, 50 related by the link relationships 45 stored in the one or more link directories 35 (step 1123), the link directory administrator determines the type and qualities of the link relationships 45 and link references 42, 52 contained in the link directory 35 the link directory administrator manages. This enables the link directory administrator to set up a framework of management and presentation for the link relationships 45 and link references 42, 52 contained in the link directory 35 and to establish the link directory 35 as a community of interest tailored to interests and topics as defined by the link directory administrator.
The allowing step 1120 may also include steps for assigning one or more relevant document object attributes describing a specific link reference 42, 52 to a document object 40, 50 located on the network 10 included in a link relationship 45 being created and stored in the one or more link directories 35 by a user of the network 10 (step 1124); and assigning one or more relevant link relationship attributes describing a specific link relationship 45 being created and stored in the one or more link directories 35 by a user of the network 10 (step 1125). The assigning steps 1124 and 1125 may be performed by any user of the network 10 authorized to create link relationships 45 and link references 42, 52 to be stored in the one or more link directories 35.
The step 1125 of assigning one or more relevant link relationship attributes may include selecting one or more defined and assigned document object attributes associated with each of the two document objects 40, 50 that define the link relationship 45 to create a link relationship attribute describing the link relationship 45.
The selecting steps 1124 and 1125 of the method 1100 may be performed by any user of the network 10 authorized to create link relationships 45 and link references 42 by interaction with the client tool 220 through the relate links dialog box 900 illustrated in and described for FIG. 9.
The allowing step of the method 1100 may also include a step for storing the link relationships 45 with the defined and assigned discrete attributes in the one or more link directories 35 located on the network 10 separate from the document objects 40, 50 (step 1130).
The method 1100 also includes a step for managing presentation of link relationships 45 to users of the network 10 using the discrete attributes assigned by users of the network 10 to determine which link relationships 45 to present to users and the manner in which those link relationships will be presented to users (step 1140). The managing step 1140 may include steps for permitting users of the network 10 to access the one or more link directories 35 (step 1141); for creating one or more user profiles 230, 332 by specifying one or more link directories 35 and one or more attributes describing the link relationships 45 and/or attributes of the document objects 40, 50 that may be relevant to the interests of the user creating the user profiles 230, 332 (step 1142); for retrieving from the one or more link directories 35 one or more link relationships 45 between the document object 40 the user is currently accessing and other document objects 50 located on the network (step 1143); for applying the user profiles 230, 332 as filters against the one or more retrieved link relationships 45 to determine which link relationships 45 to present to the user (step 1144); for ordering the retrieved link relationships 45 by link directories 35 and by attributes describing the link relationships 45 and/or attributes of the document objects 40, 50 (step 1146); and for presenting the retrieved and filtered link relationships 45 to the user while the user is accessing a first document object 40 (step 1149). By application of this method, a user or an administrator is provided the capability necessary to manage the presentation to the user of link relationships 45 between document objects 40, 50 on the network 10, and thereby improve the user's awareness of, access to and navigation through those document objects 40, 50 located on the network 10.
FIG. 12 is one example screen view of a user interface 1200 for defining attributes allowed for document objects 40, 50 in a link directory 35 according to one embodiment of the invention. The example user interface shown in FIG. 12 may be used by a link directory administrator (not shown) to determine the types of link references 42, 52 that she wishes to be managed and stored in the specific link directory 35 she is managing. The link directory administrator determines the type of link references 42, 52 she intends to maintain in the link directory 35 she controls by defining one or more document object attributes allowed to describe the link references 42, 52. The document object attributes that the link directory administrator defines, when assigned by a user for the link references 42, 52, serve to place the link references 42, 52 in a useful context for users of the network 10 accessing the link references 42, 52 stored in the link directory 35.
In one embodiment of the invention, the link directory administrator opens the link reference attribute management interface 1200 by starting a management session with a server 30 that contains the link directory 35 the link directory administrator wishes to manage. In one embodiment of the invention, the link reference attribute management interface 1200 is opened inside the rendering tool 210, which may comprise a web page browser. The link reference management interface 1200 includes a link directory name label 1201 with an associated value 1202 indicating the name of the link directory 35 that will be managed by the link reference management interface 1200. An add attribute button 1205 is included beneath the link directory name label 1201 in the embodiment of the link reference attribute management interface 1200 shown in FIG. 12. The add attribute button 1205 allows the user to assign a new document object attribute to the link directory 35, and presents the new attribute in the link reference attribute management interface 1200. Each new document attribute includes fields for specifying unique values having assigned meanings associated with the created document object attribute which may be edited and expanded upon to provide additional information.
Each new document object attribute created within the link reference attribute management interface 1200 includes an attribute name 1211, an attribute data type 1212, a required attribute checkbox 1213, and a use-lookup checkbox 1214. The attribute name 1211 allows the link directory administrator to create and modify a descriptive text name associated with the new document object attribute 1216. For the document object attribute 1216, the link directory administrator has entered an attribute name 1211 of “Activities and Events.” The attribute data type 1212 allows the link directory administrator to specify the form of data that the document object attribute may contain. The link directory administrator selects the data type 1212 from several allowable data types (including but not limited to Boolean (yes/no), integer, text, and others permitted by the system 100) using a data type selection list box 1217. The attribute data type 1212 selected using the data type selection list box 1217 allows the system 100 to ensure that valid document object attribute data is entered for each document object attribute selected by a user of the network 10 accessing and creating link relationships 45 and link references 42, 52. For the document object attribute 1216, the link directory administrator has selected a data type 1212 of “Text” from the data type selection list box 1217.
The required attribute checkbox 1213 allows the link directory administrator to specify whether the system 100 requires that a document object attribute defined by the link directory administrator for the link directory 35 may be required to be selected, and a value entered, by users creating link relationships 45 and link references 42, 52 in the link directory 35. This ensures that link references 42, 52 and link relationships 45 associated with document objects 40, 50 entered in the link directory 35 have managed document object attributes, as assigned by the users, that are required by the link directory administrator to effectively manage the link relationships 45 and link references 42, 52 associated with the document objects 40, 50 on the network 10.
If the checkbox 1218 for the second document object attribute 1216 listed in the link reference management interface 1200 were to be checked, then that document object attribute 1216 would be required to have values selected by users of the link directory 35. The use-lookup checkbox 1214 allows the link directory administrator to specify a managed set of possible values for each document object attribute. The use of the use-lookup checkbox 1214 is illustrated for the second document object attribute 1216 shown in FIG. 12 where a use-lookup checkbox 1219 corresponding to the second document object attribute 1216 has been checked. Under this document object attribute 1216, a list of values 1225 is displayed, including the value 1226 of “Exhibits and Tours.” This allows the link directory administrator to limit the possible values of document object attributes to the selected list of values 1225. This aspect of document object attribute management prevents uncontrolled variation of possible values in fields with attribute data types 1212 that require few or no constraints.
The first document object attribute 1215 listed in the link reference attribute management interface 1200, with an attribute name 1215 of “Accessible to Handicapped,” is an example of a document object attribute that may be important to a user interested in a document object 40 which may describe a restaurant. The indication that a restaurant is or is not accessible to the handicapped may be a determining factor in selection of document objects 40, 50 for viewing by a user. Using the invention, users wishing to promote a document object 40 describing a restaurant may assign a document object attribute 1215 of “Accessible to Handicapped” to a link reference 42 pointing to the document object 40. A user of the invention seeking information regarding restaurants may only be interested in document objects 40,50 about restaurants that are handicapped accessible and may filter out any document objects 40,50 that are not handicapped accessible through the selection of the document object attribute 1215 in one or more user profiles 230, 332. In the example of document object attribute 1215, the link directory administrator has specified that the data type 1212 is a simple “yes/no” value, and has not checked the required field 1213 and therefore specified that the document object attribute 1215 is not required to be assigned by users. The use-lookup field 1214 for the document object attribute 1215 is unchecked. In this example, the “yes/no” data type does not require specification of possible values. By defining the document object attribute 1215 of “Accessible to Handicapped” and permitting users to select that document object attribute 1215, the link directory administrator is provided with the capability to manage document objects 40, 50 that may describe a facility or event that is handicapped accessible.
The invention, through the use of the link reference attribute management interface 1200 shown in FIG. 12, enables the link directory administrator to manage document objects by relating document object attributes to other document object attributes based on hierarchical dependencies and common dependencies. In a hierarchical dependency a selected document object attribute may have subordinate document object attributes which further described document objects with the selected document object attribute. For example, the selected document object attribute may be “restaurant,” and a subordinate document object attribute may be “cuisine.”
In a common dependency, a selected document object attribute may have a common document object attribute that is dependent on but not unique to the selected document object attribute. For example, the selected document object attribute may be “address,” which is a common document object attribute that should not be a unique subordinate document object attribute of the “restaurant” document object attribute. These two forms of document object attribute dependencies allow more detailed description of document objects 40, 50 with each selected document object attribute. Such a more detailed description of the document objects 40, 50 referenced by the link directory 35 enables the users to more readily determine the relevance of the document objects 40, 50 to the users' needs and interests.
A representative document object attribute for location 1240 may have the associated use-lookup field 1243 checked, indicating that there will be a list of values 1245 associated with the document object attribute for location 1240. In the example shown in FIG. 12, the link directory administrator has entered two possible values 1246, 1260 in the list of values 1245 below the document object attribute for location 1240. Each of these values 1246, 1260 are alternative ways to further describe the document object attribute for location 1240. The document object attribute for location 1240 may be a document object attribute of particular importance to a user's selection of a document object 40, 50 where the user is seeking document objects describing a restaurant. The document object attribute for location 1240 may also be a document object attribute of particular importance to a user creating a link relationship 45 between document objects 40, 50. Depending on the parameters of the user's search for document objects 40, 50, the common document object attribute for address 1246, the common document object attribute for geolocation 1260, or both, may be important discriminators in a user's search for a restaurant document object 40, 50.
The link reference attribute management interface 1200 allows the link directory administrator to further assign document object attributes that may be dependent upon the location document object attributes in the list of values 1245. These document object attributes are illustrated by the document object attributes listed below the document object attribute of address 1246, including the common document object attribute with the name “zip” 1255. The common dependency of the “zip” document object attribute 1255 to the location document object attribute 1240 and address document object attribute 1246 clarify that the “zip” document object attribute 1255 is a value of the zip code further describing the address of a location associated with the document object 40 for which a user may be creating link references 42.
By creating subordinate and common dependent document object attributes, the link directory administrator facilitates management of document objects by assigning document object attributes that further define a specific document object attribute. If the document object attribute to which the common or subordinate document object attribute is subordinate is selected, only then are the subordinate or common document object attributes relevant. In addition, common document object attributes distinguish these document object attributes from other uses of similar, or even identical document object attribute names 1211. For instance, the document object attribute with the name “zip” 1255 might also be used to specify a delivery service area of a restaurant described in a document object 40, 50. The delivery area may include zip codes including but not limited to the zip code of the restaurant.
The action word “dependencies” 1223 also allows the link directory administrator to manage document objects by identifying common or subordinate document object attributes associated with the document object attribute 1215 adjacent to the action word 1223. These common or subordinate dependent document object attributes allow the directory administrator to manage the attributes of document objects by reducing redundant subordinate document object attributes. For example, by making the location document object attribute 1240 dependent on the activities and events document object attribute 1216 and fast food document object attribute 1232, the system 100 permits definition and assignment of just one location document object attribute 1240 rather than a location document object attribute 1240 subordinate to each of the activities and events document object attribute 1216 and the fast food document object attribute 1232.
Three additional action buttons may be associated with each document object attribute, including subordinate document object attributes. These additional action buttons include an update button 1220, a delete button 1221, and an add subordinate document object attribute button 1222. The update button 1220 allows the link directory administrator to refresh the data in the link directory 35 regarding the document object attributes defined for that link directory 35. The delete button 1221 deletes the associated document object attribute, its values, and its subordinate and common document object attributes. The add subordinate document object attribute button 1222 adds a subordinate document object attribute that is subordinate to the document object attribute adjacent to the button 1222.
When no document object attribute has been defined in the link reference attribute management interface 1200, an add document object attribute button 1210 allows the link directory administrator to enter a new top-level document object attribute 1215, 1216, 1230, 1240. The add document object attribute button 1210 may also allow the link directory administrator to add another top-level document object attribute 1215, 1216, 1230, 1240, when one or more top-level document object attributes 1215, 1216, 1230, 1240 have already been assigned.
FIG. 13 is one example screen view of a user interface 1300 for defining attributes for link relationships 45 in a link directory 35 according to one embodiment of the invention. The example user interface shown in FIG. 13 may be used by a link directory administrator (not shown) to determine the types of link relationships 45 that she wishes to be managed and stored in the specific link directory 35 she is managing. The link directory administrator determines the type of link relationships 45 she intends to maintain in the link directory 35 she controls by defining one or more link relationship attributes to describe the link relationships 45. The link relationship attributes serve to place the link relationships 45 in a useful context for presentation to users of the network 10. This ensures that link relationships 45 between document objects 40, 50 entered in the link directory 35 have managed link relationship attributes, as assigned by the users, that are required by the link directory administrator to effectively manage the link relationships 45 and link references 42, 52 associated with the document objects 40, 50 on the network 10.
By using the example link relationship management interface 1300 illustrated in FIG. 13, the link directory administrator may define link relationship attributes to describe link relationships 45 maintained in the link directory 35. The link relationship attributes may be defined by associating pairs of defined document object attributes. The link relationship attributes may also be defined without regard to document object attributes.
In one embodiment of the invention, the link directory administrator opens the link relationship attribute management interface 1300 by starting a management session with a server 30 that contains the link directory 35 the link directory administrator wishes to manage. In one embodiment of the invention, the link relationship attribute management interface 1300 may be opened inside the rendering tool 210, which may comprise a web page browser. The link relationship management interface 1300 includes a link directory name label 1301 with an associated value 1302 indicating the name of the link directory 35 that will be managed by the link relationship management interface 1300. An add pair attribute button 1305 and an add attribute button 1306 are included beneath the link directory name label 1301 in the embodiment of the link relationship attribute management interface 1300 shown in FIG. 13. The add pair attribute button 1305 allows the link directory administrator to create a new link relationship attribute in the link directory 35 and presents the new link relationship attribute for editing in the paired link relationship attribute section 1310 of the link relationship attribute management interface 1300. The add attribute button 1306 allows the link directory administrator to create a new link relationship attribute in the link directory 35 and presents the new link relationship attribute for editing in the stand-alone link relationship attribute section 1350 of the link relationship attribute management interface 1300.
The paired link relationship attribute section 1310 of the link relationship management interface 1300 shows an example interface for defining paired link relationship attributes 1325 formed by relating two document object attributes defined for the link directory 35 by the link directory administrator in the link reference management interface 1200. Each new link relationship attribute defined within the link relationship attribute management interface 1300 includes an attribute name 1320, an attribute data type 1321, a required attribute checkbox 1322, and a use-lookup checkbox 1323. The attribute name 1320 allows the link directory administrator to create and modify a descriptive text name associated with the new link relationship attribute 1325. For the link relationship attribute 1325, the link directory administrator has entered an attribute name 1320 of “Rating.” The attribute data type 1321, required attribute checkbox 1322, and use-lookup checkbox 1323 perform substantially similar functions in relation to the link relationship attribute 1325 as the document object attribute data type 1212, required attribute checkbox 1213, and use-lookup checkbox 1214 performed for document object attributes in FIG. 12.
The action word “dependencies” 1335 allows the link directory administrator to add subordinate link relationship attributes (not shown) below the link relationship attribute 1325 associated with the action word 1335. Three additional action buttons may be associated with each link relationship attribute, including subordinate link relationship attributes. These additional action buttons include an update button 1331, a delete button 1332, and an add subordinate link relationship attribute button 1333. The update button 1331 allows the link directory administrator to refresh the data in the link directory 35 regarding the link relationship attributes defined for that link directory 35. The delete button 1332 deletes the associated link relationship attribute. The add subordinate link relationship attribute button 1333 adds a subordinate link relationship attribute that is subordinate to the link relationship attribute associated with the button 1333.
In the embodiment of the link relationship management interface 1300 illustrated in FIG. 13, the paired link relationship attribute section 1310 further includes a link reference attribute pairs selection section 1340. The link reference attribute pairs selection section 1340 includes two link reference attribute selection list boxes 1341, 1342 which enable the link directory administrator to select two document object attributes from among the document object attributes defined for the link references 42, 52 stored in the link directory 35 (through the link reference attribute management interface 1200 in one embodiment of the invention). By selecting the two document object attributes using the link reference attribute selection list boxes 1341, 1342, the link directory administrator specifies that the paired link relationship attribute 1325 may describe the link relationships 45 stored in the link directory 35 as relationships between two document objects 40, 50 considered by the users creating the link relationships 45 to be significant as document objects 40, 50 having the respective document object attributes selected in the link reference attribute selection list boxes 1341, 1342.
Each paired link relationship attribute 1325 assigned through the link relationship management interface 1300 shown in FIG. 13 may also have a values section 1345 associated with it. The values section 1345 may include one or more link relationship attribute value entries 1346 which may be defined by the link directory administrator to enable the users creating the link relationships 45 to select from specific values for the paired the link relationship attributes 1325. In the example shown in FIG. 13, the selection list boxes 1341 and 1342 have selected values of “review” and “restaurant,” respectively. This paired link relationship attribute 1325 may be assigned by users of the link directory 35 to describe link relationships 45 created where one of the document objects 40, 50 may be described as a review of a restaurant and the other of the document objects 40, 50 may be described as a restaurant document object. In the example for the link relationship management interface 1300 shown in FIG. 13, the link relationship attribute value entries 1346 for the paired link relationship attribute 1325 qualify the “review” and the “restaurant” as either “good” or “bad.” Many other qualifications or quantifications are possible.
In one embodiment of the link relationship management interface 1300, as shown in FIG. 13, a stand-alone link relationship attribute section 1350 follows the paired link relationship attribute section 1310. The stand-alone link relationship attribute section 1350 enables the link directory administrator to define stand-alone link relationship attributes 1351, 1355 in much the same manner as document object attributes may be defined using the link reference attribute management interface 1200 shown in FIG. 12. The example stand-alone link relationship attribute 1351 includes an assigned attribute name 1351 of “competitors,” an attribute data type 1352 of “text,” a required attribute checkbox 1353 that is left unchecked, and a use-lookup checkbox 1354, also left unchecked. The example stand-alone link relationship attribute 1355 includes an defined attribute name 1355 of “nearby,” an attribute data type 1356 of “decimal,” a required attribute checkbox 1357 that is left unchecked, and a use-lookup checkbox 1358, that has been checked to indicate that the link directory administrator may define a set of managed attribute values for users to select from for the stand-alone link relationship attribute 1355.
FIG. 14 is one example screen view of a user interface 1400 for configuring user profiles 230, 332 according to one embodiment of the invention. The user profile configuration interface 1400, as shown in FIG. 14, enables a user of the network 10 to select one or more link directories 35 and specify one or more selected link relationship attributes and/or document object attributes defined for the one or more link directories 35 that the user is particularly interested in. The user profile 230, 332 created by the user profile configuration interface 1400 may be utilized by the invention to filter link relationships 45 and link references 42, 52 retrieved from the one or more link directories 35 and presented to the user based upon a document object 40 currently accessed by the user. The user profile 230, 332 created by the user profile configuration interface 1400 may also be utilized to ensure that the filtered link relationships 45 and link references 42, 52 presented to the user represent document objects 40, 50 that match the user's interests.
The user profile configuration interface 1400 includes a profile name field 1410, an available link directories section 1420, a selected link directories section 1430, an add selected link directory button 1427, a delete selected link directory button 1437, a selected attributes section 1440, and a selected attribute values section 1450. The profile name field 1410 permits the user to assign a name to the user profile 230, 332 the user is creating with the user profile configuration interface 1400. The available link directories section 1420 lists the names 1425 of link directories 35 that the user has been authorized to access but has not already selected as being of interest to the user in the user profile 230, 332 being created with the user profile configuration interface 1400. The selected link directories section 1430 lists the names 1435 of link directories 35 that the user has selected to be of interest to the user for the user profile 230, 332 being created with the user profile configuration interface 1400. An available link directory 1425 may be selected and moved to the selected link directories section 1430 by highlighting the available link directory 1425 and activating the add selected link directory button 1427. A selected link directory 1435 may be deleted from the selected link directories list section 1430 by highlighting the selected link directory 1435 and activating the delete selected link directory button 1437.
With one or more selected link directories 1435 added to the selected link directories section 1430, the user may then select one or more link relationship attributes or link reference attributes that have been defined for the selected link directories 1435 and add them to the selected attributes section 1440. The selected attributes section 1440 includes one or more selected attributes 1445. Each selected attribute 1445 is selected by the use of a dropdown selection list-box allowing the user to pick from among the link relationship attributes and link relationship attributes defined for the selected link directories 1435 listed in the selected link directories section 1430. For each selected attribute 1445, a corresponding attribute value field 1455 is available in the selected attribute values section 1450. The user may enter a value in the attribute value field 1455 that further describes the selected attribute 1445 of interest to the user.
In the example shown in FIG. 14, the selected link directories section 1430 includes one selected link directory 1435 named “Wireless Washington.” In this example, the user has selected one selected attribute 1445 named “Food,” and assigned it the selected attribute value 1455 of “Fast Food.” This enables the user profile 230, 332 given the name “Fast Dining” in the profile name field 1410 to permit filtering of link relationships 45 and link references 42, 52 and to permit presentation to the user through the client GUI display 225 of only those link relationships 45 and link references 42, 52 pertaining to “Fast Food” in the “Wireless Washington” link directory 35.
The user profile configuration interface 1400 also includes an add attributes button 1460, a save changes to profile button 1470, a reset changes button 1480, and a return to user controls button 1490. The add attributes button 1460 inserts an additional selected attribute 1445 into the selected attributes section 1440, enabling the user to assign multiple selected attributes 1445. The save changes to profile button 1470 saves all the information selected and edited in the user profile configuration interface 1400 for the user profile 230, 332 indicated in the profile name field 1410 to that user profile 230, 332. The reset changes button 1480 clears any changes made to any of the fields in the user profile configuration interface 1400 for the user profile 230, 332 indicated in the profile name field 1410. The return to user controls button 1490 exits the user profile configuration interface 1400 and opens a user control panel interface (not shown) enabling the user to add, delete and modify other user parameters, including but not limited to the link directories 35 the user may be permitted access to, identifying personal information for the user, and other data regarding the user's access to and presentation of the link relationships 45 stored in the one or more link directories 35.
The document objects 40, 50 managed by the method 1100 may be presented to the user accessing a document object through the link reference display window 1020 shown in the example of a screen view for one embodiment of the client GUI display 225 in FIG. 10. Link relationships 45 between document objects 40, 50 referenced by link references 42, 52 may be presented to the user in a hierarchical listing under affinity directory headings 1081, 1082 in the link reference display window 1020. Each affinity directory heading 1081, 1082 corresponds to one of the one or more link directories 35 on a server 30. In addition, under each affinity directory heading 1081, 1082, there may be displayed one or more attribute folders 1091, 1092. Each attribute folder 1091, 1092 under each affinity directory heading 1082, 1082 corresponds to one of the one or more link relationship attributes or document object attributes that the link directory administrator has defined for the corresponding link directory 35, and that the user has determined through one or more user profiles 230, 332, to be of interest to the user while viewing a document object 40 in the browser display window 1030.
Furthermore, each attribute folder 1091, 1092 may contain one or more listed hyperlinks 1095, 1096 drawn from the respective affinity directory headings 1081, 1082. The listed hyperlinks 1095, 1096 represent link references 52 to second document objects 50 on the network 10 related to the first document object 40 in the browser display window 1030. The link references 52 enable the user to navigate to the second document objects 50 by selecting the listed hyperlinks 1095, 1096. A link reference 52 includes a pointer to the network address, or URL, of the second document 50. The URL of a document object 50 may also permit the rendering tool 210 to present or highlight a particular location (e.g., a bookmark) in the second document object 50 upon opening the document object 50 when the user selects a listed hyperlink 1095, 1096. Alternatively, the document object 50 accessed when the user selects a listed hyperlink 1095, 1096 may be generated on the network 10 at the time of selection of the listed hyperlink 1095, 1096.
The example of a screen view for one embodiment of the client GUI display 225 also illustrates the capability provided by the one embodiment of the invention to present information regarding the users creating link references 42, 52 and link relationships 45 to users accessing document objects 40, 50 on the network 10 using the client GUI display 225. The example of a screen view for one embodiment of the client GUI display 225 includes a publisher information popup box 1099. The publisher information popup box 1099, in one embodiment of the invention, may be activated when a user of the client GUI display 225 right-clicks the pointing device of the client device 20 over one of the listed hyperlinks 1097 presented in the link reference display window 1020.
The publisher information popup box 1099 includes a document object publisher information selector 1085, a document object publisher other links selector 1086, a link relationship publisher information selector 1087, and a link relationship other link relationships selector 1088. Selecting the document object publisher information selector 1085 displays to the user of the client GUI display 225 a listing of information regarding the user of the network 10 identified as the entity responsible for the network domain where the document object 50 referenced by the listed hyperlink 1097 is located. Selecting the document object publisher other links selector 1086 displays to the user of the client GUI display 225 a listing of other link references 42, 52 created by the user of the network 10 identified as the entity responsible for the network domain where the document object 50 referenced by the listed hyperlink 1097 is located. The user of the network 10 identified as the entity responsible for the network domain where the document object 50 referenced by the listed hyperlink 1097 is located may be determined by the use of a special document object attribute defined for and assigned to the document object 50 referenced by the listed hyperlink 1097.
Selecting the link relationship publisher information selector 1087 displays to the user of the client GUI display 225 a listing of information regarding the user of the network 10 who created the link relationship 45 referenced by the listed hyperlink 1097. Selecting the link relationship publisher information selector 1087 displays to the user of the client GUI display 225 a listing of other link relationships 45 created by the user of the network 10 who created the link relationship 45 referenced by the listed hyperlink 1097. The user of the network 10 who created the link relationship 45 referenced by the listed hyperlink 1097 is located may be determined by the use of a special link relationship attribute defined for and assigned to the link relationship 45 referenced by the listed hyperlink 1097.
The steps of the methods 600, 700, 800, and 1100, and subsets of those steps or parts of the methods, may be implemented with hardware or by execution of programs, modules or scripts. The programs, modules or scripts may be stored or embodied on one or more computer readable mediums in a variety of formats, including source code, object code or executable code, among other formats. The computer readable mediums may include, for example, both storage devices and signals. Exemplary computer readable storage devices include conventional computer system RAM (random access memory), ROM (read only memory), EPROM (erasable, programmable ROM), EEPROM (electrically erasable, programmable ROM), and magnetic or optical disks or tapes. Exemplary computer readable signals, whether modulated using a carrier or not, are signals that a computer system hosting or running the described methods can be configured to access, including signals downloaded through the Internet or other networks.
The terms and descriptions used herein are set forth by way of illustration only and are not meant as limitations. Those skilled in the art will recognize that many variations are possible within the spirit and scope of the invention as defined in the following claims, and their equivalents, in which all terms are to be understood in their broadest possible sense unless otherwise indicated.

## Claims

1. A system for managing information such as objects on networks or in organized information stores, the system comprising:
a computer including a memory and a processor;
one or more link directories, wherein at least one link directory is stored in the memory, each link directory comprising a link relationship table that includes a plurality of link relationship entries representing link relationships, each link relationship entry comprising:
a plurality of fields describing the represented link relationship, the fields comprising:
a first field comprising a unique identifier for a first document object of the represented link relationship;
a second field comprising a unique identifier for a second document object of the represented link relationship; and
a plurality of attribute fields populated with attributes providing information that defines a plurality of relationships between the first document object and the second document object, wherein the plurality of relationships enable the link relationship entry to be used to search for, retrieve, publish, filter and sort the first document object, the second document object and the link relationship represented by the link relationship entry; and

one or more directional indicator fields in which one of the one or more directional indicator fields indicates that the link relationship only operates when accessed in the indicated direction.

2. The system of claim 1 in which one of the one or more directional indicator fields is associated with one of the plurality of attribute fields and indicates that the attribute applies in one of the following ways: uni-directionally to the first field, uni-directionally to the second field or bi-directionally between the first field and the second field.

3. The system of claim 1 in which the one or more link directories further comprise:
a document object table comprising a plurality of link reference entries, each of the link reference entries comprising:
a first field comprising a unique identifier for a document object on the network indicated by the link reference entry; and
one or more attribute fields providing information regarding the document object indicated by the link reference entry.

4. The system of claim 3 in which the link reference entries may be used as the unique identifier in the first field or second field of the link relationship entries.

5. The system of claim 3 in which each link reference entry further comprises a listing of all link relationship entries in which the link reference entry is referenced in the first field or the second field of the link relationship entries.

6. The system of claim 1 in which the unique identifier comprises a Uniform Resource Locator.

7. The system of claim 1 in which the attributes are stored separately in an attribute table and referenced in the one or more link directories.

8. The system of claim 7 in which a first attribute is stored with information showing the relationship of the first attribute to a plurality of second attributes.

9. The system of claim 8 in which a reference to the first attribute in the one or more link directories includes a reference to a plurality of second attributes and information showing the relationship of the first attribute to the second attribute.

10. The system of claim 8 in which a reference to the second attributes in the one or more link directories includes information showing the relationship of the second attributes to the first attribute and to third attributes.

11. The system of claim 1 further comprising one or more user data stores that comprise information identifying one or more uniquely identified users.

12. The system of claim 11 in which the one or more user data stores further comprise system-use privileges of the one or more uniquely identified users.

13. The system of claim 11 in which the one or more user data stores further comprise information about activities performed by the one or more uniquely identified users while using the system.

14. The system of claim 11 further comprising information associating the one or more uniquely identified users and information objects.

15. The system of claim 1 in which the one or more link directories are stored in a relational database.

16. The system of claim 1 in which one or more of the one or more link directories that contain instances of the unique identifiers for the first or second document object are identified.

17. The system of claim 1 in which one or more of the one or more link directories that contain instances of the attribute are identified.