US20090030905A1 - Method And System For Providing Links To Resources Related To A Specified Resource - Google Patents

Method And System For Providing Links To Resources Related To A Specified Resource Download PDF

Info

Publication number
US20090030905A1
US20090030905A1 US12/246,769 US24676908A US2009030905A1 US 20090030905 A1 US20090030905 A1 US 20090030905A1 US 24676908 A US24676908 A US 24676908A US 2009030905 A1 US2009030905 A1 US 2009030905A1
Authority
US
United States
Prior art keywords
resource
relation
link
media resource
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/246,769
Inventor
Robert Paul Morris
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Scenera Technologies LLC
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US12/246,769 priority Critical patent/US20090030905A1/en
Assigned to IPAC ACQUISITION SUBSIDIARY I, LLC reassignment IPAC ACQUISITION SUBSIDIARY I, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MORRIS, ROBERT P.
Assigned to SCENERA TECHNOLOGIES, LLC reassignment SCENERA TECHNOLOGIES, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: IPAC ACQUISITION SUBSIDIARY I, LLC
Assigned to FOTOMEDIA TECHNOLOGIES, LLC reassignment FOTOMEDIA TECHNOLOGIES, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SCENERA TECHNOLOGIES, LLC
Publication of US20090030905A1 publication Critical patent/US20090030905A1/en
Assigned to SCENERA TECHNOLOGIES, LLC reassignment SCENERA TECHNOLOGIES, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FOTOMEDIA TECHNOLOGIES, LLC
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Definitions

  • the present invention relates to networked communications, and more particularly to, a method and system for providing links to resources related to a specified resource.
  • Online 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.
  • 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”).
  • 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 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.
  • 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.
  • the present invention addresses such a need.
  • the 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.
  • 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.
  • 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.
  • 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).
  • FIG. 1 is a block diagram illustrating a client-server environment in which the preferred embodiment of the present invention may be implemented.
  • FIG. 2 is a block diagram depicting the RMS in more detail according to a preferred embodiment of the present invention.
  • FIG. 3 is a flowchart illustrating a method for creating or updating a relation according to a preferred embodiment of the present invention.
  • FIG. 3A is a flowchart illustrating a process for executing a relation.
  • FIG. 4 illustrates an exemplary window displayed on a user interface during a relationship configuration mode according to a preferred embodiment of the present invention.
  • FIG. 4A illustrates an exemplary configuration window displayed to the user according to a preferred embodiment of the present invention.
  • FIG. 4B is an exemplary context configuration window displayed on a user interface according to a preferred embodiment of the present invention.
  • FIG. 5 is an exemplary window displayed to a user when the user accesses albums controlled by the user according to a preferred embodiment of the present invention.
  • FIG. 6 is an exemplary window that is displayed to a user who has been invited to view an album controlled by another user according to a preferred embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a method for utilizing the RMS to retrieve links to related resources according to a preferred embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating a second preferred embodiment for utilizing the RMS to retrieve links to resources.
  • FIG. 9 is an exemplary Relation Set window that is displayed to the requester according to a preferred embodiment of the present invention.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • FIG. 1 is a block diagram illustrating a client-server environment in which the preferred embodiment of the present invention may be implemented.
  • the client-server system depicted includes a plurality of users 100 a , 100 b coupled to a server 104 via a private or public network 102 , such as a LAN, WAN or the Internet.
  • the server 104 may support an on-line photo sharing website or may it may host personal websites.
  • a first user e.g., User A 100 a
  • uploads a resource e.g., an album 112 including a group of digital images
  • the server 104 places the album 112 in storage, e.g., a database 110 .
  • the server 104 When User A 100 a wishes to share the album 112 with a second user, e.g., User B 100 b , the server 104 provides a link, such as a URL, associated with the album 112 to User A 110 a . User A 100 a can then invite User B 100 b to view the album 112 by providing the link to User B 100 b.
  • a link such as a URL
  • a “resource” refers to any entity that can be categorized.
  • types of resources include images, albums, songs, user sites, websites, individuals, books and documents.
  • the server 104 stores a plurality of resources 114 a - 114 c for the plurality of users 100 a , 100 b .
  • Each resource, e.g., 114 a is distinct from the others 114 b , 114 c and therefore, a user 100 a generally is unable to locate resources 114 a - 114 c related to any given resource, e.g., 114 a.
  • the server 104 includes a resource management system (“RMS”) 200 .
  • the RMS 200 allows the user 100 a to select or configure relationships between a given resource, e.g., 114 a , and one or more related resources 114 b , 114 c via a user interface (not shown).
  • the RMS 200 allows the user 100 a to create a matching criteria for the given resource 114 a .
  • 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.
  • the RMS 200 locates and returns links to resources 114 b , 114 c satisfying the matching criteria.
  • the present invention can be implemented in other system environments.
  • 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 100 a , 100 b .
  • Such environments would be well within the scope of the present invention.
  • FIG. 2 is a block diagram depicting the RMS 200 in more detail according to a preferred embodiment of the present invention.
  • the RMS 200 includes a relation engine 210 for creating and updating relations 220 between resources 114 .
  • a relation database 240 coupled to the RMS 200 stores a plurality of relations 220 , a plurality of resource templates 230 and a context template 234 .
  • 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.
  • a resource type 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.
  • 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 100 a 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.
  • 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.
  • 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 224 a defined by one or more context parameters 236 .
  • the matching criteria 222 will be executed only when the context constraint 224 a is satisfied.
  • FIG. 3 is a flowchart illustrating a method for creating or updating a relation 220 according to a preferred embodiment of the present invention.
  • the process begins at step 300 when the user 290 selects, via the user interface 280 , a resource 114 for which a relation 220 is to be configured and designates the type(s) of resource he or she wants returned.
  • the user 290 selects an album named Bridge Club Holiday Party and wants the RMS 200 to return images (resource type) and/or albums (resource type) satisfying the matching criteria 222 .
  • the RMS 200 Upon receiving the selections, the RMS 200 calls the relation engine 210 , which automatically retrieves any relations 220 previously defined for the selected resource 114 and retrieves the resource template 230 associated with the designated resource type in step 302 . In step 304 , the retrieved relations 220 and retrieved resource template 230 are displayed to the user 290 on the user interface 280 .
  • FIG. 4 illustrates an exemplary configuration window 400 displayed to a user 290 on the user interface 280 during a relationship configuration function according to a preferred embodiment of the present invention.
  • the user 290 has selected the album (resource type 410 ) entitled “Bridge Club Holiday Party” (resource name 420 ) to be configured.
  • the resource type 410 and the resource name 420 can be drop down menus that display the names of resources 114 controlled by the user 290 by resource type 410 .
  • the retrieved relations 220 that were previously defined are displayed in defined relations field 430 .
  • two relations 220 named “Owned by Bridge Club” and “Other Bridge Clubs” have been previously configured.
  • the relation engine 210 automatically retrieves and displays the resource type and constraints 224 associated with the previously defined relation 220 in step 308 .
  • the user 290 has selected a previously defined relation 220 by clicking on “Owned by Bridge Club” 430 and clicking on an “Edit” button 433 .
  • the configuration window 400 displays the resource type 440 associated with this relation 430 as “All Resources.”
  • the constraints 224 making up the matching criteria 222 for the relation 430 are displayed in a constraint window 460 .
  • the “Owned by Bridge Club” relation 430 defines a matching criteria 222 that seeks “All Resources” satisfying two constraints 224 :
  • the user 290 may update the constraints 224 in step 312 by modifying existing constraints or adding new constraints. If the user 290 does not select a previously defined relation (step 306 ) and decides to add a new relation (step 310 ), the user 290 creates constraints 224 (step 312 ) using the resource parameters 232 in the resource template 230 associated with the resource type in step 312 .
  • FIG. 4A illustrates an exemplary configuration window 400 ′ displayed to the user 290 when the user 290 is configuring a new relation 220 .
  • the user 290 has clicked on the “Add” button 432 and selected the resource type “Images” 440 ′ to be returned.
  • the constraint window 460 displays drop-down menus 466 a , 466 b that include the parameters 232 in the resource template 230 associated with the resource type “Images,” as well as operators for building the matching criteria 222 .
  • the values displayed in the first drop-down menu 466 a list parameters 232 relevant to image searches.
  • the values in one or more subsequent drop-down menus 466 b are dependent on selected value in the first drop-down menu 466 a .
  • drop-down menus 466 a , 466 b are usually displayed one at a time and that FIG. 4A illustrates two drop-down menus for discussion purposes only.
  • the relation engine 210 automatically retrieves the context template 234 and allows the user 290 to create or update the context constraints 224 a using the context parameters 236 in the context template 234 (step 316 ). For example, referring again to FIG. 4 or FIG. 4A , the user 290 clicks on a Context button 470 in the configuration window 400 , 400 ′ and a context configuration window automatically is displayed to the user 290 .
  • FIG. 4B is an exemplary context configuration window 480 according to a preferred embodiment of the present invention.
  • the user 290 is allowed to configure the context constraint 224 a to control when the relation is run and to control who can access the relation.
  • the user 290 is allowed to customize another person's access to the relation. For example, the user 290 can choose “David” from the list of potential people who have access and click on an “Edit” button 482 to limit David's access to Saturdays only.
  • the user 290 clicks on the “Save” button 484 , and the context constraint 224 a is automatically associated with the relation 220 .
  • the user 290 is then returned to the configuration window 400 , 400 .′
  • the relation engine 210 automatically associates the new or updated relation 220 with the selected resource 114 and stores the relation 220 in the relation database 240 (step 318 ). If the user 290 is done creating or updating relations 220 (step 319 ), the configuration process ends and the RMS 200 waits for another request to configure a relation 220 or for a request to get links to resources 114 based on a relation 220 .
  • FIG. 3A is a flowchart illustrating a process for executing a relation if the context constraint 224 a includes an execution schedule according to a preferred embodiment of the present invention.
  • the context constraint 224 a associated with the relation 220 is configured by the user (step 350 ). If the context constraint 224 a includes an execution schedule (step 360 ), the context constraint 224 a is passed to a scheduler to setup an execution schedule for the relation 220 (step 370 ). Schedulers are well known to those skilled in the art and further elaboration is unnecessary.
  • the RMS 200 executes the relation 220 at a scheduled event defined by the execution schedule, e.g., at midnight and at noon, and creates a Relation Set 275 (step 380 ).
  • the Relation Set 275 ′ is then associated with the relation 220 and stored with the relation 220 in the relation database 240 (step 390 ). If the context constraint 224 a does not include an execution schedule (step 360 ), the RMS 200 waits for a request to execute the relation 220 (step 365 ).
  • 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.
  • FIG. 5 is an exemplary window 500 displayed to the user 290 when the user 290 accesses albums controlled by the user 290 according to a preferred embodiment of the present invention.
  • the window 500 displays the names of the albums 510 , and, for each album 510 , the names of any defined relations 520 .
  • the Bridge Club Holiday Party album 510 a (from FIG. 4 ) is displayed and the defined relations 520 a are “Owned by Bridge Club” and “Other Bridge Clubs.”
  • 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.
  • 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.
  • 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 FIG. 5 only allows the user 290 to select the resource type returned, other constraints can also be offered to the user 290 that are not shown.
  • the user 290 might be allowed to designate a different creation date, or the user 290 might be allowed to add a constraint relating to particular owners.
  • the user 290 is only allowed to add constraints that narrow the matching criteria 222 , i.e., the user 290 is not allowed to broaden the scope of the defined relation 220 .
  • FIG. 6 is another exemplary window 600 that is displayed to the user 290 who has been invited to view an album controlled by another party.
  • This window 600 can also be displayed to the controlling user 290 when the user 290 opens an album from, for example, the window 500 in FIG. 5 .
  • the user 290 has been invited to view the Bridge Club Holiday Party album and has been provided the link, e.g., URL, to the album.
  • the window 600 includes the names of defined relations 610 associated with the album, the Resource Type field 612 and the Find button 614 , which are described above.
  • the window 600 also includes images 620 a , 620 b that are in the album and the names of defined relations 630 a , 630 b that are associated with the images 620 a , 620 b .
  • the user 290 is allowed to select a defined relation, 610 or 630 a , 630 b , to add a narrowing constraint, and to submit a request to the RMS 200 to retrieve links to resources 114 satisfying the selected relation 610 or 630 a , 630 b and additional narrowing constraint.
  • FIG. 7 is a flowchart illustrating a method for utilizing the RMS 200 to retrieve links to resources 114 according to a preferred embodiment of the present invention.
  • the process begins at step 700 when the RMS 200 receives a request to view a group of resources 114 , e.g., all albums, or one resource 114 , e.g., a particular album.
  • the RMS 200 displays to the requester, e.g., user 290 , the name(s) of the requested resource(s) 510 and the names of the defined relations 520 , 612 , 630 a , 630 b associated therewith, as depicted in FIG. 5 or 6 .
  • the requester 290 selects a relation 220 for a resource 114 and optionally defines narrowing constraints.
  • 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 224 a 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 224 a not related to the search for related resources are satisfied. If the requester 290 is not authorized (step 710 ) or if the other constraints 224 a are not satisfied, an error message is returned to the requester 290 (step 712 ). If the requester 290 is authorized and the other constraints 224 a are satisfied, then the search for the related resources 114 can proceed, i.e., the matching criteria 222 can be executed.
  • the relation engine 210 determines whether a context constraint 224 a 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 ).
  • 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 .
  • FIG. 8 is a flowchart illustrating another method for utilizing the RMS 200 to retrieve links to resources 114 according to another preferred embodiment of the present invention.
  • the process begins when the RMS 200 receives a request to view a group of resources 114 , e.g., all albums, or one resource 114 , e.g., a particular album (step 800 ).
  • the RMS 200 automatically calls the relation engine 210 to retrieve the associated relation(s) 220 from the relation database 240 (step 802 ).
  • the relation engine 210 Starting with a first relation 220 (step 804 ), the relation engine 210 then examines any context constraints 224 a associated with the relation 220 (step 806 ) to determine whether the requester 290 is authorized to request the relation 220 and whether other context constraints 224 a not related to the search for related resources are satisfied. If the requester 290 is not authorized (step 808 ) or if the other constraints 224 a are not satisfied, the RMS 200 skips to a next relation 220 , if one exists (step 810 ).
  • the relation engine 210 determines whether a context constraint 224 a for the selected relation 220 includes an execution schedule (step 812 ). If the context constraint 224 a does not have an execution schedule, a Relation Set is created (step 815 ) by the process described in steps 718 to 720 in FIG. 7 . Otherwise, the relation engine 210 retrieves from the relation database 240 the most recent Relation Set 275 ′ created during a most recent search (step 814 ). If more relations 220 exist (step 816 ), the RMS 200 goes to the next relation 220 (step 810 ), and steps 806 through 815 are repeated for the next relation 220 . After all relations 220 for the resource 114 have been processed (step 816 ), the RMS 200 displays to the requester 290 the resource 114 and Relation Sets 275 , 275 ′ associated with the relations 220 for the resource 114 (step 818 ).
  • FIG. 9 is an exemplary window 900 displayed to the requester 290 that includes a Relation Set for a relation 220 associated with a resource 114 .
  • the window 900 displays the specified resource 910 , the selected defined relation 920 and the Relation Set 930 for the defined relation 920 .
  • the Relation Set 930 includes the one or more links 940 a , 940 b to related resources.
  • the requester 290 navigates to the related resources 114 by selecting the corresponding link 940 a , 940 b.
  • the window 900 in FIG. 9 is displayed to the requester 290 when the requester 290 selects, via the window 600 in FIG. 6 , the defined relation “Helen at the Party” 630 a , which is associated with the image resource “Helen Shows Off” 620 a , and clicks on the “Find” button 650 a .
  • the window 900 in FIG. 9 is displayed immediately to the requester 290 when the requester 290 accesses the image resource “Helen Shows Off” 620 a . Referring to FIG.
  • the Relation Set 930 includes a link to an image entitled, “Helen and Bill Dancing” 940 a and to an image entitled, “Helen with her trophy” 940 b .
  • the requester 290 can navigate immediately to the corresponding image.
  • 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.
  • resources e.g., images, albums, and users
  • 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.

