Method And System For Providing Links To Resources Related To A Specified Resource
The present invention is related to a computer-implemented method and system for providing links to one or more resources related to a specified resource. The method according to the present invention includes allowing a user to configure a relation comprising a matching criteria for the resource, associating the relation with the specified resource, and processing the relation to create a relation set comprising the links to the one or more related resources satisfying the matching criteria.
This application is a Continuation application of co-pending U.S. patent application Ser. No. 10/788,613, filed Feb. 27, 2004, titled “Method And System For Providing Links To Resources Related To A Specified Resource,” (now U.S. Pat. No. ______, issued ______), which is commonly owned with this application and is herein incorporated by reference.
FIELD OF THE INVENTIONThe present invention relates to networked communications, and more particularly to, a method and system for providing links to resources related to a specified resource.
BACKGROUND OF THE INVENTIONOnline web photo albums have attained a significant degree of popularity both through personal websites, online photo-sharing sites, and peer-to-peer photo-sharing networks. Typically, a user uploads or downloads digital images and albums to his or her personal website, photo-sharing site, or personal computer, which also store other resources, such as user sites, electronic greeting cards, electronic books, movies, music, etc. (collectively referred to as “resources”). Typically, the resources are presented in either a disjoint state or the relationships presented between the resources are static. For example, if a user wished to browse photo albums that contain pictures taken on a given date, the user could not follow a set of links from one album to another that meets this criteria. In other words, there is no “web” of albums containing pictures taken on a specified date.
A user who is interested in accessing a resource at a site, e.g., viewing an image, or an album containing images, typically clicks on the link to the resource, which opens the resource. Some sites provide links to a fixed subset of related resources. This subset of related resources often is not the subset the resource owner wishes to make available and might not be the subset that a visitor is interested in locating. If the user is interested in accessing resources related to an opened resource beyond the subset provided, but does not know if such related resources exist and/or does not know the respective links if they do exist, the user is required to perform a site search. If such a function is supported by the site, the user must enter various search criteria to the site, which then retrieves a list of resources and their links that satisfy the search criteria.
Crafting an appropriate search criteria in order to retrieve relevant information is a difficult task and depends on the user's skills and on the site's search engine. For example, if the search criteria is too broad, the search engine will return data that, while satisfying the query, is irrelevant to the user's needs. To address this, certain search engines provide the user with a variety of fixed search criteria from which the user may select. For example, in a conventional social networking website, the user is interested in retrieving information about other people with similar interests. These services allow a user to traverse a fixed subset of relationships which exists among the users of the service. For example, a user can traverse from one user page to find the pages of other users that are related by gender, marital status, or some other supported criteria. The criteria available are not under the control of the owner of the page or the viewer of the page.
While the burden of formulating a query is lifted from the user, the ability for the user to craft a query closely reflecting his or her interests is greatly limited because the search engine only provides limited search criteria. In the above example, the user would not be allowed to specify a preference for individuals who share an interest in football or orchids for example.
Accordingly, a need exists for a system and method that allows a user to specify relationships between and among resources stored at a site. Moreover, the system and method should automatically provide links to and between related resources such that the user can easily navigate to such related resources. The present invention addresses such a need.
SUMMARY OF THE INVENTIONThe present invention is related to a method and system for providing links to one or more resources related to a specified resource. The method according to the present invention includes configuring by a user a relation comprising a matching criteria for the specified resource, associating the relation with the specified resource, and processing the relation to create a relation set comprising the links to the one or more related resources satisfying the matching criteria.
Through aspects of the present invention, the user is allowed to configure one or more relationships to associate with a resource. Each configured relationship includes one or more constraints, which collectively form the matching criteria. When the matching criteria is executed by a search engine, links to the resources that satisfy the matching criteria are created and displayed to the user who can then use the links to navigate to the related resources. Advantageously, the user is allowed to control the type of resource sought, (i.e., whether the resource to be returned is an image or an album), who has access to the links, and the dynamic nature of the links, (i.e., when or how often the matching criteria is executed).
The present invention relates to networked communications, and more particularly to, a method and system for providing links between a resource and a collection of related resources. The following description is presented to enable one of ordinary skill in the art to make and use the invention is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiment and the generic principles and features described herein will be readily apparent to those skilled in the art. For example, while the preferred embodiment is described with respect to photo-sharing, the principles described can also be applied to any resource, such as songs, movie clips, user sites, and the like. Thus, the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest scope consistent with the principles and features described herein.
According to a preferred embodiment of the present invention, a user of a photo-sharing website is allowed to automatically discover and manually specify relationships among resources, e.g., images, albums, and users, which enables the site to provide links to related resources. The links depend on the type of relationship that the user wishes to make available for others or on the type of relationship that the user is interested in. Unlike conventional applications, the present invention provides great flexibility to the user in defining the type of relationship between the specified resource and the related resources. The user is not limited to static categories defined by the system, but rather is free to create constraints from parameters associated with the types of resources sought.
Examples of the types of relationships which are supported include, but are not limited to:
-
- A relationship that defines resources related to a viewer of a current resource. For instance, when viewing the current resource, the visitor is provided links to other resources visited or owned by previous visitors, or to other resources that previous visitors have specified are related to the current resource.
- A relationship defined by common keywords for the resources. For example, such a relationship provides links to resources where at least ‘x’ keywords have matching values, or to resources owned by people with the same last name, who are members in some specified list or group, have home addresses with the same zip code, have phone numbers that are in the same area code, who work for the same company, who attend the same church, who attended the same school, etc.
In the preferred embodiment, a “resource” refers to any entity that can be categorized. For example, types of resources include images, albums, songs, user sites, websites, individuals, books and documents. Typically, the server 104 stores a plurality of resources 114a-114c for the plurality of users 100a, 100b. Each resource, e.g., 114a, is distinct from the others 114b, 114c and therefore, a user 100a generally is unable to locate resources 114a-114c related to any given resource, e.g., 114a.
To address this problem, according to a preferred embodiment of the present invention, the server 104 includes a resource management system (“RMS”) 200. The RMS 200 allows the user 100a to select or configure relationships between a given resource, e.g., 114a, and one or more related resources 114b, 114c via a user interface (not shown). In particular, the RMS 200 allows the user 100a to create a matching criteria for the given resource 114a. The matching criteria includes one or more constraints that define the characteristics sought in the related resources, and can also include context constraints not related to the resources, e.g., constraints related to when and for whom the matching criteria can be executed. Upon request or at a scheduled time, the RMS 200 locates and returns links to resources 114b, 114c satisfying the matching criteria.
While the above described embodiment depicts a client-server environment, those skilled in the art appreciate that the present invention can be implemented in other system environments. For example, the present invention can be implemented in a peer-to-peer file sharing environment where instances of the RMS 200 are executed locally at one or more users 100a, 100b. Such environments would be well within the scope of the present invention.
The relation engine 210 manages the relations 220 and the resource templates 230. Each relation 220 is associated with a resource 114 and each resource template 230 corresponds to a resource type. Thus, for example, an “image” resource type and a “song” resource type will each have a corresponding resource template 230. The resource template 230 for a particular resource type defines a plurality of fields or parameters 232 that characterize the resource type. For example, parameters 232 that characterize an “image” resource type might include Owner Name, Group Affiliation, Format, Image Name, Date Created, etc. Each parameter 232 is associated with a list of values from which the user 100a may select.
The relation engine 210 also manages the context template 234, which defines context parameters 236 that pertain to other conditions that are not necessarily related to the resource types. For example, the context parameters 236 can be related to an execution schedule, i.e., when a relation 220 can be executed, or to security measures, i.e., who can request such an execution.
The resource templates 230 and context template 234 are used to create and/or update a relation 220 between a specified resource and related resources via a user interface 280. Each relation 220 includes a matching criteria 222 comprising at least one constraint 224. Each constraint 224 is defined by one or more resource parameters 232 and one or more operators. In a preferred embodiment, the matching criteria 222 for a relation 220 is essentially a query against the database 110 where the resources are stored. The relation 220 can also include a context constraint 224a defined by one or more context parameters 236. The matching criteria 222 will be executed only when the context constraint 224a is satisfied.
Referring again to
1) Where the “Owner” of the resource “Is In” the “Bridge Club” and
2) Where the resource was “Created” after “Jan. 10, 2004 3:15 PM”
Referring again to
Referring again to
Referring again to
As described above, the user 290 is allowed to configure a context constraint 224a using the context parameters 236. The context parameters 236 can be related to an execution schedule or to security restrictions. Thus, the context constraint 224a can control when a relation is executed and who can request such a search, for example.
Referring to
The stored Relation Set 275′ is replaced whenever the relation 220 is executed so that the stored Relation Set 275′ is the most recent one created at all times. Utilization of the stored Relation Set 275′ will be described below.
According to the preferred embodiment of the present invention, when a user 290 visits the photo-sharing website or user website to access or view a resource 114, either as an owner of the resource 114 or as an invitee, the RMS 106 automatically displays any relations 220 associated with the resource 114.
From this window 500, the user 290 is allowed to select a defined relation 520 and to submit a request to the RMS 200 to retrieve links to resources 114 satisfying the selected relation 520 by clicking a “Find” button 540 for example. Moreover, according to the preferred embodiment of the present invention, the RMS 200 allows the user 290 to add constraints to those already defined in the relation 220 in order to further limit the returned resources. For example, the window 500 includes a Resource Type field 530, where the user 290 can limit the type of resource to be returned. While the window illustrated in
Once the RMS 200 receives the selected relation 220, the RMS 200 calls the relation engine 210 to retrieve the selected relation 220 from the relation database 240 (step 706). The relation engine 210 then examines any context constraints 224a associated with the selected relation 220 (step 708) to determine whether the requester 290 is authorized to request the selected relation 220 and whether other context constraints 224a not related to the search for related resources are satisfied. If the requester 290 is not authorized (step 710) or if the other constraints 224a are not satisfied, an error message is returned to the requester 290 (step 712). If the requester 290 is authorized and the other constraints 224a are satisfied, then the search for the related resources 114 can proceed, i.e., the matching criteria 222 can be executed.
Next, the relation engine 210 determines whether a context constraint 224a for the selected relation 220 includes an execution schedule that defines when the matching criteria 222 can be executed, e.g., once a day at midnight or upon request. If the matching criteria 222 can be executed upon request, i.e., execution is not restricted (step 714), then the relation engine 210 appends the requestor's narrowing constraints, if any, to the matching criteria 222 (step 716), thereby forming a modified matching criteria 222′. The modified matching criteria 222′ is passed to a search engine 250 coupled to the RMS 200 (step 718), which then searches for resources 114 that satisfy the modified matching criteria 222′ and creates a Relation Set 275 comprising links to those resources (step 720). The Relation Set 275 is returned to the requester (step 722).
If the matching criteria 222 is not executed upon request, i.e., the execution is restricted by an execution schedule (step 714), then the relation engine 210 retrieves from the relation database 240 the most recent Relation Set 275′ created during a most recent search (step 724), and then applies the requestor's narrowing constraints to further filter the results (step 726). The filtered Relation Set 275′ is then returned to the requester (step 722). Utilizing the links in the Relation Set 275, 275′, the requester 290 is allowed to navigate to the resources that satisfied the matching criteria 222 defined by the relation 220.
Otherwise, if the requester 290 is authorized and the other constraints 224a are satisfied, then the relation engine 210 determines whether a context constraint 224a for the selected relation 220 includes an execution schedule (step 812). If the context constraint 224a does not have an execution schedule, a Relation Set is created (step 815) by the process described in steps 718 to 720 in
In this particular example, the window 900 in
Through aspects of the preferred embodiment of the present invention, the user is allowed to automatically discover and manually specify relationships among resources, e.g., images, albums, and users, which enables a site to provide links to related resources. Unlike conventional applications, the present invention provides great flexibility to the user in defining the types of relationships between a specified resource and the related resources. The user is not limited to static categories defined by the system, but rather is free to create constraints from parameters associated with the types of resources sought. By allowing the user to control the complexity and contour of the relationship, a variety of dynamic webs of related resources can be created and navigated.
Although the present invention has been described in accordance with the embodiment shown, one of ordinary skill in the art will readily recognize that there could be variations to the embodiments and those variations would be within the spirit and scope of the present invention. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims.
Claims
1. A computer-implemented method for providing at least one link to at least one resource related to a specified resource comprising:
- receiving a selection of a media resource, wherein the media resource is a distinct, categorizable media object associated with a resource type and stored in a data store;
- receiving a matching criteria for defining a relation for association with the selected media resource;
- defining the relation based on the received matching criteria;
- associating the relation with the selected media resource;
- processing the relation to create a relation set including at least one link to at least one related resource satisfying the matching criteria; and
- providing for presenting a visual representation of the media resource and a selectable visual representation of the relation for accessing the at least one link included in the relation set.
2. The computer-implemented method of claim 1 wherein the matching criteria includes a keyword.
3. The computer-implemented method of claim 1 comprising providing a user interface configured to receive at least one of the matching criteria and the selection of the media resource.
4. A computer readable medium containing program instructions for providing at least one link to at least one resource related to a specified resource comprising instructions for:
- receiving a selection of a media resource, wherein the media resource is a distinct, categorizable media object associated with a resource type and stored in a data store;
- receiving a matching criteria for defining a relation for association with the selected media resource;
- defining the relation based on the received matching criteria;
- associating the relation with the selected media resource;
- processing the relation to create a relation set including at least one link to at least one related resource satisfying the matching criteria; and
- providing for presenting a visual representation of the media resource and a selectable visual representation of the relation for accessing the at least one link included in the relation set.
5. A system for providing at least one link to at least one resource related to a specified resource comprising:
- a resource management system configured to: receive a selection of a media resource, wherein the media resource is a distinct, categorizable media object associated with a resource type and stored in a data store; receive a matching criteria for defining a relation for association with the selected media resource; define the relation based on the received matching criteria; associate the relation with the selected media resource;
- a search engine configured to process the relation to create a relation set including at least one link to at least one related resource satisfying the matching criteria; and
- a user interface configured to provide for presenting a visual representation of the media resource and a selectable visual representation of the relation for accessing the at least one link included in the relation set.
6. A computer-implemented method for determining at least one link between a specified resource and at least one related resource comprising:
- receiving a selection of a media resource, wherein the media resource is a distinct, categorizable object associated with a resource type and stored in a data store;
- receiving a keyword for defining a relation for association with the selected media resource;
- displaying a selectable visual representation of the keyword;
- receiving a selection of the selectable visual representation of the keyword;
- retrieving, in response to the received selection, a relation set including at least one link associated with at least one related resource based on the relation; and
- displaying the relation set to allow access to the at least one related resource by following the retrieved at least one link.
7. The computer-implemented method of claim 6 comprising providing a user interface configured to receive at least one of the keyword and the selection of the media resource.
8. The computer-implemented method of claim 6 further comprising:
- receiving a narrowing constraint associated with the relation;
- retrieving an updated relation set including at least one link associated with the at least one related resource based on the relation and the narrowing constraint; and
- displaying the updated relation set to allow navigation from the specified media resource to the at least one resource by following the retrieved at least one link.
9. A computer readable medium containing program instructions for determining a link between a specified resource and at least one related resource comprising instructions for:
- receiving a selection of a media resource, wherein the media resource is a distinct, categorizable object associated with a resource type and stored in a data store;
- receiving a keyword for defining a relation for association with the selected media resource;
- displaying a selectable visual representation of the keyword;
- receiving a selection of the selectable visual representation of the keyword;
- retrieving, in response to the received selection, a relation set including at least one link associated with at least one related resource based on the relation; and
- displaying the relation set to allow access to the at least one related resource by following the retrieved at least one link.
10. A system for determining links between a specified resource and one or more related resources comprising:
- a resource management system configured to: receive a selection of a media resource, wherein the media resource is a distinct, categorizable object associated with a resource type and stored in a data store; receive a keyword for defining a relation for association with the selected media resource;
- a user interface component configured to display a selectable visual representation of the relation and to receive a selection of the selectable visual representation of the keyword;
- a search engine configured to retrieve, in response to the received selection, a relation set including at least one link associated with the at least one related resource based on the relation; and
- the user interface component configured to display the relation set to allow access to the at least one related resource by following the retrieved at least one link.
11. The system of claim 10 wherein:
- the resource management system is configured to receive a narrowing constraint associated with the relation;
- the search engine is configured to retrieve an updated relation set including at least one link associated with the at least one related resource based on the relation and the narrowing constraint; and
- the user interface component is configured to display the updated relation set to allow navigation from the specified media resource to the at least one resource by following the retrieved at least one link.
Type: Application
Filed: Oct 7, 2008
Publication Date: Jan 29, 2009
Inventor: Robert Paul Morris (Raleigh, NC)
Application Number: 12/246,769
International Classification: G06F 17/30 (20060101); G06F 3/048 (20060101);