WO2007062289A2 - System and method for controlling access to assets in a network-based media sharing system using tagging - Google Patents
System and method for controlling access to assets in a network-based media sharing system using tagging Download PDFInfo
- Publication number
- WO2007062289A2 WO2007062289A2 PCT/US2006/060759 US2006060759W WO2007062289A2 WO 2007062289 A2 WO2007062289 A2 WO 2007062289A2 US 2006060759 W US2006060759 W US 2006060759W WO 2007062289 A2 WO2007062289 A2 WO 2007062289A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- guest
- keywords
- node
- digital assets
- guests
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1063—Discovery through centralising entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Definitions
- the present invention relates to online media sharing systems and more specifically relates to controlling access to digital assets based on keywords used to tag the digital assets.
- the photosharing services are generally based on one of two architectures.
- the first is a centrally hosted architecture where a central server hosts digital images for a number of users and provides photosharing services by serving the digital images to a web browser of a user or guest.
- the second is a peer-to-peer (P2P) architecturewhere a user creates and stores photo albums on the user's computer. The user's computer then operates as a web server to provide the photo albums to the web browser of another user or guest.
- P2P peer-to-peer
- One issue with online photosharing services is controlling access to photo albums. Typical online photosharing systems control access on a per image basis or a per album basis.
- Each image or photo album may be classified as private such that it is not shared or as public such that it is shared with all guests.
- Some systems allow the owner of the image or photo album to define a list of permitted guests for each digital image or photo album. However, these systems do not take advantage of keywords used by an owner to tag digital assets. Thus, there remains a need for a system and method of controlling access to digital assets in an online media sharing system based on keywords used to tag the digital assets.
- the present invention relates to a system and method for controlling access to digital assets in an online media sharing system based on keywords.
- each digital asset is tagged with a number of keywords.
- the owner of the digital assets defines a guest list including a number of guests. For each guest, the owner defines permissions controlling the guest's access to the digital assets based on keywords. Thereafter, when a request to view the digital assets is received from a guest node associated with one of the guests, the digital assets that the guest is permitted to view are identified based on the permissions assigned to the guest and provided to the guest at the guest node.
- the owner selects keywords to be associated with the guest. As a result, the guest is permitted to view the digital assets tagged with the selected keywords.
- the owner may define a keyword equation for each guest. The guest is then permitted to view the digital assets satisfying the keyword equation assigned to the guest.
- the keywords used to tag the digital assets are static keywords.
- the keywords used to tag the digital assets may include one or more dynamic keywords that are evaluated when a request to view the digital assets is received from the guest.
- Figure 1 illustrates an exemplary centrally hosted media sharing system controlling access to digital assets based on keywords used to tag the digital assets according to one embodiment of the present invention
- Figure 2 illustrates the operation of the system of Figure 1 ;
- Figure 3 is an exemplary user interface for tagging a photo album with one or more keywords according to one embodiment of the present invention
- Figure 4 is an exemplary user interface for tagging a digital image with one or more keywords according to one embodiment of the present invention
- Figure 5 is an exemplary user interface for assigning permissions to each guest on a guest list based on keywords used to tag digital assets according to one embodiment of the present invention
- Figures 6A-6C illustrate an exemplary user interface for assigning permissions to each guest in a guest list based on keyword equations according to one embodiment of the present invention
- Figure 7 illustrates an exemplary peer-to-peer (P2P) media sharing system controlling access to digital assets based on keywords used to tag the digital assets according to one embodiment of the present invention
- Figure 8 is a block diagram of an exemplary embodiment of the owner node of the system of Figure 1 ;
- Figure 9 is a block diagram of an exemplary embodiment of the central node of the system of Figure 1 ;
- Figure 10 is a block diagram of an exemplary embodiment of the peer node of the system of Figure 7;
- Figure 11 is a block diagram of an exemplary embodiment of the central node of the system of Figure 7.
- the present invention provides a system and method for controlling access to digital assets in an online media sharing system based on keywords.
- each digital asset is tagged with a number of keywords.
- the owner of the digital assets defines a guest list including a number of guests. For each guest, the owner defines permissions controlling the guest's access to the digital assets based on keywords. Thereafter, when a request to view the digital assets is received from a guest node associated with one of the guests, the digital assets that the guest is permitted to view are identified based on the permissions assigned to the guest and provided to the guest at the guest node.
- the present invention is implemented in a centrally hosted photosharing system.
- An exemplary centrally hosted photosharing system 10 is illustrated in Figure 1 and includes a central node 12, an owner node 14, a guest node 16, users 18 and 20, and a network 22.
- the network 22 is the Internet.
- the central node 12 includes a web server 24, a media database 26, and a permissions database 28.
- the web server 24 may be implemented in hardware, software, or a combination thereof.
- the media database 26 and the permissions database 28 may be stored in memory such as Random Access Memory (RAM) or some other storage device such as a hard disc drive.
- RAM Random Access Memory
- the media database 26 stores digital assets for each of a number of owners such as the user 18 at the owner node 14.
- the digital assets may be photo albums, digital images, digital videos, or the like. While the discussion herein focuses on photo albums, it should be recognized that the present invention is equally applicable to any digital asset.
- the permissions database 28 stores permissions for a number of guests, such as the user 20 at the guest node 16, defining the digital assets that the guests are permitted to view based on keywords used to tag the digital assets. For example, the user 20 at the guest node 16 may be permitted to view the photo albums owned by the user 18 and stored at the central node 12 that are tagged with the keywords "Family" or "Vacation.” In addition, the permissions may define the digital assets that the guests are permitted to print, copy, e-mail, download, and the like.
- the owner and guest nodes 14 and 16 may be personal computers, mobile terminals, Personal Digital Assistants, or the like and have access to the network 22. As illustrated, the owner node 14 includes a web browser 30, and the guest node 16 includes a web browser 32.
- the user 18 may be referred to herein as an owner, and the user 20 may be referred to herein as a guest.
- the user 18 when the user 18 desires to share a number of photo albums, the user 18 interacts with the central node 12 using the web browser 30 to upload and share the photo albums. More specifically, the user 18 directs with the web browser 30 to a webpage or website operating as a user interface for the central node 12. The user 18 may then interact with the central node 12 to upload the photo albums from the owner node 14 to the central node 12.
- the photo albums or the digital images within the photo albums are tagged with one or more keywords either before being uploaded to the central node 12 or after being uploaded to the central node 12.
- the user 18 may further interact with the central node 12 to define a guest list and permissions for each guest in the guest list based on the keywords used to tag either the photo albums or the digital images within the photo albums.
- the permissions may be defined by selecting one or more keywords, wherein the guest is permitted to view the ones of the photo albums or the digital images within the photo albums tagged with the selected keywords.
- the permissions may be assigned to each guest based on a keyword equation such that the guest is permitted to view the photo albums or digital images tagged with keywords satisfying the keyword equation.
- the permissions may define the photo albums or digital images that the guests are permitted to copy, print, e- mail, and the like.
- the central node 12 may send an invitation to each of the guests. Using a web link and optionally a usemame and/or password provided in the invitation, the guest is permitted to view the photo albums or digital images tagged with the keywords defined by his or her permissions.
- the user 20 may be invited by sending an e-mail invitation to the user 20 at the guest node 16 including a web link to the central node 12.
- the Uniform Resource Locator (URL) for the web link may include information identifying the guest or the permissions assigned to the guest.
- the user 20 may activate the web link or enter the associated URL in the web browser 32.
- the central node 12 provides the photo albums or digital images tagged with the keywords defined in the permissions of the user 20 to the guest node 16.
- the e-mail invitation may alternatively include a web link to the central node 12 and a username and/or password for the user 20.
- the user 20 may activate the web link or enter the associated Uniform Resource Locator (URL) in the web browser 32.
- the central node 12 may then require the user 20 to enter the username and/or password from the e-mail invitation.
- the central node 12 may determine the permissions assigned to the user 20 and enable the user 20 to view the photo albums or digital images that the user 20 is permitted to view.
- Figure 2 illustrates the operation of the centrally hosted photosharing system 10 of Figure 1.
- the user 18 at the owner node 14 interacts with the central node 12 using the web browser 30 such that the owner node 14 uploads a number of photo albums, or digital assets, to the central node 12 (step 200).
- the user 18 at the owner node 14 then interacts with the central node 12 using the web browser 30 to tag the photo albums or the digital images within the photo albums with one or more keywords (step 202).
- the user 18 may interact with the owner node 14 to tag the photo albums or the digital images within the photo albums with one or more keywords before uploading the photo albums to the central node 12.
- the keywords may be static keywords or dynamic keywords.
- Both static and dynamic keywords are keywords that are stored in association with a photo album or a digital image.
- the digital images are stored in a format such as the Joint Photographic Experts Group (JPEG) format
- the static and dynamic keywords may be stored as metadata within the digital image file.
- the static and dynamic keywords for a photo album or digital image may be stored in an application file storing keywords for a number of photo albums or digital images.
- Static keywords are keywords that do not change. For example, static keywords may be "Work,” “Family,” “Vacation,” and "Friends.”
- Dynamic keywords are keywords having a state of "true” or “false” determined by associated software. More specifically, each dynamic keyword is associated with a software process such as a software plug-in that is invoked when it is desired to determine the state of the dynamic keyword. In one embodiment, the dynamic keywords may be evaluated each time a guest whose permissions depend upon the dynamic keyword sends a request to view the photo albums or digital images to the central node 12. Examples of dynamic keywords include, but are not limited to, “Fall,” “Spring,” “Summer,” “Winter,” “Weekday,” “Weekend,” “Hot Weather,” “Moderate Weather,” and “Cold Weather.”
- an associated software process may be invoked to determine whether the current date is within a predetermined range of dates corresponding to the Fall. If so, the state of the dynamic keyword is "true” and it is as if the digital assets tagged with the dynamic keyword "Fall” are tagged with the keyword “Fall.” If not, the state of the dynamic keyword is "false” and it is as if the digital assets tagged with the dynamic keyword "Fall” are not tagged with the keyword "Fall.”
- an associated software process may be invoked to determine whether the current outdoor temperature at either the location of the owner node 14 or the guest node 16 is above a threshold temperature.
- the outdoor temperature at the location of the owner node 14 or the guest node 16 may be determined based on the location of the owner node 14 or the guest node 16. Further, the locations of the owner and guest nodes 14 and 16 may be determined based on the Internet Protocol (IP) addresses of the owner and guest nodes 14 and 16.
- IP Internet Protocol
- the user 18 at the owner node 14 interacts with the central node 12 using the web browser 30 to define a guest list (step 204) and to assign permissions to each guest in the guest list (step 206).
- the permissions define the photo albums or the digital images within the photo albums which the guest is permitted to view based on the keywords used to tag the photo albums or digital images. More specifically, for each guest in the guest list, the user 18 at the owner node 14 may define the permissions for the guest by selecting one or more keywords, thereby permitting the guest to view the photo albums or digital images tagged with the selected keywords.
- the guest is permitted to view the photo albums or digital images tagged with the dynamic keyword if the state of the dynamic keyword is determined to be "true" when the guest sends the request to view the photo albums or digital images.
- the permissions for the guests may be defined based on keyword equations, wherein each guest is permitted to view the photo albums or digital images tagged with keywords satisfying the keyword equation assigned to the guest. Permissions may be defined for a number of functions such as, but not limited to, viewing, printing, copying, e-mailing, and downloading. [0036] After defining the guest list and the permissions for the guests, the central node 12 may send invitations to the guests.
- the user 20 at the guest node 16 is one of the guests in the guest list.
- the central node 12 sends an invitation to the guest node 16 (step 208).
- the user 20 at the guest node 16 directs the web browser 32 to request the photo albums from the central node 12 (step 210).
- the central node 12 returns the photo albums or digital images that the user 20 is permitted to view to the guest node 16 (step 212).
- the central node 12 evaluates the dynamic keywords and determines the photo albums or digital images that the user 20 is permitted to view based on the state of the dynamic keywords.
- the invitation sent to the user 20 at the guest node 14 may be an e- mail invitation wherein the e-mail address of the user 20 is provided by the user 18 when defining the guest list.
- the e-mail invitation may include a web link to the central node 12.
- the web link may include information identifying the user 20 at the guest node 16 or the permissions assigned to the user 20 at the guest node 16.
- the web browser 32 sends a request to the central node 12 including the information identifying the user 20 at the guest node 16 or the permissions assigned to the user 20 at the guest node 16.
- the central node 12 may determine the permissions assigned to the user 20, identify the photo albums or digital images the user 20 is permitted to view based on the permissions assigned to the user 20, and provide the photo albums or digital images that the user 20 is permitted to view to the guest node 16. If the permissions of the user 20 are based, at least in part, on one or more dynamic keywords, identifying the photo albums or digital images that the user 20 is permitted to view includes evaluating the state of the dynamic keywords.
- the e-mail invitation may include a web link to a log-in webpage at the central node 12 and a username and/or password for the user 20.
- the web browser 32 sends a request for the log-in webpage to the central node 12.
- the central node 12 returns the log-in webpage to the guest node 16.
- the user 20 then enters the username and/or password, which are then provided to the central node 12.
- the central node 12 may determine the permissions assigned to the user 20, identify the photo albums or digital images that the user 20 is permitted to view, and provide the photo albums or digital images that the user 20 is permitted to view to the guest node 16. If the permissions of the user 20 are based, at least in part, on one or more dynamic keywords, identifying the photo albums or digital images that the user 20 is permitted to view includes evaluating the state of the dynamic keywords.
- Figure 3 illustrates an exemplary user interface for tagging a photo album 34 with one or more keywords.
- the keywords used to tag the photo album 34 may be static keywords selected from a list of static keywords 36 or dynamic keywords selected from a list of dynamic keywords 38. It should be noted that both static and dynamic keywords are not necessary for the present invention.
- the present invention may be implemented with only static keywords, only dynamic keywords, or a combination of static and dynamic keywords. Further, the lists of static and dynamic keywords 36 and 38 are exemplary.
- the user 18 may define any number of static and dynamic keywords.
- the name of the photo album 34 is "Vacation in Asheville.”
- the lists of static and dynamic keywords 36 and 38 are displayed to the user 18, and the user 18 selects one or more keywords from the lists of static and dynamic keywords 36 and 38 to be associated with the photo album 34.
- the user 18 may select keywords from the lists of static and dynamic keywords 36 and 38 by, for example, checking one or more checkboxes 40A- 4OG and 42A-I next to the desired keywords.
- checkboxes 4OB and 4OD associated with the keywords "Family" and "Vacation” are checked, thereby selecting these keywords.
- Figure 4 illustrates an exemplary user interface for tagging a digital image 44 within a photo album at an asset level with one or more keywords.
- the digital image 44 is displayed to the user 18 along with the list of static keywords 36 and the list of dynamic keywords 38.
- both static and dynamic keywords are not necessary for the present invention.
- the present invention may be implemented with only static keywords, only dynamic keywords, or a combination of static and dynamic keywords.
- the user 18 may select keywords from the lists of static and dynamic keywords 36 and 38 by, for example, checking checkboxes 40A-40G and 42A-I next to the desired keywords.
- the checkboxes 4OB and 4OD associated with the keywords "Family” and "Vacation” are checked, thereby selecting these keywords.
- the selected keywords are associated with the digital image 44 by, for example, storing the selected keywords in metadata associated with the digital image 44 or in association with the digital image 44 in an application file.
- Figure 5 illustrates an exemplary user interface for assigning permissions to each guest in a guest list based on keywords according to one embodiment of the present invention.
- the user interface includes a guest list 46, a list of static keywords 48, a list of dynamic keywords 50, and a permission table 52 enabling selection of one or more of the keywords from the lists of static and dynamic keywords 48 and 50 for each of the guests in the guest list 46.
- the user 18 at the owner node 14 interacts with the central node 12 to select one or more of the keywords in the lists of static and dynamic keywords 48 and 50 such that the guest is permitted to view the photo albums or digital images tagged with the selected keywords.
- the guest “John” is permitted to view photo albums or digital images tagged with one or more of the static keywords "Work,” “Kids Sporting Events,” “Wild Parties,” and “Camera Phone” and the dynamic keywords “Spring,” “Summer,” “Fall,” and “Winter.”
- the user 18 may define permissions for a number of functions in addition to viewing such as printing, copying, e-mailing, downloading, and the like. Once the permissions are assigned, they may be stored in the permissions database 28 at the central node 12.
- the user interface may also include an "any” an “all” checkbox.
- the “any” checkbox would permit the guest to view the photo albums or digital images tagged with any of the keywords selected for the guest.
- the “all” checkbox would permit the guest to view only the photo albums or digital images tagged with all of the keywords selected for the guest.
- Figures 6A-6C illustrate an exemplary user interface for assigning permissions to guests in the guest list according to an alternative embodiment of the present invention.
- the permissions may be assigned to the guests based on keyword equations rather than by selecting desired keywords as described above.
- the user interface includes the guest list 46 and a number of permissions for each of the guests.
- the permissions are defined for several functions for each of the guests. Namely, permissions are defined for viewing, printing, copying, and e-mailing for each of the guests. However, permissions for other functions such as downloading and the like may additionally or alternatively be provided.
- permissions may be set to either "yes,” “no,” or "keyword.”
- the permissions for the guest “John” are controlled using menus 54A-54D; the permissions for the guest “Sue” are controlled using menus 56A-56D; the permissions for the guest “Mom” are controlled using menus 58A-58D; the permissions for the guest “George” are controlled using menus 60A-60D; and the permissions for the guest “Bill” are controlled using menus 62A-62D.
- “Yes” indicates that the guest has permission to perform the particular function for all photo albums or digital images regardless of the keywords used to tag the photo albums or digital images.
- “no” means that the guest does not have permission to perform the particular function for any of the photo albums or digital images.
- “Keyword” indicates that the permissions for the guest for the particular function are defined by a keyword equation.
- a secondary menu 64 such as that illustrated in Figure 6B is provided.
- the secondary menu 64 enables the user 18 to select either "yes,” “no,” or "keyword" for the particular guest and function combination. If the user 18 selects "keyword,” then the user 18 is enabled to enter a desired keyword equation for the particular guest and function combination.
- the user 18 may be provided with a keyword equation entry form 66 such as that illustrated in Figure 6C. Using the keyword equation entry form 66, the user 18 may enter a desired keyword equation 68 defining the permissions for the particular keyword and function combination.
- the keyword equation 68 is defined such that the particular guest is permitted to perform the particular function for the photo albums or digital images tagged with keywords satisfying the equation "(FRIENDS OR (FAMILY AND VACATION)) OR FALL.”
- the underlining of "FALL" indicates that the keyword is a dynamic keyword.
- the keyword equation entry form 66 may also include a checkbox 70 enabling the user 18 to either apply dynamic keywords or not apply dynamic keywords. If the dynamic keywords are not applied, the dynamic keywords are treated like a static keyword. [0046] In this example, the dynamic keywords are applied. As such, the dynamic keywords will be evaluated each time the guest desires to perform the particular function.
- the keyword equation of this example defines the permissions for a guest for viewing photo albums, the keyword equation is evaluated each time the guest requests to view the photo albums.
- the software process or plug-in for the dynamic keyword "FALL” is invoked and returns either "true” or "false” depending on the current date.
- the guest upon evaluating the keyword equation, the guest is permitted to view the photo albums or digital images tagged with keywords satisfying "FRIENDS OR (FAMILY AND VACATION).”
- the dynamic keyword "FALL" is "true,” then the guest is also permitted to view the photo albums or digital images tagged with the dynamic keyword "FALL.”
- P2P photosharing system 72 An exemplary P2P photosharing system 72 is illustrated in Figure 7.
- the P2P photosharing system 72 includes peer nodes 74 and 76, a central node 78, a guest node 80, users 82-86, and network 88.
- the network 88 is the Internet.
- the user 82 may be referred to as an owner, and the user 86 may be referred to as a guest.
- the peer nodes 74 and 76 are personal computers, mobile terminals, Personal Digital Assistants, or the like having access to the network 88.
- the peer node 74 includes peer software 90, a web server 92, a media database 94, and a permissions database 96.
- the peer node 74 may also include a web browser (not shown). It should be noted that the discussion herein of the peer node 74 is equally applicable to the peer node 76.
- the web server 92 may be implemented in hardware and/or software.
- the media database 94 and the permissions database 96 may be stored in memory such as Random Access Memory (RAM) or some other storage device such as a hard disc drive.
- RAM Random Access Memory
- the media database 94 stores digital assets such as photo albums each including a number of digital images.
- the permissions database 96 stores permissions for each guest in a guest list based on keywords as described above.
- the central node 78 includes a proxy 98 and a socket connection table 100.
- the guest node 80 is a personal computer, mobile terminal, Personal Digital Assistant, or the like having access to the network 88 and preferably including a web browser 102. [0049] In operation, when the peer node 74 comes online by either connecting to the network 88 or by enabling the peer software 90, the peer node 74 establishes a socket connection with the central node 78 and more specifically with the proxy 98.
- the central node 78 stores information identifying the socket connection and associating the socket connection with the peer node 74 in the socket connection table 100.
- the user 82 at the peer node 74 tags the photo albums or the digital images within the photo albums stored in the media database 94 with one or more keywords.
- the keywords may be static keywords, dynamic keywords, or a combination of static and dynamic keywords.
- the user 82 further interacts with the peer node 74 to generate a guest list and to assign permissions to each guest in the guest list based on the keywords used to tag the photo albums or digital images.
- permissions may be assigned for each of a number of functions such as viewing, printing, copying, and e-mailing by selecting one or more keywords for the guest such that the guest is permitted to perform the function on the photo albums or digital images tagged with the selected keywords.
- a keyword equation may be defined for each of a number of functions such as viewing, printing, copying, and e-mailing, wherein the guest is permitted to perform the function on the photo albums or digital images satisfying the keyword equation.
- the user 82 at the peer node 74 may then invite the user 86 at the guest node 80 to view the photo albums stored in the media database 94 by, for example, sending an e-mail invitation including a unique web link that links to the peer node 74.
- the e-mail invitation may include a usemame and/or password for the user 86.
- the peer software 90 may determine the permissions assigned to the user 86 and identify the photo albums or digital images that the user 86 is permitted to view based on the permissions.
- the e-mail invitation may be sent directly from the peer node 74 to the guest node 80 via the network 88.
- the peer node 74 may provide the guest list to the central node 78, wherein the central node 78 generates and sends the e-mail invitation.
- the user 86 at the guest node 80 desires to view the photo albums residing at the peer node 74 that he is permitted to view, the user 86 may activate that web link in the e-mail invitation.
- the web browser 102 generates a Hypertext Transfer Protocol (HTTP) request and provides the HTTP request to the proxy 98 over the network 88.
- HTTP Hypertext Transfer Protocol
- the proxy 98 translates the HTTP request into a request message including one or more request packets.
- the proxy 98 identifies the socket connection that connects the peer node 74 to the proxy 98.
- the proxy 98 then sends the request message to the peer node 74 via the socket connection.
- the peer node 74 In response to receiving the request message from the proxy 98, the peer node 74, and specifically the peer software 90, converts the request message into an HTTP request and provides the HTTP request to the web server 92.
- the peer software 90 determines the permissions of the user 86 based on information passed in the HTTP request from the guest node 80, where the information may be embedded in the URL of the unique web link in the e-mail invitation. Based on the permissions assigned to the user 86, the peer software 90 may identify the photo albums or digital images that the user 86 is permitted to view and generate the HTTP request for the photo albums or digital images that the user 86 is permitted to view.
- the web server 92 In response to the HTTP request, the web server 92 generates an HTTP response including a webpage with the photo albums or digital images that the user 86 is permitted to view.
- the peer software 90 converts the HTTP response into a response message including one or more response packets and sends the response message to the proxy 98 via the socket connection.
- the proxy 98 then converts the response message from the peer node 74 into an HTTP response and sends the HTTP response to the web browser 102 at the guest node 80.
- the web browser 102 Upon receiving the HTTP response, the web browser 102 displays the webpage corresponding to the photo albums or digital images that the user 86 is permitted to view.
- the peer software 90 and the web server 92 may operate to provide a log-in webpage in response to the initial request from the guest node 80.
- the peer software 90 may determine the permissions assigned to the user 86, identify the photo albums or digital images that the user 86 is permitted to view, and provide an HTTP request for the photo albums or digital images that the user 86 is permitted to view to the web server 92.
- the web server 92 provides an HTTP response including the photo albums or digital images that the user 86 is permitted to view. The HTTP response is provided to the guest node via the peer software 90 and the proxy 98, as described above.
- the central node 78 may alternatively maintain a permissions database for each of the peer nodes 74 and 76 in the P2P photosharing system 72.
- the peer nodes 74 and 76 may provide the guest lists and the permissions for the guests in the guest lists to the central node 78 where they are stored.
- the central node 78 may determine the permissions of the user 86 and send a request to the peer node 74 for the photo albums or digital images that the user 86 is permitted to view.
- the request may include the permissions assigned to the user 86.
- the peer node 74 identifies the photo albums and digital images that the user 86 is permitted to view and provides the identified photo albums and digital images to the central node 78.
- FIG 8 is a block diagram of an exemplary embodiment of the owner node 14 of Figure 1. This discussion of the owner node 14 is equally applicable to the guest node 16 of Figure 1.
- the owner node 14 may generally include a control system 104 having associated memory 106.
- the memory 106 may store the web browser 30.
- the owner node 14 also includes a communication interface 108 for communicating with other network entities via the network 22.
- the communication interface 108 may also include an interface to various external devices such as a printer.
- the owner node 14 also includes a user interface 110, which may include a keypad, mouse, display, and the like (not shown).
- FIG 9 is a block diagram of an exemplary embodiment of the central node 12, which may include a control system 112 having associated memory 114.
- the memory 114 may store the web server 24, the media database 26, and the permissions database 28.
- the web server 24 is implemented in software.
- the web server 24 be implemented in hardware and/or software.
- the media database 26 and the permissions database 28 are illustrated as being stored in the memory 114, they may alternatively be stored in a storage device such as a hard disc drive.
- the central node 12 also includes a communication interface 116 for communicating with other network entities via the network 22.
- the communication interface 116 may also include an interface to various external devices such as a printer.
- the central node 12 may also include a user interface 118, which may include a keypad, mouse, display, and the like (not shown).
- FIG 10 is a block diagram of an exemplary embodiment of the peer node 74, which may include a control system 120 having associated memory 122.
- the memory 122 may store the peer software 90, the web server 92, the media database 94, and the permissions database 96.
- the web server 92 is implemented in software.
- the web server 92 be implemented in hardware and/or software.
- the media database 94 and the permissions database 96 are illustrated as being stored in the memory 122, they may alternatively be stored in a storage device such as a hard disc drive.
- the peer node 74 also includes a communication interface 124 for communicating with other network entities via the network 88.
- the communication interface 124 may also include an interface to various external devices such as a printer.
- the peer node 74 also includes a user interface 126, which may include a keypad, mouse, display, and the like (not shown).
- FIG 11 is a block diagram of an exemplary embodiment of the central node 78, which may include a control system 128 having associated memory 130.
- the memory 130 may store the proxy 98 and the socket connection table 100.
- the proxy 98 is implemented in software.
- the proxy 98 may be implemented in hardware and/or software.
- the socket connection table 100 is illustrated as being stored in the memory 130, it may alternatively be stored in a storage device such as a hard disc drive.
- the central node 78 also includes a communication interface 132 for communicating with other network entities via the network 88.
- the communication interface 132 may also include an interface to various external devices such as a printer.
- the central node 78 may also include a user interface 134, which may include a keypad, mouse, display, and the like (not shown).
Abstract
A system and method for controlling access to digital assets in an online media sharing system based on keywords are provided. In general, each digital asset is tagged with a number of keywords. The owner of the digital assets defines a guest list including a number of guests. For each guest, the owner defines permissions controlling the guest's access to the digital assets based on keywords. Thereafter, when a request to view the digital assets is received from a guest node associated with one of the guests, the digital assets that the guest is permitted to view are identified based on the permissions assigned to the guest and provided to the guest at the guest node.
Description
SYSTEM AND METHOD FOR CONTROLLING ACCESS TO ASSETS IN A NETWORK-BASED MEDIA SHARING SYSTEM USING TAGGING
Field of the Invention [0001] The present invention relates to online media sharing systems and more specifically relates to controlling access to digital assets based on keywords used to tag the digital assets.
Background of the Invention [0002] With the proliferation of digital cameras, numerous online photosharing services have emerged and are becoming widely accepted by photo enthusiasts. The photosharing services are generally based on one of two architectures. The first is a centrally hosted architecture where a central server hosts digital images for a number of users and provides photosharing services by serving the digital images to a web browser of a user or guest. The second is a peer-to-peer (P2P) architecturewhere a user creates and stores photo albums on the user's computer. The user's computer then operates as a web server to provide the photo albums to the web browser of another user or guest. [0003] One issue with online photosharing services is controlling access to photo albums. Typical online photosharing systems control access on a per image basis or a per album basis. Each image or photo album may be classified as private such that it is not shared or as public such that it is shared with all guests. Some systems allow the owner of the image or photo album to define a list of permitted guests for each digital image or photo album. However, these systems do not take advantage of keywords used by an owner to tag digital assets. Thus, there remains a need for a system and method of controlling access to digital assets in an online media sharing system based on keywords used to tag the digital assets.
Summary of the Invention
[0004] The present invention relates to a system and method for controlling access to digital assets in an online media sharing system based on keywords. In general, each digital asset is tagged with a number of
keywords. The owner of the digital assets defines a guest list including a number of guests. For each guest, the owner defines permissions controlling the guest's access to the digital assets based on keywords. Thereafter, when a request to view the digital assets is received from a guest node associated with one of the guests, the digital assets that the guest is permitted to view are identified based on the permissions assigned to the guest and provided to the guest at the guest node.
[0005] In one embodiment, for each guest in the guest list, the owner selects keywords to be associated with the guest. As a result, the guest is permitted to view the digital assets tagged with the selected keywords. In another embodiment, the owner may define a keyword equation for each guest. The guest is then permitted to view the digital assets satisfying the keyword equation assigned to the guest. [0006] In one embodiment, the keywords used to tag the digital assets are static keywords. In another embodiment, the keywords used to tag the digital assets may include one or more dynamic keywords that are evaluated when a request to view the digital assets is received from the guest. [0007] Those skilled in the art will appreciate the scope of the present invention and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.
Brief Description of the Drawing Figures
[0008] The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the invention, and together with the description serve to explain the principles of the invention. [0009] Figure 1 illustrates an exemplary centrally hosted media sharing system controlling access to digital assets based on keywords used to tag the digital assets according to one embodiment of the present invention; [0010] Figure 2 illustrates the operation of the system of Figure 1 ;
[0011] Figure 3 is an exemplary user interface for tagging a photo album with one or more keywords according to one embodiment of the present invention;
[0012] Figure 4 is an exemplary user interface for tagging a digital image with one or more keywords according to one embodiment of the present invention;
[0013] Figure 5 is an exemplary user interface for assigning permissions to each guest on a guest list based on keywords used to tag digital assets according to one embodiment of the present invention;
[0014] Figures 6A-6C illustrate an exemplary user interface for assigning permissions to each guest in a guest list based on keyword equations according to one embodiment of the present invention; [0015] Figure 7 illustrates an exemplary peer-to-peer (P2P) media sharing system controlling access to digital assets based on keywords used to tag the digital assets according to one embodiment of the present invention;
[0016] Figure 8 is a block diagram of an exemplary embodiment of the owner node of the system of Figure 1 ; [0017] Figure 9 is a block diagram of an exemplary embodiment of the central node of the system of Figure 1 ;
[0018] Figure 10 is a block diagram of an exemplary embodiment of the peer node of the system of Figure 7; and
[0019] Figure 11 is a block diagram of an exemplary embodiment of the central node of the system of Figure 7.
Detailed Description of the Preferred Embodiments
[0020] The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the invention and illustrate the best mode of practicing the invention. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the invention and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
[0021] The present invention provides a system and method for controlling access to digital assets in an online media sharing system based on keywords. In general, each digital asset is tagged with a number of keywords. The owner of the digital assets defines a guest list including a number of
guests. For each guest, the owner defines permissions controlling the guest's access to the digital assets based on keywords. Thereafter, when a request to view the digital assets is received from a guest node associated with one of the guests, the digital assets that the guest is permitted to view are identified based on the permissions assigned to the guest and provided to the guest at the guest node.
[0022] In one embodiment, the present invention is implemented in a centrally hosted photosharing system. An exemplary centrally hosted photosharing system 10 is illustrated in Figure 1 and includes a central node 12, an owner node 14, a guest node 16, users 18 and 20, and a network 22. Preferably, the network 22 is the Internet. There may be any number of owner nodes 14 and guest nodes 16.
[0023] In general, the central node 12 includes a web server 24, a media database 26, and a permissions database 28. The web server 24 may be implemented in hardware, software, or a combination thereof. The media database 26 and the permissions database 28 may be stored in memory such as Random Access Memory (RAM) or some other storage device such as a hard disc drive. The media database 26 stores digital assets for each of a number of owners such as the user 18 at the owner node 14. The digital assets may be photo albums, digital images, digital videos, or the like. While the discussion herein focuses on photo albums, it should be recognized that the present invention is equally applicable to any digital asset. [0024] The permissions database 28 stores permissions for a number of guests, such as the user 20 at the guest node 16, defining the digital assets that the guests are permitted to view based on keywords used to tag the digital assets. For example, the user 20 at the guest node 16 may be permitted to view the photo albums owned by the user 18 and stored at the central node 12 that are tagged with the keywords "Family" or "Vacation." In addition, the permissions may define the digital assets that the guests are permitted to print, copy, e-mail, download, and the like.
[0025] The owner and guest nodes 14 and 16 may be personal computers, mobile terminals, Personal Digital Assistants, or the like and have access to the network 22. As illustrated, the owner node 14 includes a web browser 30, and the guest node 16 includes a web browser 32. The user 18 may be
referred to herein as an owner, and the user 20 may be referred to herein as a guest.
[0026] In operation, when the user 18 desires to share a number of photo albums, the user 18 interacts with the central node 12 using the web browser 30 to upload and share the photo albums. More specifically, the user 18 directs with the web browser 30 to a webpage or website operating as a user interface for the central node 12. The user 18 may then interact with the central node 12 to upload the photo albums from the owner node 14 to the central node 12. The photo albums or the digital images within the photo albums are tagged with one or more keywords either before being uploaded to the central node 12 or after being uploaded to the central node 12. [0027] The user 18 may further interact with the central node 12 to define a guest list and permissions for each guest in the guest list based on the keywords used to tag either the photo albums or the digital images within the photo albums. For each of the guests, the permissions may be defined by selecting one or more keywords, wherein the guest is permitted to view the ones of the photo albums or the digital images within the photo albums tagged with the selected keywords. Alternatively, the permissions may be assigned to each guest based on a keyword equation such that the guest is permitted to view the photo albums or digital images tagged with keywords satisfying the keyword equation. In a similar fashion, the permissions may define the photo albums or digital images that the guests are permitted to copy, print, e- mail, and the like. [0028] After the guest list and the permissions are defined, the central node 12 may send an invitation to each of the guests. Using a web link and optionally a usemame and/or password provided in the invitation, the guest is permitted to view the photo albums or digital images tagged with the keywords defined by his or her permissions. For example, the user 20 may be invited by sending an e-mail invitation to the user 20 at the guest node 16 including a web link to the central node 12. The Uniform Resource Locator (URL) for the web link may include information identifying the guest or the permissions assigned to the guest. When the user 20 desires to view the photo albums, the user 20 may activate the web link or enter the associated URL in the web browser 32. In response, the central node 12 provides the
photo albums or digital images tagged with the keywords defined in the permissions of the user 20 to the guest node 16. [0029] The e-mail invitation may alternatively include a web link to the central node 12 and a username and/or password for the user 20. When the user 20 desires to view the photo albums, the user 20 may activate the web link or enter the associated Uniform Resource Locator (URL) in the web browser 32. The central node 12 may then require the user 20 to enter the username and/or password from the e-mail invitation. Based on the username and/or password, the central node 12 may determine the permissions assigned to the user 20 and enable the user 20 to view the photo albums or digital images that the user 20 is permitted to view. [0030] Figure 2 illustrates the operation of the centrally hosted photosharing system 10 of Figure 1. Initially, the user 18 at the owner node 14 interacts with the central node 12 using the web browser 30 such that the owner node 14 uploads a number of photo albums, or digital assets, to the central node 12 (step 200). The user 18 at the owner node 14 then interacts with the central node 12 using the web browser 30 to tag the photo albums or the digital images within the photo albums with one or more keywords (step 202). Alternatively, the user 18 may interact with the owner node 14 to tag the photo albums or the digital images within the photo albums with one or more keywords before uploading the photo albums to the central node 12. [0031] The keywords may be static keywords or dynamic keywords. Both static and dynamic keywords are keywords that are stored in association with a photo album or a digital image. For example, if the digital images are stored in a format such as the Joint Photographic Experts Group (JPEG) format, the static and dynamic keywords may be stored as metadata within the digital image file. As another example, the static and dynamic keywords for a photo album or digital image may be stored in an application file storing keywords for a number of photo albums or digital images. Static keywords are keywords that do not change. For example, static keywords may be "Work," "Family," "Vacation," and "Friends."
[0032] Dynamic keywords are keywords having a state of "true" or "false" determined by associated software. More specifically, each dynamic keyword is associated with a software process such as a software plug-in that is
invoked when it is desired to determine the state of the dynamic keyword. In one embodiment, the dynamic keywords may be evaluated each time a guest whose permissions depend upon the dynamic keyword sends a request to view the photo albums or digital images to the central node 12. Examples of dynamic keywords include, but are not limited to, "Fall," "Spring," "Summer," "Winter," "Weekday," "Weekend," "Hot Weather," "Moderate Weather," and "Cold Weather."
[0033] As an example, when it is desired to determine the state of the "Fall" dynamic keyword, an associated software process may be invoked to determine whether the current date is within a predetermined range of dates corresponding to the Fall. If so, the state of the dynamic keyword is "true" and it is as if the digital assets tagged with the dynamic keyword "Fall" are tagged with the keyword "Fall." If not, the state of the dynamic keyword is "false" and it is as if the digital assets tagged with the dynamic keyword "Fall" are not tagged with the keyword "Fall."
[0034] As another example, when it is desired to determine the state of the "Hot Weather" dynamic keyword, an associated software process may be invoked to determine whether the current outdoor temperature at either the location of the owner node 14 or the guest node 16 is above a threshold temperature. If so, the state of the keyword is "true" and it is as if the digital assets tagged with the dynamic keyword "Hot Weather" are tagged with the keyword "Hot Weather." If not, the state of the dynamic keyword is "false" and it is as if the digital assets tagged with the dynamic keyword "Hot Weather" are not tagged with the keyword "Hot Weather." As will be apparent to one of ordinary skill in the art, the outdoor temperature at the location of the owner node 14 or the guest node 16 may be determined based on the location of the owner node 14 or the guest node 16. Further, the locations of the owner and guest nodes 14 and 16 may be determined based on the Internet Protocol (IP) addresses of the owner and guest nodes 14 and 16. [0035] After uploading and tagging the photo albums, the user 18 at the owner node 14 interacts with the central node 12 using the web browser 30 to define a guest list (step 204) and to assign permissions to each guest in the guest list (step 206). For each guest, the permissions define the photo albums or the digital images within the photo albums which the guest is
permitted to view based on the keywords used to tag the photo albums or digital images. More specifically, for each guest in the guest list, the user 18 at the owner node 14 may define the permissions for the guest by selecting one or more keywords, thereby permitting the guest to view the photo albums or digital images tagged with the selected keywords. Note that if the selected keywords include a dynamic keyword, the guest is permitted to view the photo albums or digital images tagged with the dynamic keyword if the state of the dynamic keyword is determined to be "true" when the guest sends the request to view the photo albums or digital images. Alternatively, the permissions for the guests may be defined based on keyword equations, wherein each guest is permitted to view the photo albums or digital images tagged with keywords satisfying the keyword equation assigned to the guest. Permissions may be defined for a number of functions such as, but not limited to, viewing, printing, copying, e-mailing, and downloading. [0036] After defining the guest list and the permissions for the guests, the central node 12 may send invitations to the guests. In this example, the user 20 at the guest node 16 is one of the guests in the guest list. Thus, the central node 12 sends an invitation to the guest node 16 (step 208). After receiving the invitation, the user 20 at the guest node 16 directs the web browser 32 to request the photo albums from the central node 12 (step 210). In response, the central node 12 returns the photo albums or digital images that the user 20 is permitted to view to the guest node 16 (step 212). Note that if the permissions of the user 20 depend upon one or more dynamic keywords, the central node 12 evaluates the dynamic keywords and determines the photo albums or digital images that the user 20 is permitted to view based on the state of the dynamic keywords.
[0037] The invitation sent to the user 20 at the guest node 14 may be an e- mail invitation wherein the e-mail address of the user 20 is provided by the user 18 when defining the guest list. In one embodiment, the e-mail invitation may include a web link to the central node 12. The web link may include information identifying the user 20 at the guest node 16 or the permissions assigned to the user 20 at the guest node 16. When the user 20 at the guest node 16 activates the web link, the web browser 32 sends a request to the central node 12 including the information identifying the user 20 at the guest
node 16 or the permissions assigned to the user 20 at the guest node 16. Using this information, the central node 12 may determine the permissions assigned to the user 20, identify the photo albums or digital images the user 20 is permitted to view based on the permissions assigned to the user 20, and provide the photo albums or digital images that the user 20 is permitted to view to the guest node 16. If the permissions of the user 20 are based, at least in part, on one or more dynamic keywords, identifying the photo albums or digital images that the user 20 is permitted to view includes evaluating the state of the dynamic keywords. [0038] Alternatively, the e-mail invitation may include a web link to a log-in webpage at the central node 12 and a username and/or password for the user 20. When the user 20 at the guest node 16 activates the web link, the web browser 32 sends a request for the log-in webpage to the central node 12. In response, the central node 12 returns the log-in webpage to the guest node 16. The user 20 then enters the username and/or password, which are then provided to the central node 12. Based on the username and/or password, the central node 12 may determine the permissions assigned to the user 20, identify the photo albums or digital images that the user 20 is permitted to view, and provide the photo albums or digital images that the user 20 is permitted to view to the guest node 16. If the permissions of the user 20 are based, at least in part, on one or more dynamic keywords, identifying the photo albums or digital images that the user 20 is permitted to view includes evaluating the state of the dynamic keywords. [0039] Figure 3 illustrates an exemplary user interface for tagging a photo album 34 with one or more keywords. The keywords used to tag the photo album 34 may be static keywords selected from a list of static keywords 36 or dynamic keywords selected from a list of dynamic keywords 38. It should be noted that both static and dynamic keywords are not necessary for the present invention. The present invention may be implemented with only static keywords, only dynamic keywords, or a combination of static and dynamic keywords. Further, the lists of static and dynamic keywords 36 and 38 are exemplary. The user 18 may define any number of static and dynamic keywords.
[0040] As illustrated, the name of the photo album 34 is "Vacation in Asheville." The lists of static and dynamic keywords 36 and 38 are displayed to the user 18, and the user 18 selects one or more keywords from the lists of static and dynamic keywords 36 and 38 to be associated with the photo album 34. The user 18 may select keywords from the lists of static and dynamic keywords 36 and 38 by, for example, checking one or more checkboxes 40A- 4OG and 42A-I next to the desired keywords. In this example, checkboxes 4OB and 4OD associated with the keywords "Family" and "Vacation" are checked, thereby selecting these keywords. Thereafter, the selected keywords are associated with the photo album 34 by, for example, storing the selected keywords in association with the photo album 34 in an application file or in metadata associated with the digital images within the photo album 34. [0041] Figure 4 illustrates an exemplary user interface for tagging a digital image 44 within a photo album at an asset level with one or more keywords. In this example, the digital image 44 is displayed to the user 18 along with the list of static keywords 36 and the list of dynamic keywords 38. Again, both static and dynamic keywords are not necessary for the present invention. The present invention may be implemented with only static keywords, only dynamic keywords, or a combination of static and dynamic keywords. The user 18 may select keywords from the lists of static and dynamic keywords 36 and 38 by, for example, checking checkboxes 40A-40G and 42A-I next to the desired keywords. In this example, the checkboxes 4OB and 4OD associated with the keywords "Family" and "Vacation" are checked, thereby selecting these keywords. Thereafter, the selected keywords are associated with the digital image 44 by, for example, storing the selected keywords in metadata associated with the digital image 44 or in association with the digital image 44 in an application file.
[0042] Figure 5 illustrates an exemplary user interface for assigning permissions to each guest in a guest list based on keywords according to one embodiment of the present invention. In general, the user interface includes a guest list 46, a list of static keywords 48, a list of dynamic keywords 50, and a permission table 52 enabling selection of one or more of the keywords from the lists of static and dynamic keywords 48 and 50 for each of the guests in the guest list 46. For each guest in the guest list 46, the user 18 at the owner
node 14 interacts with the central node 12 to select one or more of the keywords in the lists of static and dynamic keywords 48 and 50 such that the guest is permitted to view the photo albums or digital images tagged with the selected keywords. Thus, in this example, the guest "John" is permitted to view photo albums or digital images tagged with one or more of the static keywords "Work," "Kids Sporting Events," "Wild Parties," and "Camera Phone" and the dynamic keywords "Spring," "Summer," "Fall," and "Winter." In a similar fashion, the user 18 may define permissions for a number of functions in addition to viewing such as printing, copying, e-mailing, downloading, and the like. Once the permissions are assigned, they may be stored in the permissions database 28 at the central node 12. The user interface may also include an "any" an "all" checkbox. The "any" checkbox would permit the guest to view the photo albums or digital images tagged with any of the keywords selected for the guest. The "all" checkbox would permit the guest to view only the photo albums or digital images tagged with all of the keywords selected for the guest.
[0043] Figures 6A-6C illustrate an exemplary user interface for assigning permissions to guests in the guest list according to an alternative embodiment of the present invention. The permissions may be assigned to the guests based on keyword equations rather than by selecting desired keywords as described above. In general, the user interface includes the guest list 46 and a number of permissions for each of the guests. The permissions are defined for several functions for each of the guests. Namely, permissions are defined for viewing, printing, copying, and e-mailing for each of the guests. However, permissions for other functions such as downloading and the like may additionally or alternatively be provided.
[0044] For each guest and function combination, permissions may be set to either "yes," "no," or "keyword." In this example, the permissions for the guest "John" are controlled using menus 54A-54D; the permissions for the guest "Sue" are controlled using menus 56A-56D; the permissions for the guest "Mom" are controlled using menus 58A-58D; the permissions for the guest "George" are controlled using menus 60A-60D; and the permissions for the guest "Bill" are controlled using menus 62A-62D. "Yes" indicates that the guest has permission to perform the particular function for all photo albums or
digital images regardless of the keywords used to tag the photo albums or digital images. Likewise, "no" means that the guest does not have permission to perform the particular function for any of the photo albums or digital images. "Keyword" indicates that the permissions for the guest for the particular function are defined by a keyword equation.
[0045] Upon selecting one of the menus 54A-54D, 56A-56D, 58A-58D, 60A-60D, or 62A-62D, a secondary menu 64 such as that illustrated in Figure 6B is provided. The secondary menu 64 enables the user 18 to select either "yes," "no," or "keyword" for the particular guest and function combination. If the user 18 selects "keyword," then the user 18 is enabled to enter a desired keyword equation for the particular guest and function combination. For example, the user 18 may be provided with a keyword equation entry form 66 such as that illustrated in Figure 6C. Using the keyword equation entry form 66, the user 18 may enter a desired keyword equation 68 defining the permissions for the particular keyword and function combination. In this example, the keyword equation 68 is defined such that the particular guest is permitted to perform the particular function for the photo albums or digital images tagged with keywords satisfying the equation "(FRIENDS OR (FAMILY AND VACATION)) OR FALL." The underlining of "FALL" indicates that the keyword is a dynamic keyword. The keyword equation entry form 66 may also include a checkbox 70 enabling the user 18 to either apply dynamic keywords or not apply dynamic keywords. If the dynamic keywords are not applied, the dynamic keywords are treated like a static keyword. [0046] In this example, the dynamic keywords are applied. As such, the dynamic keywords will be evaluated each time the guest desires to perform the particular function. If the keyword equation of this example defines the permissions for a guest for viewing photo albums, the keyword equation is evaluated each time the guest requests to view the photo albums. In evaluating the keyword equation, the software process or plug-in for the dynamic keyword "FALL" is invoked and returns either "true" or "false" depending on the current date. Thus, for this example, upon evaluating the keyword equation, the guest is permitted to view the photo albums or digital images tagged with keywords satisfying "FRIENDS OR (FAMILY AND VACATION)." In addition, if the dynamic keyword "FALL" is "true," then the
guest is also permitted to view the photo albums or digital images tagged with the dynamic keyword "FALL."
[0047] Although the discussion above focuses on implementing the present invention in the centrally hosted photosharing system 10 of Figure 1 , the present invention may alternatively be implemented in a peer-to-peer (P2P) photosharing system. An exemplary P2P photosharing system 72 is illustrated in Figure 7. The P2P photosharing system 72 includes peer nodes 74 and 76, a central node 78, a guest node 80, users 82-86, and network 88. Preferably, the network 88 is the Internet. There may be any number of peer nodes 74 and 76 and guest nodes 80. The user 82 may be referred to as an owner, and the user 86 may be referred to as a guest. Details of the P2P photosharing system 72 can be found in U.S. Patent Application PublFcation No. 2005/0229243, entitled METHOD AND SYSTEM FOR PROVIDING WEB BROWSING THROUGH A FIREWALL IN A PEER TO PEER NETWORK, published on October 13, 2005, currently pending, which is hereby incorporated by reference in its entirety.
[0048] In general, the peer nodes 74 and 76 are personal computers, mobile terminals, Personal Digital Assistants, or the like having access to the network 88. As illustrated, the peer node 74 includes peer software 90, a web server 92, a media database 94, and a permissions database 96. The peer node 74 may also include a web browser (not shown). It should be noted that the discussion herein of the peer node 74 is equally applicable to the peer node 76. The web server 92 may be implemented in hardware and/or software. The media database 94 and the permissions database 96 may be stored in memory such as Random Access Memory (RAM) or some other storage device such as a hard disc drive. The media database 94 stores digital assets such as photo albums each including a number of digital images. The permissions database 96 stores permissions for each guest in a guest list based on keywords as described above. The central node 78 includes a proxy 98 and a socket connection table 100. The guest node 80 is a personal computer, mobile terminal, Personal Digital Assistant, or the like having access to the network 88 and preferably including a web browser 102. [0049] In operation, when the peer node 74 comes online by either connecting to the network 88 or by enabling the peer software 90, the peer
node 74 establishes a socket connection with the central node 78 and more specifically with the proxy 98. The central node 78 stores information identifying the socket connection and associating the socket connection with the peer node 74 in the socket connection table 100. [0050] The user 82 at the peer node 74 tags the photo albums or the digital images within the photo albums stored in the media database 94 with one or more keywords. As discussed above, the keywords may be static keywords, dynamic keywords, or a combination of static and dynamic keywords. The user 82 further interacts with the peer node 74 to generate a guest list and to assign permissions to each guest in the guest list based on the keywords used to tag the photo albums or digital images. More specifically, for each guest, permissions may be assigned for each of a number of functions such as viewing, printing, copying, and e-mailing by selecting one or more keywords for the guest such that the guest is permitted to perform the function on the photo albums or digital images tagged with the selected keywords. Alternatively, for each guest, a keyword equation may be defined for each of a number of functions such as viewing, printing, copying, and e-mailing, wherein the guest is permitted to perform the function on the photo albums or digital images satisfying the keyword equation. [0051] The user 82 at the peer node 74 may then invite the user 86 at the guest node 80 to view the photo albums stored in the media database 94 by, for example, sending an e-mail invitation including a unique web link that links to the peer node 74. In addition, the e-mail invitation may include a usemame and/or password for the user 86. Based on information passed in the unique web link or the usemame and/or password, the peer software 90 may determine the permissions assigned to the user 86 and identify the photo albums or digital images that the user 86 is permitted to view based on the permissions. The e-mail invitation may be sent directly from the peer node 74 to the guest node 80 via the network 88. Alternatively, the peer node 74 may provide the guest list to the central node 78, wherein the central node 78 generates and sends the e-mail invitation.
[0052] When the user 86 at the guest node 80 desires to view the photo albums residing at the peer node 74 that he is permitted to view, the user 86 may activate that web link in the e-mail invitation. In response, the web
browser 102 generates a Hypertext Transfer Protocol (HTTP) request and provides the HTTP request to the proxy 98 over the network 88. It should be noted that the HTTP request is exemplary and that the request from the guest node 80 may be implemented in any protocol desired for communication between the central node 78 and the guest node 80. The proxy 98 translates the HTTP request into a request message including one or more request packets. Using the socket connection table 100, the proxy 98 identifies the socket connection that connects the peer node 74 to the proxy 98. The proxy 98 then sends the request message to the peer node 74 via the socket connection.
[0053] In response to receiving the request message from the proxy 98, the peer node 74, and specifically the peer software 90, converts the request message into an HTTP request and provides the HTTP request to the web server 92. In one embodiment, the peer software 90 determines the permissions of the user 86 based on information passed in the HTTP request from the guest node 80, where the information may be embedded in the URL of the unique web link in the e-mail invitation. Based on the permissions assigned to the user 86, the peer software 90 may identify the photo albums or digital images that the user 86 is permitted to view and generate the HTTP request for the photo albums or digital images that the user 86 is permitted to view. In response to the HTTP request, the web server 92 generates an HTTP response including a webpage with the photo albums or digital images that the user 86 is permitted to view. The peer software 90 converts the HTTP response into a response message including one or more response packets and sends the response message to the proxy 98 via the socket connection. The proxy 98 then converts the response message from the peer node 74 into an HTTP response and sends the HTTP response to the web browser 102 at the guest node 80. Upon receiving the HTTP response, the web browser 102 displays the webpage corresponding to the photo albums or digital images that the user 86 is permitted to view.
[0054] If a username and/or password are required, the peer software 90 and the web server 92 may operate to provide a log-in webpage in response to the initial request from the guest node 80. Upon receiving the username and/or password from the user 86, the peer software 90 may determine the
permissions assigned to the user 86, identify the photo albums or digital images that the user 86 is permitted to view, and provide an HTTP request for the photo albums or digital images that the user 86 is permitted to view to the web server 92. In response, the web server 92 provides an HTTP response including the photo albums or digital images that the user 86 is permitted to view. The HTTP response is provided to the guest node via the peer software 90 and the proxy 98, as described above.
[0055] While the P2P photosharing system 72 of Figure 7 maintains the permissions database 96 at the peer node 74, the central node 78 may alternatively maintain a permissions database for each of the peer nodes 74 and 76 in the P2P photosharing system 72. In this alternative embodiment, the peer nodes 74 and 76 may provide the guest lists and the permissions for the guests in the guest lists to the central node 78 where they are stored. When a request from the guest node 80 is received at the central node 78, the central node 78 may determine the permissions of the user 86 and send a request to the peer node 74 for the photo albums or digital images that the user 86 is permitted to view. For example, the request may include the permissions assigned to the user 86. Upon receiving the request, the peer node 74 identifies the photo albums and digital images that the user 86 is permitted to view and provides the identified photo albums and digital images to the central node 78.
[0056] Figure 8 is a block diagram of an exemplary embodiment of the owner node 14 of Figure 1. This discussion of the owner node 14 is equally applicable to the guest node 16 of Figure 1. The owner node 14 may generally include a control system 104 having associated memory 106. The memory 106 may store the web browser 30. The owner node 14 also includes a communication interface 108 for communicating with other network entities via the network 22. The communication interface 108 may also include an interface to various external devices such as a printer. The owner node 14 also includes a user interface 110, which may include a keypad, mouse, display, and the like (not shown).
[0057] Figure 9 is a block diagram of an exemplary embodiment of the central node 12, which may include a control system 112 having associated memory 114. The memory 114 may store the web server 24, the media
database 26, and the permissions database 28. In this example, the web server 24 is implemented in software. However, the web server 24 be implemented in hardware and/or software. In addition, while the media database 26 and the permissions database 28 are illustrated as being stored in the memory 114, they may alternatively be stored in a storage device such as a hard disc drive. The central node 12 also includes a communication interface 116 for communicating with other network entities via the network 22. The communication interface 116 may also include an interface to various external devices such as a printer. The central node 12 may also include a user interface 118, which may include a keypad, mouse, display, and the like (not shown).
[0058] Figure 10 is a block diagram of an exemplary embodiment of the peer node 74, which may include a control system 120 having associated memory 122. The memory 122 may store the peer software 90, the web server 92, the media database 94, and the permissions database 96. In this example, the web server 92 is implemented in software. However, the web server 92 be implemented in hardware and/or software. In addition, while the media database 94 and the permissions database 96 are illustrated as being stored in the memory 122, they may alternatively be stored in a storage device such as a hard disc drive. The peer node 74 also includes a communication interface 124 for communicating with other network entities via the network 88. The communication interface 124 may also include an interface to various external devices such as a printer. The peer node 74 also includes a user interface 126, which may include a keypad, mouse, display, and the like (not shown).
[0059] Figure 11 is a block diagram of an exemplary embodiment of the central node 78, which may include a control system 128 having associated memory 130. The memory 130 may store the proxy 98 and the socket connection table 100. In this example, the proxy 98 is implemented in software. However, the proxy 98 may be implemented in hardware and/or software. In addition, while the socket connection table 100 is illustrated as being stored in the memory 130, it may alternatively be stored in a storage device such as a hard disc drive. The central node 78 also includes a communication interface 132 for communicating with other network entities
via the network 88. The communication interface 132 may also include an interface to various external devices such as a printer. The central node 78 may also include a user interface 134, which may include a keypad, mouse, display, and the like (not shown).
[0060] Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present invention. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.
Claims
1. A method for controlling access to digital assets in an online media sharing system comprising: tagging each of a plurality of digital assets with at least one of a plurality of keywords; defining a guest list including a plurality of guests; and for each of the plurality of guests, assigning permissions defining ones of the plurality of digital assets that the guest is permitted to view based on the plurality of keywords.
2. The method of claim 1 wherein the plurality of digital assets comprises a plurality of photo albums each comprising a plurality of digital images.
3. The method of claim 2 wherein tagging each of the plurality of digital assets comprises tagging each of the plurality of photo albums with at least one of the plurality of keywords.
4. The method of claim 2 wherein tagging each of the plurality of digital assets comprises tagging each of the plurality of digital images within each of the plurality of photo albums with at least one of the plurality of keywords.
5. The method of claim 1 wherein the plurality of digital assets comprises a plurality of digital images.
6. The method of claim 1 wherein the plurality of digital assets comprises at least one of a group consisting of: a plurality of photo albums each comprising a plurality of digital images, a plurality of digital images, and a plurality of digital videos.
7. The method of claim 1 wherein for each of the plurality of guests, assigning the permissions comprises selecting at least one select keyword from the plurality of keywords such that the ones of the plurality of digital assets that the guest is permitted to view are ones of the plurality of digital assets tagged with the at least one select keyword.
8. The method of claim 1 wherein for each of the plurality of guests, assigning the permissions comprises defining a keyword equation such that the ones of the plurality of digital assets that the guest is permitted to view are ones of the plurality of digital assets tagged with keywords satisfying the keyword equation.
9. The method of claim 1 wherein the plurality of keywords comprises at least one dynamic keyword.
10. The method of claim 1 further comprising: receiving a request from one of the plurality of guests at a guest node; and providing the ones of the plurality of digital assets that the one of the plurality of guests is permitted to view to the guest node.
11. The method of claim 10 wherein the plurality of keywords comprises at least one dynamic keyword and the permissions for the one of the plurality of guests is defined, at least in part, based on one of the at least one dynamic keyword, wherein providing the ones of the plurality of digital assets that the one of the plurality of guests is permitted to view comprises invoking a software process associated with one of the at least one dynamic keyword to determine a state of the one of the at least one dynamic keyword.
12. A node for an online media sharing system comprising: a) a communication interface coupling the node to a network; and b) a control system associated with the communication interface and adapted to: i) store a plurality of digital assets associated with an owner in a media database, each of the plurality of digital assets tagged with at least one of a plurality of keywords; ii) obtain a guest list including a plurality of guests from the owner; iii) for each of the plurality of guests, obtain permissions from the owner defining ones of the plurality of digital assets that the guest is permitted to view based on the plurality of keywords; and iv) store the permissions for the plurality of guests in a permissions database.
13. The node of claim 12 wherein the plurality of digital assets comprises a plurality of photo albums each comprising a plurality of digital images.
14. The node of claim 13 wherein each of the plurality of photo albums are tagged with the at least one of the plurality of keywords.
15. The node of claim 13 wherein, for each of the plurality of photo albums, the plurality of digital images within the photo album are tagged with the at least one of the plurality of keywords.
16. The node of claim 12 wherein the plurality of digital assets comprises a plurality of digital images.
17. The node of claim 12 wherein the plurality of digital assets comprises at least one of a group consisting of: a plurality of photo albums each comprising a plurality of digital images, a plurality of digital images, and a plurality of digital videos.
18. The node of claim 12 wherein for each of the plurality of guests, the permissions are obtained by identifying at least one select keyword from the plurality of keywords for the guest such that the ones of the plurality of digital assets that the guest is permitted to view are ones of the plurality of digital assets tagged with the at least one select keyword.
19. The node of claim 12 wherein for each of the plurality of guests, the permissions comprise a keyword equation and the ones of the plurality of digital assets that the guest is permitted to view are ones of the plurality of digital assets tagged with keywords satisfying the keyword equation.
20. The node of claim 12 wherein the plurality of keywords comprise at least one dynamic keyword.
21. The node of claim 12 wherein the control system is further adapted to: receive a request from one of the plurality of guests associated with a guest node; and provide the ones of the plurality of digital assets that the one of the plurality of guests is permitted to view to the guest node.
22. The node of claim 21 wherein the plurality of keywords comprises at least one dynamic keyword and if the permissions for the one of the plurality of guests is defined, at least in part, based on one of the at least one dynamic keyword, the control system is further adapted to identify the ones of the plurality of digital assets that the one of the plurality of guests is permitted to view based on, at least in part, invoking a software process associated with the one of the at least one dynamic keyword to determine a state of the one of the at least one dynamic keyword.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/282,431 US9141825B2 (en) | 2005-11-18 | 2005-11-18 | System and method for controlling access to assets in a network-based media sharing system using tagging |
US11/282,431 | 2005-11-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2007062289A2 true WO2007062289A2 (en) | 2007-05-31 |
WO2007062289A3 WO2007062289A3 (en) | 2008-04-17 |
Family
ID=38054709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2006/060759 WO2007062289A2 (en) | 2005-11-18 | 2006-11-10 | System and method for controlling access to assets in a network-based media sharing system using tagging |
Country Status (2)
Country | Link |
---|---|
US (1) | US9141825B2 (en) |
WO (1) | WO2007062289A2 (en) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7822746B2 (en) * | 2005-11-18 | 2010-10-26 | Qurio Holdings, Inc. | System and method for tagging images based on positional information |
US7945653B2 (en) * | 2006-10-11 | 2011-05-17 | Facebook, Inc. | Tagging digital media |
US9459622B2 (en) | 2007-01-12 | 2016-10-04 | Legalforce, Inc. | Driverless vehicle commerce network and community |
US9098545B2 (en) | 2007-07-10 | 2015-08-04 | Raj Abhyanker | Hot news neighborhood banter in a geo-spatial social network |
US9037516B2 (en) | 2006-03-17 | 2015-05-19 | Fatdoor, Inc. | Direct mailing in a geo-spatial environment |
US9070101B2 (en) | 2007-01-12 | 2015-06-30 | Fatdoor, Inc. | Peer-to-peer neighborhood delivery multi-copter and method |
US9373149B2 (en) | 2006-03-17 | 2016-06-21 | Fatdoor, Inc. | Autonomous neighborhood vehicle commerce network and community |
US8965409B2 (en) | 2006-03-17 | 2015-02-24 | Fatdoor, Inc. | User-generated community publication in an online neighborhood social network |
US9002754B2 (en) | 2006-03-17 | 2015-04-07 | Fatdoor, Inc. | Campaign in a geo-spatial environment |
US9071367B2 (en) | 2006-03-17 | 2015-06-30 | Fatdoor, Inc. | Emergency including crime broadcast in a neighborhood social network |
US9064288B2 (en) | 2006-03-17 | 2015-06-23 | Fatdoor, Inc. | Government structures and neighborhood leads in a geo-spatial environment |
US8793579B2 (en) | 2006-04-20 | 2014-07-29 | Google Inc. | Graphical user interfaces for supporting collaborative generation of life stories |
US20080034374A1 (en) * | 2006-08-04 | 2008-02-07 | Nokia Corporation | Name tagging of music files |
US8190724B2 (en) | 2006-10-13 | 2012-05-29 | Yahoo! Inc. | Systems and methods for establishing or maintaining a personalized trusted social network |
US8407307B1 (en) * | 2006-11-10 | 2013-03-26 | Flightview, Inc. | Flight information sending system and method |
US20080313287A1 (en) * | 2007-06-15 | 2008-12-18 | Microsoft Corporation | E-mail publishing of photos to photo albums |
US20090049413A1 (en) * | 2007-08-16 | 2009-02-19 | Nokia Corporation | Apparatus and Method for Tagging Items |
CA2711143C (en) * | 2007-12-31 | 2015-12-08 | Ray Ganong | Method, system, and computer program for identification and sharing of digital images with face signatures |
US8577894B2 (en) * | 2008-01-25 | 2013-11-05 | Chacha Search, Inc | Method and system for access to restricted resources |
US8289688B2 (en) | 2008-04-01 | 2012-10-16 | Litl, Llc | Portable computer with multiple display configurations |
US9003315B2 (en) | 2008-04-01 | 2015-04-07 | Litl Llc | System and method for streamlining user interaction with electronic content |
US8612888B2 (en) | 2008-04-01 | 2013-12-17 | Litl, Llc | Method and apparatus for managing digital media content |
US8745502B2 (en) * | 2008-05-28 | 2014-06-03 | Snibbe Interactive, Inc. | System and method for interfacing interactive systems with social networks and media playback devices |
WO2010028169A2 (en) * | 2008-09-05 | 2010-03-11 | Fotonauts, Inc. | Reverse tagging of images in system for managing and sharing digital images |
JP2010097539A (en) * | 2008-10-20 | 2010-04-30 | Oki Data Corp | Image processing apparatus |
US9727312B1 (en) | 2009-02-17 | 2017-08-08 | Ikorongo Technology, LLC | Providing subject information regarding upcoming images on a display |
US10706601B2 (en) | 2009-02-17 | 2020-07-07 | Ikorongo Technology, LLC | Interface for receiving subject affinity information |
US9210313B1 (en) | 2009-02-17 | 2015-12-08 | Ikorongo Technology, LLC | Display device content selection through viewer identification and affinity prediction |
US8630494B1 (en) | 2010-09-01 | 2014-01-14 | Ikorongo Technology, LLC | Method and system for sharing image content based on collection proximity |
US11265510B2 (en) | 2010-10-22 | 2022-03-01 | Litl Llc | Video integration |
US8688514B1 (en) * | 2011-06-24 | 2014-04-01 | Google Inc. | Ad selection using image data |
KR101552194B1 (en) * | 2011-07-20 | 2015-09-11 | 네이버 주식회사 | System and method for managing and sharing image with album unit |
US9195679B1 (en) | 2011-08-11 | 2015-11-24 | Ikorongo Technology, LLC | Method and system for the contextual display of image tags in a social network |
FR2998995A1 (en) * | 2012-12-03 | 2014-06-06 | France Telecom | METHOD OF COMMUNICATION BETWEEN MULTIPLE USERS WITH COMMUNICATION TERMINALS THROUGH A VIRTUAL COMMUNICATION SPACE |
JP6124575B2 (en) * | 2012-12-07 | 2017-05-10 | 東日本メディコム株式会社 | Terminal and program |
EP2802118B1 (en) * | 2012-12-07 | 2021-02-03 | Duvon Corporation | File sharing system and method |
US20140280561A1 (en) * | 2013-03-15 | 2014-09-18 | Fujifilm North America Corporation | System and method of distributed event based digital image collection, organization and sharing |
US9439367B2 (en) | 2014-02-07 | 2016-09-13 | Arthi Abhyanker | Network enabled gardening with a remotely controllable positioning extension |
US9457901B2 (en) | 2014-04-22 | 2016-10-04 | Fatdoor, Inc. | Quadcopter with a printable payload extension system and method |
US9004396B1 (en) | 2014-04-24 | 2015-04-14 | Fatdoor, Inc. | Skyteboard quadcopter and method |
US9022324B1 (en) | 2014-05-05 | 2015-05-05 | Fatdoor, Inc. | Coordination of aerial vehicles through a central server |
US9971985B2 (en) | 2014-06-20 | 2018-05-15 | Raj Abhyanker | Train based community |
US9441981B2 (en) | 2014-06-20 | 2016-09-13 | Fatdoor, Inc. | Variable bus stops across a bus route in a regional transportation network |
US9451020B2 (en) | 2014-07-18 | 2016-09-20 | Legalforce, Inc. | Distributed communication of independent autonomous vehicles to provide redundancy and performance |
US9558553B2 (en) | 2014-11-17 | 2017-01-31 | Ricoh Company, Ltd. | Image acquisition and management using a reference image |
US20160232369A1 (en) * | 2015-02-11 | 2016-08-11 | Ricoh Company, Ltd. | Managing Access To Images Using Roles |
US9872061B2 (en) | 2015-06-20 | 2018-01-16 | Ikorongo Technology, LLC | System and device for interacting with a remote presentation |
US10515111B2 (en) | 2016-01-19 | 2019-12-24 | Regwez, Inc. | Object stamping user interface |
US11070501B2 (en) * | 2017-01-31 | 2021-07-20 | Verizon Media Inc. | Computerized system and method for automatically determining and providing digital content within an electronic communication system |
US10345818B2 (en) | 2017-05-12 | 2019-07-09 | Autonomy Squared Llc | Robot transport method with transportation container |
US10387487B1 (en) | 2018-01-25 | 2019-08-20 | Ikorongo Technology, LLC | Determining images of interest based on a geographical location |
US11645405B2 (en) | 2020-09-30 | 2023-05-09 | Duvon Corporation | Secure fetch of digital content |
US20230019921A1 (en) * | 2021-07-14 | 2023-01-19 | Bank Of America Corporation | System and method for facilitating creation, verification, and management of digital resources |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040107125A1 (en) * | 1999-05-27 | 2004-06-03 | Accenture Llp | Business alliance identification in a web architecture |
Family Cites Families (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6947959B1 (en) | 1992-10-01 | 2005-09-20 | Quark, Inc. | Digital media asset management system and process |
US6016478A (en) | 1996-08-13 | 2000-01-18 | Starfish Software, Inc. | Scheduling system with methods for peer-to-peer scheduling of remote users |
US5760917A (en) | 1996-09-16 | 1998-06-02 | Eastman Kodak Company | Image distribution method and system |
US6314408B1 (en) | 1997-07-15 | 2001-11-06 | Eroom Technology, Inc. | Method and apparatus for controlling access to a product |
US6301586B1 (en) | 1997-10-06 | 2001-10-09 | Canon Kabushiki Kaisha | System for managing multimedia objects |
JPH11203359A (en) | 1998-01-14 | 1999-07-30 | Fuji Photo Film Co Ltd | Network photo service system |
US6574629B1 (en) | 1998-12-23 | 2003-06-03 | Agfa Corporation | Picture archiving and communication system |
US6711585B1 (en) | 1999-06-15 | 2004-03-23 | Kanisa Inc. | System and method for implementing a knowledge management system |
US6675205B2 (en) | 1999-10-14 | 2004-01-06 | Arcessa, Inc. | Peer-to-peer automated anonymous asynchronous file sharing |
US6947953B2 (en) * | 1999-11-05 | 2005-09-20 | The Board Of Trustees Of The Leland Stanford Junior University | Internet-linked system for directory protocol based data storage, retrieval and analysis |
US6583799B1 (en) | 1999-11-24 | 2003-06-24 | Shutterfly, Inc. | Image uploading |
US7362963B2 (en) * | 1999-12-14 | 2008-04-22 | Thomson Licensing | Multimedia photo albums |
US20020087546A1 (en) | 2000-01-31 | 2002-07-04 | Michael Slater | Apparatus, methods, and systems for digital photo management |
US6976090B2 (en) | 2000-04-20 | 2005-12-13 | Actona Technologies Ltd. | Differentiated content and application delivery via internet |
US6671424B1 (en) | 2000-07-25 | 2003-12-30 | Chipworks | Predictive image caching algorithm |
US6636259B1 (en) | 2000-07-26 | 2003-10-21 | Ipac Acquisition Subsidiary I, Llc | Automatically configuring a web-enabled digital camera to access the internet |
AU2001283372A1 (en) | 2000-09-01 | 2002-03-22 | Search123.Com, Inc. | Auction-based search engine |
US6904160B2 (en) | 2000-10-18 | 2005-06-07 | Red Hen Systems, Inc. | Method for matching geographic information with recorded images |
US6629104B1 (en) | 2000-11-22 | 2003-09-30 | Eastman Kodak Company | Method for adding personalized metadata to a collection of digital images |
US6871231B2 (en) | 2001-01-03 | 2005-03-22 | Ipac Acquisition Subsidiary I, Llc | Role-based access to image metadata |
US6839721B2 (en) | 2001-01-12 | 2005-01-04 | Hewlett-Packard Development Company, L.P. | Integration of a database into file management software for protecting, tracking, and retrieving data |
US20030172297A1 (en) | 2002-03-05 | 2003-09-11 | Gunter Carl A. | Method and system for maintaining secure access to web server services using public keys |
US6804684B2 (en) | 2001-05-07 | 2004-10-12 | Eastman Kodak Company | Method for associating semantic information with multiple images in an image database environment |
WO2002102072A1 (en) | 2001-06-06 | 2002-12-19 | Nikon Corporation | Electronic imaging apparatus and electronic imaging system |
US6976028B2 (en) | 2001-06-15 | 2005-12-13 | Sony Corporation | Media content creating and publishing system and process |
US7565441B2 (en) | 2001-07-23 | 2009-07-21 | Romanik Philip B | Image transfer and archival system |
US7444354B2 (en) | 2001-09-14 | 2008-10-28 | Fujifilm Corporation | Method and apparatus for storing images, method and apparatus for instructing image filing, image storing system, method and apparatus for image evaluation, and programs therefor |
US6629100B2 (en) | 2001-10-01 | 2003-09-30 | Ipac Acquisition Subsidiary I, Llc | Network-based photosharing architecture for search and delivery of private images and metadata |
US6757684B2 (en) | 2001-10-01 | 2004-06-29 | Ipac Acquisition Subsidiary I, Llc | Network-based photosharing architecture |
US7068309B2 (en) * | 2001-10-09 | 2006-06-27 | Microsoft Corp. | Image exchange with image annotation |
US8909729B2 (en) | 2001-11-20 | 2014-12-09 | Portulim Foundation Llc | System and method for sharing digital media content |
US20030131002A1 (en) | 2002-01-08 | 2003-07-10 | Gennetten K. Douglas | Method and apparatus for identifying a digital image and for accessing the digital image over a network |
US7263562B2 (en) | 2002-03-21 | 2007-08-28 | Microsoft Corporation | Method and system for describing uploaded files statement regarding federally-sponsored research or development |
US6857053B2 (en) | 2002-04-10 | 2005-02-15 | International Business Machines Corporation | Method, system, and program for backing up objects by creating groups of objects |
WO2004015628A2 (en) * | 2002-08-12 | 2004-02-19 | Walker Digital, Llc | Digital picture frame and method for editing related applications |
US7353282B2 (en) | 2002-11-25 | 2008-04-01 | Microsoft Corporation | Methods and systems for sharing a network resource with a user without current access |
US20040111415A1 (en) | 2002-12-04 | 2004-06-10 | Patricia Scardino | Automatic organization of images uploaded to a photo-sharing site |
US7970854B2 (en) | 2003-01-15 | 2011-06-28 | Qurio Holdings, Inc. | Method and system for requesting image prints in an online photosharing system |
US7117453B2 (en) | 2003-01-21 | 2006-10-03 | Microsoft Corporation | Media frame object visualization system |
US20040172451A1 (en) | 2003-02-27 | 2004-09-02 | Nigel Biggs | System and method for sharing digital images |
US20040201692A1 (en) | 2003-04-11 | 2004-10-14 | Parulski Kenneth A. | Classifying digital images as favorite images using a digital camera |
US20040230663A1 (en) | 2003-05-02 | 2004-11-18 | Icu Software, Inc. | Sharing photos electronically |
CA2525941C (en) | 2003-05-16 | 2015-01-13 | Picasa, Inc. | Methods and systems for image sharing over a network |
US7289983B2 (en) | 2003-06-19 | 2007-10-30 | International Business Machines Corporation | Personalized indexing and searching for information in a distributed data processing system |
FR2857763A1 (en) | 2003-07-18 | 2005-01-21 | Canon Kk | METHOD OF ACCESSING AND SHARING A DIGITAL DOCUMENT IN A P2P COMMUNICATION NETWORK |
US20050015389A1 (en) | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Intelligent metadata attribute resolution |
JP4404246B2 (en) | 2003-09-12 | 2010-01-27 | 株式会社日立製作所 | Backup system and method based on data characteristics |
US20050060299A1 (en) | 2003-09-17 | 2005-03-17 | George Filley | Location-referenced photograph repository |
US7734700B2 (en) | 2003-10-10 | 2010-06-08 | Eastman Kodak Company | System and method for notification of digital images to be shared via a service provider |
US7567987B2 (en) | 2003-10-24 | 2009-07-28 | Microsoft Corporation | File sharing in P2P group shared spaces |
US7224777B1 (en) * | 2003-12-03 | 2007-05-29 | Union Beach, L.P. | Time-controlled messaging system |
US7529723B2 (en) | 2003-12-15 | 2009-05-05 | Xerox Corporation | Multi-tiered structure for file sharing based on social roles |
US20050229243A1 (en) | 2004-03-31 | 2005-10-13 | Svendsen Hugh B | Method and system for providing Web browsing through a firewall in a peer to peer network |
WO2005111760A1 (en) * | 2004-05-17 | 2005-11-24 | Koninklijke Philips Electronics N.V. | Processing rights in drm systems |
US7831561B2 (en) | 2004-05-18 | 2010-11-09 | Oracle International Corporation | Automated disk-oriented backups |
WO2006059251A2 (en) | 2004-08-19 | 2006-06-08 | Copernic Technologies, Inc. | Electronic mail indexing systems and methods |
US7734601B2 (en) * | 2005-02-09 | 2010-06-08 | Sap Ag | Integration of digital asset management with intellectual property management |
US7930629B2 (en) | 2005-07-14 | 2011-04-19 | Microsoft Corporation | Consolidating local and remote taxonomies |
US20070073694A1 (en) * | 2005-09-26 | 2007-03-29 | Jerome Picault | Method and apparatus of determining access rights to content items |
-
2005
- 2005-11-18 US US11/282,431 patent/US9141825B2/en not_active Expired - Fee Related
-
2006
- 2006-11-10 WO PCT/US2006/060759 patent/WO2007062289A2/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040107125A1 (en) * | 1999-05-27 | 2004-06-03 | Accenture Llp | Business alliance identification in a web architecture |
Also Published As
Publication number | Publication date |
---|---|
US9141825B2 (en) | 2015-09-22 |
US20070118525A1 (en) | 2007-05-24 |
WO2007062289A3 (en) | 2008-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9141825B2 (en) | System and method for controlling access to assets in a network-based media sharing system using tagging | |
US7774431B2 (en) | Real time collaborative on-line multimedia albums | |
JP4174538B2 (en) | Method and system for image print request in online photo sharing system | |
US7373173B2 (en) | Sharing image items | |
US7734589B1 (en) | System and method for optimizing data uploading in a network based media sharing system | |
US7730130B2 (en) | Automatic creation of bidirectional online album links in a peer-to-peer photo sharing network | |
CN101689210B (en) | Aggregating and searching profile data from multiple services | |
KR101294582B1 (en) | Sharing of media using contact data | |
TWI412261B (en) | Access rights | |
US20070271234A1 (en) | Information Exchange Among Members of a Group of Communication Device Users | |
US20070156434A1 (en) | Synchronizing image data among applications and devices | |
JP2007502092A (en) | Method and system for image sharing over a network | |
EP1969827A2 (en) | System and method for managing captured content | |
CN103312757A (en) | Picture sharing method and system | |
US20080294548A1 (en) | Fee-Based Distribution of Media Based on Device Proximity | |
JP2004206595A (en) | Data storage system, data management method, data storage service device, and data transfer method | |
EP2211529B1 (en) | Method for sharing file between control point and media server in a DLNA system, and system thereof | |
JP2011509544A (en) | A pseudo real-time indexing method for digital media files | |
JP4585801B2 (en) | Advertisement information registration method and advertisement display system | |
US9699192B2 (en) | True-ownership of shared data | |
US10285004B2 (en) | Geofenced universal URL for shared media | |
KR20020041357A (en) | Method for servicing community and computer-readable recording medium on which a program relating thereto is recorded | |
US7797399B1 (en) | Method and system for allowing distributed importing of guest images in a peer-based photosharing network | |
JP2006048543A (en) | Method and system for generating customization information by context, and program and recording medium | |
JP4950319B2 (en) | Information registration method, information management apparatus, and advertisement display system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
NENP | Non-entry into the national phase in: |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 06839814 Country of ref document: EP Kind code of ref document: A2 |