Abstract

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.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • 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 INVENTION
  • The 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 INVENTION
  • Online 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 INVENTION
  • The 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).
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram illustrating a client-server environment in which the preferred embodiment of the present invention may be implemented.
  • FIG. 2 is a block diagram depicting the RMS in more detail according to a preferred embodiment of the present invention.
  • FIG. 3 is a flowchart illustrating a method for creating or updating a relation according to a preferred embodiment of the present invention.
  • FIG. 3A is a flowchart illustrating a process for executing a relation.
  • FIG. 4 illustrates an exemplary window displayed on a user interface during a relationship configuration mode according to a preferred embodiment of the present invention.
  • FIG. 4A illustrates an exemplary configuration window displayed to the user according to a preferred embodiment of the present invention.
  • FIG. 4B is an exemplary context configuration window displayed on a user interface according to a preferred embodiment of the present invention.
  • FIG. 5 is an exemplary window displayed to a user when the user accesses albums controlled by the user according to a preferred embodiment of the present invention.
  • FIG. 6 is an exemplary window that is displayed to a user who has been invited to view an album controlled by another user according to a preferred embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a method for utilizing the RMS to retrieve links to related resources according to a preferred embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating a second preferred embodiment for utilizing the RMS to retrieve links to resources.
  • FIG. 9 is an exemplary Relation Set window that is displayed to the requester according to a preferred embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE INVENTION
  • 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.
  • FIG. 1 is a block diagram illustrating a client-server environment in which the preferred embodiment of the present invention may be implemented. The client-server system depicted includes a plurality of users 100 a, 100 b coupled to a server 104 via a private or public network 102, such as a LAN, WAN or the Internet. The server 104 may support an on-line photo sharing website or may it may host personal websites. Typically, a first user, e.g., User A 100 a, uploads a resource, e.g., an album 112 including a group of digital images, to the server 104, and the server 104 places the album 112 in storage, e.g., a database 110. When User A 100 a wishes to share the album 112 with a second user, e.g., User B 100 b, the server 104 provides a link, such as a URL, associated with the album 112 to User A 110 a. User A 100 a can then invite User B 100 b to view the album 112 by providing the link to User B 100 b.
  • 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 114 a-114 c for the plurality of users 100 a, 100 b. Each resource, e.g., 114 a, is distinct from the others 114 b, 114 c and therefore, a user 100 a generally is unable to locate resources 114 a-114 c related to any given resource, e.g., 114 a.
  • 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 100 a to select or configure relationships between a given resource, e.g., 114 a, and one or more related resources 114 b, 114 c via a user interface (not shown). In particular, the RMS 200 allows the user 100 a to create a matching criteria for the given resource 114 a. 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 114 b, 114 c 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 100 a, 100 b. Such environments would be well within the scope of the present invention.
  • FIG. 2 is a block diagram depicting the RMS 200 in more detail according to a preferred embodiment of the present invention. The RMS 200 includes a relation engine 210 for creating and updating relations 220 between resources 114. A relation database 240 coupled to the RMS 200 stores a plurality of relations 220, a plurality of resource templates 230 and a context template 234.
  • 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 100 a 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 224 a defined by one or more context parameters 236. The matching criteria 222 will be executed only when the context constraint 224 a is satisfied.
  • FIG. 3 is a flowchart illustrating a method for creating or updating a relation 220 according to a preferred embodiment of the present invention. Referring to FIGS. 2 and 3, the process begins at step 300 when the user 290 selects, via the user interface 280, a resource 114 for which a relation 220 is to be configured and designates the type(s) of resource he or she wants returned. For example, the user 290 selects an album named Bridge Club Holiday Party and wants the RMS 200 to return images (resource type) and/or albums (resource type) satisfying the matching criteria 222. Upon receiving the selections, the RMS 200 calls the relation engine 210, which automatically retrieves any relations 220 previously defined for the selected resource 114 and retrieves the resource template 230 associated with the designated resource type in step 302. In step 304, the retrieved relations 220 and retrieved resource template 230 are displayed to the user 290 on the user interface 280.
  • FIG. 4 illustrates an exemplary configuration window 400 displayed to a user 290 on the user interface 280 during a relationship configuration function according to a preferred embodiment of the present invention. Here, the user 290 has selected the album (resource type 410) entitled “Bridge Club Holiday Party” (resource name 420) to be configured. Note that the resource type 410 and the resource name 420 can be drop down menus that display the names of resources 114 controlled by the user 290 by resource type 410. The retrieved relations 220 that were previously defined are displayed in defined relations field 430. In this example, two relations 220 named “Owned by Bridge Club” and “Other Bridge Clubs” have been previously configured.
  • Referring again to FIG. 3, if the user 290 selects a previously defined relation 220 (step 306), the relation engine 210 automatically retrieves and displays the resource type and constraints 224 associated with the previously defined relation 220 in step 308. For example, in FIG. 4, the user 290 has selected a previously defined relation 220 by clicking on “Owned by Bridge Club” 430 and clicking on an “Edit” button 433. The configuration window 400 displays the resource type 440 associated with this relation 430 as “All Resources.” The constraints 224 making up the matching criteria 222 for the relation 430 are displayed in a constraint window 460. As is shown, the “Owned by Bridge Club” relation 430 defines a matching criteria 222 that seeks “All Resources” satisfying two constraints 224:
  • 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 FIG. 3, after the resource type and constraints associated with the relation 220 are displayed, the user 290 may update the constraints 224 in step 312 by modifying existing constraints or adding new constraints. If the user 290 does not select a previously defined relation (step 306) and decides to add a new relation (step 310), the user 290 creates constraints 224 (step 312) using the resource parameters 232 in the resource template 230 associated with the resource type in step 312.
  • FIG. 4A illustrates an exemplary configuration window 400′ displayed to the user 290 when the user 290 is configuring a new relation 220. In this example, the user 290 has clicked on the “Add” button 432 and selected the resource type “Images” 440′ to be returned. The constraint window 460 displays drop-down menus 466 a, 466 b that include the parameters 232 in the resource template 230 associated with the resource type “Images,” as well as operators for building the matching criteria 222. For example, the values displayed in the first drop-down menu 466 a list parameters 232 relevant to image searches. In a preferred embodiment, the values in one or more subsequent drop-down menus 466 b are dependent on selected value in the first drop-down menu 466 a. Those skilled in the art readily appreciate that drop-down menus 466 a, 466 b are usually displayed one at a time and that FIG. 4A illustrates two drop-down menus for discussion purposes only.
  • Referring again to FIG. 3, if the user 290 wishes to configure, i.e., create or update, context constraints 224 a (step 314), the relation engine 210 automatically retrieves the context template 234 and allows the user 290 to create or update the context constraints 224 a using the context parameters 236 in the context template 234 (step 316). For example, referring again to FIG. 4 or FIG. 4A, the user 290 clicks on a Context button 470 in the configuration window 400, 400′ and a context configuration window automatically is displayed to the user 290.
  • FIG. 4B is an exemplary context configuration window 480 according to a preferred embodiment of the present invention. As is shown, the user 290 is allowed to configure the context constraint 224 a to control when the relation is run and to control who can access the relation. In a preferred embodiment, the user 290 is allowed to customize another person's access to the relation. For example, the user 290 can choose “David” from the list of potential people who have access and click on an “Edit” button 482 to limit David's access to Saturdays only. Once the user 290 is satisfied with the context constraint 224 a, the user 290 clicks on the “Save” button 484, and the context constraint 224 a is automatically associated with the relation 220. The user 290 is then returned to the configuration window 400, 400.′
  • Referring again to FIG. 3, once the user 290 has finished configuring the relationship, the relation engine 210 automatically associates the new or updated relation 220 with the selected resource 114 and stores the relation 220 in the relation database 240 (step 318). If the user 290 is done creating or updating relations 220 (step 319), the configuration process ends and the RMS 200 waits for another request to configure a relation 220 or for a request to get links to resources 114 based on a relation 220.
  • As described above, the user 290 is allowed to configure a context constraint 224 a using the context parameters 236. The context parameters 236 can be related to an execution schedule or to security restrictions. Thus, the context constraint 224 a can control when a relation is executed and who can request such a search, for example. FIG. 3A is a flowchart illustrating a process for executing a relation if the context constraint 224 a includes an execution schedule according to a preferred embodiment of the present invention.
  • Referring to FIGS. 2 and 3A, the context constraint 224 a associated with the relation 220 is configured by the user (step 350). If the context constraint 224 a includes an execution schedule (step 360), the context constraint 224 a is passed to a scheduler to setup an execution schedule for the relation 220 (step 370). Schedulers are well known to those skilled in the art and further elaboration is unnecessary. The RMS 200 executes the relation 220 at a scheduled event defined by the execution schedule, e.g., at midnight and at noon, and creates a Relation Set 275 (step 380). The Relation Set 275′ is then associated with the relation 220 and stored with the relation 220 in the relation database 240 (step 390). If the context constraint 224 a does not include an execution schedule (step 360), the RMS 200 waits for a request to execute the relation 220 (step 365).
  • 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. FIG. 5 is an exemplary window 500 displayed to the user 290 when the user 290 accesses albums controlled by the user 290 according to a preferred embodiment of the present invention. The window 500 displays the names of the albums 510, and, for each album 510, the names of any defined relations 520. For example, the Bridge Club Holiday Party album 510 a (from FIG. 4) is displayed and the defined relations 520 a are “Owned by Bridge Club” and “Other Bridge Clubs.”
  • 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 FIG. 5 only allows the user 290 to select the resource type returned, other constraints can also be offered to the user 290 that are not shown. For example, the user 290 might be allowed to designate a different creation date, or the user 290 might be allowed to add a constraint relating to particular owners. In a preferred embodiment, the user 290 is only allowed to add constraints that narrow the matching criteria 222, i.e., the user 290 is not allowed to broaden the scope of the defined relation 220.
  • FIG. 6 is another exemplary window 600 that is displayed to the user 290 who has been invited to view an album controlled by another party. This window 600 can also be displayed to the controlling user 290 when the user 290 opens an album from, for example, the window 500 in FIG. 5. Here, the user 290 has been invited to view the Bridge Club Holiday Party album and has been provided the link, e.g., URL, to the album. The window 600 includes the names of defined relations 610 associated with the album, the Resource Type field 612 and the Find button 614, which are described above. The window 600 also includes images 620 a, 620 b that are in the album and the names of defined relations 630 a, 630 b that are associated with the images 620 a, 620 b. From this window 600, the user 290 is allowed to select a defined relation, 610 or 630 a, 630 b, to add a narrowing constraint, and to submit a request to the RMS 200 to retrieve links to resources 114 satisfying the selected relation 610 or 630 a, 630 b and additional narrowing constraint.
  • FIG. 7 is a flowchart illustrating a method for utilizing the RMS 200 to retrieve links to resources 114 according to a preferred embodiment of the present invention. Referring again to FIGS. 2 and 7, the process begins at step 700 when the RMS 200 receives a request to view a group of resources 114, e.g., all albums, or one resource 114, e.g., a particular album. In step 702, the RMS 200 displays to the requester, e.g., user 290, the name(s) of the requested resource(s) 510 and the names of the defined relations 520, 612, 630 a, 630 b associated therewith, as depicted in FIG. 5 or 6. In step 704, the requester 290 selects a relation 220 for a resource 114 and optionally defines narrowing constraints.
  • 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 224 a 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 224 a not related to the search for related resources are satisfied. If the requester 290 is not authorized (step 710) or if the other constraints 224 a are not satisfied, an error message is returned to the requester 290 (step 712). If the requester 290 is authorized and the other constraints 224 a 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 224 a 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.
  • FIG. 8 is a flowchart illustrating another method for utilizing the RMS 200 to retrieve links to resources 114 according to another preferred embodiment of the present invention. Here, as before, the process begins when the RMS 200 receives a request to view a group of resources 114, e.g., all albums, or one resource 114, e.g., a particular album (step 800). In response, the RMS 200 automatically calls the relation engine 210 to retrieve the associated relation(s) 220 from the relation database 240 (step 802). Starting with a first relation 220 (step 804), the relation engine 210 then examines any context constraints 224 a associated with the relation 220 (step 806) to determine whether the requester 290 is authorized to request the relation 220 and whether other context constraints 224 a not related to the search for related resources are satisfied. If the requester 290 is not authorized (step 808) or if the other constraints 224 a are not satisfied, the RMS 200 skips to a next relation 220, if one exists (step 810).
  • Otherwise, if the requester 290 is authorized and the other constraints 224 a are satisfied, then the relation engine 210 determines whether a context constraint 224 a for the selected relation 220 includes an execution schedule (step 812). If the context constraint 224 a does not have an execution schedule, a Relation Set is created (step 815) by the process described in steps 718 to 720 in FIG. 7. Otherwise, the relation engine 210 retrieves from the relation database 240 the most recent Relation Set 275′ created during a most recent search (step 814). If more relations 220 exist (step 816), the RMS 200 goes to the next relation 220 (step 810), and steps 806 through 815 are repeated for the next relation 220. After all relations 220 for the resource 114 have been processed (step 816), the RMS 200 displays to the requester 290 the resource 114 and Relation Sets 275, 275′ associated with the relations 220 for the resource 114 (step 818).
  • FIG. 9 is an exemplary window 900 displayed to the requester 290 that includes a Relation Set for a relation 220 associated with a resource 114. According to the preferred embodiment, the window 900 displays the specified resource 910, the selected defined relation 920 and the Relation Set 930 for the defined relation 920. The Relation Set 930 includes the one or more links 940 a, 940 b to related resources. The requester 290 navigates to the related resources 114 by selecting the corresponding link 940 a, 940 b.
  • In this particular example, the window 900 in FIG. 9 is displayed to the requester 290 when the requester 290 selects, via the window 600 in FIG. 6, the defined relation “Helen at the Party” 630 a, which is associated with the image resource “Helen Shows Off” 620 a, and clicks on the “Find” button 650 a. In the alternative embodiment, the window 900 in FIG. 9 is displayed immediately to the requester 290 when the requester 290 accesses the image resource “Helen Shows Off” 620 a. Referring to FIG. 9, the Relation Set 930 includes a link to an image entitled, “Helen and Bill Dancing” 940 a and to an image entitled, “Helen with her trophy” 940 b. By clicking on either of the links 940 a, 940 b, the requester 290 can navigate immediately to the corresponding image.
  • 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 (11)

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.
US12/246,769 2004-02-27 2008-10-07 Method And System For Providing Links To Resources Related To A Specified Resource Abandoned US20090030905A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/246,769 US20090030905A1 (en) 2004-02-27 2008-10-07 Method And System For Providing Links To Resources Related To A Specified Resource

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/788,613 US7451185B2 (en) 2004-02-27 2004-02-27 Method and system for providing links to resources related to a specified resource
US12/246,769 US20090030905A1 (en) 2004-02-27 2008-10-07 Method And System For Providing Links To Resources Related To A Specified Resource

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/788,613 Continuation US7451185B2 (en) 2004-02-27 2004-02-27 Method and system for providing links to resources related to a specified resource

Publications (1)

Publication Number Publication Date
US20090030905A1 true US20090030905A1 (en) 2009-01-29

Family

ID=34887032

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/788,613 Expired - Fee Related US7451185B2 (en) 2004-02-27 2004-02-27 Method and system for providing links to resources related to a specified resource
US12/246,769 Abandoned US20090030905A1 (en) 2004-02-27 2008-10-07 Method And System For Providing Links To Resources Related To A Specified Resource

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/788,613 Expired - Fee Related US7451185B2 (en) 2004-02-27 2004-02-27 Method and system for providing links to resources related to a specified resource

Country Status (2)

Country Link
US (2) US7451185B2 (en)
WO (1) WO2005084240A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070250494A1 (en) * 2006-04-19 2007-10-25 Peoples Bruce E Enhancing multilingual data querying
US20100050128A1 (en) * 2008-08-25 2010-02-25 Ali Corporation Generating method and user interface apparatus of menu shortcuts
US8190602B1 (en) * 2007-01-30 2012-05-29 Adobe Systems Incorporated Searching a database of selected and associated resources

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716371B2 (en) 2004-04-20 2010-05-11 Demand Media, Inc. Method, system, and computer program product for synchronizing information within a global computer network
US7730130B2 (en) * 2005-04-26 2010-06-01 Qurio Holdings, Inc. Automatic creation of bidirectional online album links in a peer-to-peer photo sharing network
US8458098B1 (en) 2005-09-29 2013-06-04 Qurio Holdings, Inc. Methods of tracking remote software installations and registrations and related systems and computer program products
US7516104B1 (en) 2005-09-29 2009-04-07 Qurio Holdings, Inc. Methods of providing software over a network and related systems and computer program products
US10031938B2 (en) 2006-12-04 2018-07-24 International Business Machines Corporation Determining Boolean logic and operator precedence of query conditions
US9043268B2 (en) * 2007-03-08 2015-05-26 Ab Inventio, Llc Method and system for displaying links to search results with corresponding images
US8229940B2 (en) * 2007-07-16 2012-07-24 International Business Machines Corporation Query predicate generator to construct a database query predicate from received query conditions
US9053466B2 (en) 2007-10-31 2015-06-09 International Business Machines Corporation Publishing and subscribing to calendar events information via categorical mapping methodology
JP5146020B2 (en) * 2008-03-10 2013-02-20 富士通株式会社 Information processing apparatus, resource identification program, and resource identification method
GB2466851A (en) * 2009-01-13 2010-07-14 Oracle Int Corp Method and interface for defining a complex Boolean expression
US9135277B2 (en) * 2009-08-07 2015-09-15 Google Inc. Architecture for responding to a visual query
USD715818S1 (en) * 2011-12-28 2014-10-21 Target Brands, Inc. Display screen with graphical user interface
USD705790S1 (en) 2011-12-28 2014-05-27 Target Brands, Inc. Display screen with graphical user interface
USD705792S1 (en) 2011-12-28 2014-05-27 Target Brands, Inc. Display screen with graphical user interface
US20140081981A1 (en) * 2012-09-19 2014-03-20 Deep River Ventures, Llc Methods, Systems, and Program Products for Identifying a Matched Tag Set
US20140081967A1 (en) * 2012-09-19 2014-03-20 Deep River Ventures, Llc Methods, Systems, and Program Products for Distinguishing Tags for a Resource
US20140081969A1 (en) * 2012-09-19 2014-03-20 Deep River Ventures, Llc Methods, Systems, and Program Products for Locating Tagged Resources in a Resource Scope
US20140081968A1 (en) * 2012-09-19 2014-03-20 Deep River Ventures, Llc Methods, Systems, and Program Products for Automatically Managing Tagging of a Resource
US20140081966A1 (en) * 2012-09-19 2014-03-20 Deep River Ventures, Llc Methods, Systems, and Program Products for Tagging a Resource
CN103559194B (en) * 2013-09-12 2017-08-08 北京智谷睿拓技术服务有限公司 A kind of searching method, server, system
US9479730B1 (en) 2014-02-13 2016-10-25 Steelcase, Inc. Inferred activity based conference enhancement method and system
US20170235438A1 (en) * 2016-02-16 2017-08-17 Andrew Michael Atalla Interactive social media and business platform and methods thereof

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US20020008622A1 (en) * 2000-01-26 2002-01-24 Weston Denise Chapman System for automated photo capture and retrieval
US6345303B1 (en) * 1997-03-25 2002-02-05 Intel Corporation Network proxy capable of dynamically selecting a destination device for servicing a client request
US6351556B1 (en) * 1998-11-20 2002-02-26 Eastman Kodak Company Method for automatically comparing content of images for classification into events
US20020120620A1 (en) * 2000-11-30 2002-08-29 Victor Chan Method and system for composing a query for a database and traversing the database
US6484162B1 (en) * 1999-06-29 2002-11-19 International Business Machines Corporation Labeling and describing search queries for reuse
US20030128877A1 (en) * 2002-01-09 2003-07-10 Eastman Kodak Company Method and system for processing images for themed imaging services
US20040100566A1 (en) * 2002-11-25 2004-05-27 Eastman Kodak Company Correlating captured images and timed event data
US6785704B1 (en) * 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US6816858B1 (en) * 2000-03-31 2004-11-09 International Business Machines Corporation System, method and apparatus providing collateral information for a video/audio stream
US20050017031A1 (en) * 2003-02-05 2005-01-27 Stuart Goldman Garment hanger
US20050111737A1 (en) * 2002-12-12 2005-05-26 Eastman Kodak Company Method for generating customized photo album pages and prints based on people and gender profiles
US20050117031A1 (en) * 2003-12-02 2005-06-02 Russon Virgil K. Virtual film roll for grouping and storing digital images
US20050131992A1 (en) * 2003-12-11 2005-06-16 Eric Goldstein System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources
US6954456B2 (en) * 2001-12-14 2005-10-11 At & T Corp. Method for content-aware redirection and content renaming
US6981029B1 (en) * 2001-07-17 2005-12-27 Cisco Technology, Inc. System and method for processing a request for information in a network
US7007294B1 (en) * 2000-10-30 2006-02-28 Koninklijke Philips Electronics N.V. Method and apparatus for automatic generation of query search terms for a program recommender
US7089325B1 (en) * 2000-07-05 2006-08-08 Register.Com, Inc. Method and apparatus for URL forwarding
US7215541B2 (en) * 2003-07-11 2007-05-08 Intel Corporation Multi-stage low noise integrated object and system cooling solution
US7308475B1 (en) * 2003-05-06 2007-12-11 F5 Networks, Inc. Method and system for accessing network services

Patent Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US6345303B1 (en) * 1997-03-25 2002-02-05 Intel Corporation Network proxy capable of dynamically selecting a destination device for servicing a client request
US6351556B1 (en) * 1998-11-20 2002-02-26 Eastman Kodak Company Method for automatically comparing content of images for classification into events
US6484162B1 (en) * 1999-06-29 2002-11-19 International Business Machines Corporation Labeling and describing search queries for reuse
US6785704B1 (en) * 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US20020008622A1 (en) * 2000-01-26 2002-01-24 Weston Denise Chapman System for automated photo capture and retrieval
US6816858B1 (en) * 2000-03-31 2004-11-09 International Business Machines Corporation System, method and apparatus providing collateral information for a video/audio stream
US7089325B1 (en) * 2000-07-05 2006-08-08 Register.Com, Inc. Method and apparatus for URL forwarding
US7007294B1 (en) * 2000-10-30 2006-02-28 Koninklijke Philips Electronics N.V. Method and apparatus for automatic generation of query search terms for a program recommender
US20020120620A1 (en) * 2000-11-30 2002-08-29 Victor Chan Method and system for composing a query for a database and traversing the database
US6981029B1 (en) * 2001-07-17 2005-12-27 Cisco Technology, Inc. System and method for processing a request for information in a network
US6954456B2 (en) * 2001-12-14 2005-10-11 At & T Corp. Method for content-aware redirection and content renaming
US7035467B2 (en) * 2002-01-09 2006-04-25 Eastman Kodak Company Method and system for processing images for themed imaging services
US20030128877A1 (en) * 2002-01-09 2003-07-10 Eastman Kodak Company Method and system for processing images for themed imaging services
US20040100566A1 (en) * 2002-11-25 2004-05-27 Eastman Kodak Company Correlating captured images and timed event data
US20050111737A1 (en) * 2002-12-12 2005-05-26 Eastman Kodak Company Method for generating customized photo album pages and prints based on people and gender profiles
US20050017031A1 (en) * 2003-02-05 2005-01-27 Stuart Goldman Garment hanger
US7308475B1 (en) * 2003-05-06 2007-12-11 F5 Networks, Inc. Method and system for accessing network services
US7215541B2 (en) * 2003-07-11 2007-05-08 Intel Corporation Multi-stage low noise integrated object and system cooling solution
US20050117031A1 (en) * 2003-12-02 2005-06-02 Russon Virgil K. Virtual film roll for grouping and storing digital images
US20050131992A1 (en) * 2003-12-11 2005-06-16 Eric Goldstein System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070250494A1 (en) * 2006-04-19 2007-10-25 Peoples Bruce E Enhancing multilingual data querying
US7853555B2 (en) * 2006-04-19 2010-12-14 Raytheon Company Enhancing multilingual data querying
US8190602B1 (en) * 2007-01-30 2012-05-29 Adobe Systems Incorporated Searching a database of selected and associated resources
US20100050128A1 (en) * 2008-08-25 2010-02-25 Ali Corporation Generating method and user interface apparatus of menu shortcuts

Also Published As

Publication number Publication date
WO2005084240A2 (en) 2005-09-15
WO2005084240A3 (en) 2007-03-15
US7451185B2 (en) 2008-11-11
US20050192940A1 (en) 2005-09-01

Similar Documents

Publication Publication Date Title
US20090030905A1 (en) Method And System For Providing Links To Resources Related To A Specified Resource
US7747648B1 (en) World modeling using a relationship network with communication channels to entities
US9047386B2 (en) Creating a link relationship between document objects and storing in a link directory
US7111232B1 (en) Method and system for making document objects available to users of a network
US9043352B1 (en) Method for searching document objects on a network
US7890957B2 (en) Remote management of an electronic presence
US9081779B2 (en) Central storage repository and methods for managing tags stored therein and information associated therewith
US9842113B1 (en) Context-based file selection
US20030069874A1 (en) Method and system to automate the updating of personal information within a personal information management application and to synchronize such updated personal information management applications
US20050273702A1 (en) Creation and management of common interest community web sites
US8566712B1 (en) Image management
US20050246216A1 (en) Systems and methods for managing information at various levels
US20070106627A1 (en) Social discovery systems and methods
EP1486889A1 (en) Mobile information services
US20080163073A1 (en) System and method for providing multiple participants with a central access portal to geographic point of interest data
US20120096389A1 (en) Integrated web-based workspace with curated tree-structure database schema
US20060129935A1 (en) Integrated information management system and method
US20080065974A1 (en) Template-based electronic presence management
US20080229225A1 (en) Method for Displaying Search Results for Items with Geographic Attributes
EP1716504A2 (en) Method and apparatus for a collaborative interaction network
US20060074843A1 (en) World wide web directory for providing live links
WO2000067106A1 (en) Automatically generating a request to an online service utilizing personal information maintained by a management application
JPH10254886A (en) Addition/retrieval system for additional information to retrieval result content in retrieval system
US10572539B2 (en) Ecosystem-patterned user-centric information and interaction network
KR20020033356A (en) Method and system for providing group members with common informations by using computers

Legal Events

Date Code Title Description
AS Assignment

Owner name: SCENERA TECHNOLOGIES, LLC, NEW HAMPSHIRE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:IPAC ACQUISITION SUBSIDIARY I, LLC;REEL/FRAME:021683/0913

Effective date: 20061102

Owner name: IPAC ACQUISITION SUBSIDIARY I, LLC, NEW HAMPSHIRE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MORRIS, ROBERT P.;REEL/FRAME:021683/0888

Effective date: 20040227

Owner name: FOTOMEDIA TECHNOLOGIES, LLC, NEW HAMPSHIRE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SCENERA TECHNOLOGIES, LLC;REEL/FRAME:021705/0413

Effective date: 20081007

AS Assignment

Owner name: SCENERA TECHNOLOGIES, LLC, NEW HAMPSHIRE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FOTOMEDIA TECHNOLOGIES, LLC;REEL/FRAME:027107/0464

Effective date: 20110803

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION