Nothing Special   »   [go: up one dir, main page]

US20150379007A1 - Systems, Methods, and Media for Providing a Digital Photo Archive - Google Patents

Systems, Methods, and Media for Providing a Digital Photo Archive Download PDF

Info

Publication number
US20150379007A1
US20150379007A1 US14/846,031 US201514846031A US2015379007A1 US 20150379007 A1 US20150379007 A1 US 20150379007A1 US 201514846031 A US201514846031 A US 201514846031A US 2015379007 A1 US2015379007 A1 US 2015379007A1
Authority
US
United States
Prior art keywords
photos
archive
photo
information
source
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/846,031
Inventor
Sean T. Conrad
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US14/846,031 priority Critical patent/US20150379007A1/en
Publication of US20150379007A1 publication Critical patent/US20150379007A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • G06F17/3028

Definitions

  • the invention relates to an automated archival service for storing digital files of photos and information related to those photos over a network.
  • photos may include or refer alternatively to videos and information related to those videos.
  • the invention relates to systems and methods of updating an archive with additional photos and/or related information.
  • This information may include, for example, where and when a photo was taken, who is in the photo, comments from loved ones, other related photos, various edits to the photo, designated album, and so on. This is analogous to what a person may do when organizing hardcopy photos. For example, after having a roll of film developed and receiving a packet of photos, a person may take the time to choose the photos most meaningful to them (e.g., photos that capture an important memory). They may then write on the back of the photo the date it was taken and who is in the photo. The photo may then be placed in an album for the coffee table.
  • This related information is usually very important and often grows in value as time goes on. People who tragically lose their home and possessions to, for example, a fire, often say the family photographs are one of the few things that cannot be replaced.
  • systems, methods, and media for providing a digital photo archive comprising: at least one hardware processor that: collects a plurality of photos from a plurality of sources; collects a plurality of pieces of information from the plurality of sources; determines whether one of the plurality of photos is presently stored in the archive; stores the one of the plurality of photos in the archive only if the one of the plurality of photos has been determined to not be presently stored in the archive; and indicates to a user that the one of the plurality of photos is a duplicate photo if it is determined that the one of the plurality of photos has been determined to be presently stored in the archive.
  • methods for providing a digital photo archive comprising: collecting a plurality of photos from a plurality of sources; collecting a plurality of pieces of information from the plurality of sources; determining whether one of the plurality of photos is presently stored in the archive; storing the one of the plurality of photos in the archive only if the one of the plurality of photos has been determined to not be presently stored in the archive; and indicating to a user that the one of the plurality of photos is a duplicate photo if it is determined that the one of the plurality of photos has been determined to be presently stored in the archive.
  • non-transitory computer-readable medium containing computer-executable instructions that, when executed by a processor, cause the processor to perform a method for providing a digital photo archive
  • the method comprising: collecting a plurality of photos from a plurality of sources; collecting a plurality of pieces of information from the plurality of sources; determining whether one of the plurality of photos is presently stored in the archive; storing the one of the plurality of photos in the archive only if the one of the plurality of photos has been determined to not be presently stored in the archive; and indicating to a user that the one of the plurality of photos is a duplicate photo if it is determined that the one of the plurality of photos has been determined to be presently stored in the archive.
  • FIG. 1 is a block diagram illustrating generally a networked archival system in accordance with some embodiments of the invention
  • FIG. 2 is another block diagram illustrating an embodiment of an archival system according to some embodiments of the invention.
  • FIG. 3 is flowchart illustrating an example process of an embodiment of a source importer according to some embodiment of the invention
  • FIG. 4 illustrates an embodiment of an XML structure showing the format and types of information that may be contained in a file-and-information package according to some embodiments of the invention
  • FIG. 5 is a flowchart illustrating an example process of an embodiment of an archive receiving component according to some embodiments of the invention.
  • FIG. 6 is a flowchart illustrating an example process of an embodiment of a mechanism for archiving photos and information from a social or image networking service in accordance with some embodiments of the invention.
  • an archival service includes a central archive for a customer's photos and information related to the photos.
  • the word “photos” may include, or alternatively refer to, videos and information related to the videos.
  • the archival service can identify whether a photo is a new submission or a copy of a photo already in the archive. If the photo is a copy, no new record is created in the archive (i.e., a duplicate photo is not stored in the archive).
  • Related information from multiple sources for each photo can be collected, stored, and associated with a single record in the archive.
  • Photos can be collected from multiple sources, and can be copied back for subsequent viewing or storage to the same sources or other destinations, such as, for example, social networks, photo sharing services, a customer's computer, and/or any other suitable device.
  • the entire archive also can be advantageously exported to other archiving services or digital media storage devices, such as, for example, DVD-ROM, for long term preservation.
  • FIG. 1 is a general overview of a networked archival system 100 in accordance with some embodiments of the invention.
  • System 100 includes a plurality of file sources 101 coupled to a network 102 , which may be the Internet, an intranet, any other suitable network, or a combination of such networks.
  • System 100 also includes an archive system 103 coupled to network 102 .
  • File sources 101 may be a computer, smart phone, camera, or other device capable of taking and/or storing photos and of coupling to network 102 .
  • File sources 101 may also be capable of creating and/or storing information related to the photos taken or stored thereon.
  • file sources 101 , network 102 , and archive system 103 may be wired or wireless, and that there may be other devices coupled between file sources 101 and network 102 and between network 102 and archive system 103 .
  • the number of file sources 101 may be more or less than that shown.
  • FIG. 2 illustrates a more detailed embodiment of the invention.
  • Photos and their related information may be collected from any one or all of a plurality of sources 201 , such as a home computer 202 , mobile phone 203 , work computer 204 , and/or online photo sharing service or social network 205 .
  • sources 201 can be more or less than that shown in FIG. 2 .
  • Photos and their related information can be transferred from sources 201 via software referred to herein as a “source importer.”
  • An instance of a source importer can be allocated for each source 201 (e.g., source importers 206 , 207 , 208 , and 209 ).
  • Each instance of source importer software can run at the source or as an agent running as part of the service that fetches the photos to be archived.
  • the former may be referred to as a “push source importer” and the latter may be referred to as a “pull source importer.”
  • Source importers can transfer photos and related information from sources 201 to archive system 210 , which includes archive receiving component 211 , archive database 212 , and archive publishing component 213 .
  • archive system 210 which includes archive receiving component 211 , archive database 212 , and archive publishing component 213 .
  • Note that between each source 201 and respective source importer and/or between each source importer and archive system 210 can be an authentication layer (not shown) to ensure that each user/customer is appropriately identified, given the appropriate access, and the like.
  • a “network cloud” is not shown in FIG. 2 for clarity purposes, and one or more networks may be used to connect between any one source 201 and a source importer, between any one source importer and archive system
  • FIG. 3 illustrates an example of a process 300 that can be used for a source importer in accordance with some embodiments of the invention.
  • source importers such as, e.g., source importers 206 , 207 , 208 , and 209
  • the source importers can be configured to send every photo and/or piece of related information designated by a user to the archive system (which can then determine whether any of the received items are duplicates).
  • process 300 can identify whether the photo is new at 301 . If the photo is determined to be new, process 300 can package the photo and its related information into a larger file referred to herein as a file-and-information package (“FIP”) at 302 .
  • the FIP may have a structured format, which may be in, for example, JSON (JavaScript Object Notation), XML (Extensible Markup Language), and/or any other suitable format.
  • Each piece of information may be added to the FIP as a data item (“DI”).
  • FIG. 4 shows an example of an FIP 400 in XML.
  • the FIP can then also be sent to the archive receiving component at 302 .
  • process 300 can determine if the FIP was successfully received, and, if so, the archive system can record the date and time of the successful archiving at 308 . If the FIP transfer was determined to not be successful at 303 , the transfer can automatically be attempted again a preset number of times at 305 .
  • process 300 can then determine if photo's binary contents have changed at 304 . If so, process 300 can branch to 302 to add the new binary to a FIP and transfer the FIP to the archive system.
  • identifying changes in the binary content may be accomplished by associating a hash with each photo and comparing the hashes of photos at a source importer with photos in the archive. If a photo's hash has changed, the photo's binary contents can be assumed to have changed.
  • the new FIP can include the hash of one or more related photos (such as the photo from which the current photo was derived).
  • the archive system can then associate the new photo with an existing archive database photo entry as a “child” thereof. Every binary version of a photo can be archived and the parent-child relationship recorded in some embodiments. Users/customers can then have a backup of original photos as well as archived edited versions of those photos.
  • process 300 can determine whether information for the photo is new or has been updated at 306 . If the information is new or updated, process 300 can create a FIP (e.g., as described in connection with step 302 ) and transfer that FIP to the archive system at 307 and then branch to 303 . Otherwise process 300 can set the archive for the photo to the current date and time at 308 .
  • FIP e.g., as described in connection with step 302
  • FIG. 5 illustrates an example of a process 500 that can be used for an archive receiving component 211 in accordance with some embodiments of the invention.
  • a photo and its information, or new information for one or more existing photos are packaged into a FIP, they may be transferred across a network to archive system 210 and received by process 500 at 501 .
  • Process 500 can then search archive database 212 for preexisting entries to determine whether the received photo is a new entry for the archive or a resubmission of an existing photo at 502 . In one embodiment, this identification may be accomplished by comparing a hash of the photo with a hash of every other photo in the archive.
  • process 500 can store the photo and each data item in the FIP into the archive at 503 and then end at 508 .
  • each data item can be associated with the photo in the archive database.
  • process 500 can determine if the data item has not been previously stored in the archive at 504 . If so, then process 500 can store the data item in the archive database and associate with the data item with the existing photo's archive database record at 506 and then end at 508 .
  • process 500 can determine at 505 if the data item contains updated information. If so, process 500 can then update the appropriate archive database data item record at 507 and then end at 508 .
  • process 500 can end at 508 .
  • Entries in the archive database can be associated with a unique identifier using any suitable method.
  • one or more records in the archive database can be associated with a respective user/customer.
  • photos and their data items can be viewed and exported by archive publishing component 213 .
  • archive publishing component 213 may reside on an archive system server that can be accessed through a client, such as may be provided on, for example, a tablet device.
  • archive publishing component 213 may be hosted on a Web site with an export feature that has access to archive database 212 to allow browsing of stored photos and data items.
  • the photos and data items can be exported individually, if desired, from archive system 210 .
  • the data items can be rendered in an XML file in some embodiments.
  • the photos can be exported as a set.
  • Archive publishing component 213 may combine all the photos and XML files for corresponding data item files into a compressed archive file, such as a ZIP file, in some embodiments.
  • a user may desire to archive photos stored on a personal computer.
  • the user may install a source importer (as described above) on the personal computer.
  • the source importer may be implemented as constantly running software that the user can identify via a system tray icon or in some other suitable manner supported by the computer's operating system.
  • the user may launch a configuration interface via, for example, a menu that may be made available by clicking the source importer icon.
  • the configuration interface may allow the user to indicate which photos on the personal computer are subject to archiving.
  • the interface may allow the user to indicate individual photos or trees of photo folders.
  • the source importer can scan all of the photos indicated for archiving in some embodiments.
  • the source importer can store information for each photo in the scan in a database or text file on the personal computer.
  • the information may include a file name, a byte size, a hash of the file, and/or any other suitable information.
  • the source importer can also store in the local database or text file the unique identifier of the archive database entry for that photo if the photo had been successfully archived before. Note that information stored locally can also ultimately be stored in the archive system of the invention. However, the local storage of this information can allow the source importer to make decisions on the personal computer without having to access the archive system. Note that some embodiments of the source importer may omit this feature, and instead may have to access the archive system to determine the archival status of photos indicated for archiving.
  • the source importer can prepare a FIP and transfers the FIP via, e.g., HTTP (Hypertext Transfer Protocol) or other suitable protocol to an archive receiving component (see 302 in FIG. 3 ). If the transfer fails, the source importer may retry a set number of times (see 305 of FIG. 3 ). Upon success, the source importer may record the successful archive date and time in both the local database and the entry in the archive database (see 308 in FIG. 3 ).
  • HTTP Hypertext Transfer Protocol
  • the source importer can store and determine whether a file has ever been archived. It can also store what the hash was at the time of the last archiving, allowing it to determine whether the binary contents of the file have changed (see 304 in FIG. 3 ).
  • FIG. 6 illustrates an example of a process 600 of an embodiment of a mechanism for archiving photos and information from a social or image networking service (referred to collectively hereinafter as a “social networking service” or “SNS”).
  • a user may install a source importer (SI) as a social networking application via the social networking service's API (Application Programming Interface).
  • the API may allow third-party software to operate in conjunction with the social networking software.
  • the source importer software may not actually be installed on any server or device controlled by the social networking service, but may instead be located on, for example, the user's computer, a thirdparty server or device, or the archival retrieval system of the invention.
  • the source importer software may be able to access the user's information and photos that are stored with the social networking service, along with the photos' comments, tags, and other related information.
  • the user may identify individual photos for archiving, complete albums, or indicate their entire collection.
  • the social networking service API may provide a method of accessing a list of all the user's photos.
  • the source importer can archive the user's photos and related information stored with the social networking service as described above in connection with FIG. 3 .
  • Some social networking service APIs may provide a method of labeling photos called “tagging.” In some of these cases, the source importer can label a photo with a unique tag once the photo has been successfully archived, at 603 . By looking for the presence of this tag, the source importer can determine if the photo has ever been archived (see 301 in FIG. 3 ). In some embodiments, social networking service APIs may also provide methods for accessing the related information of a photo, such as comments, tags, or placements in a collection called an album. In some embodiments, social networking service APIs may further provide a method to access a Universal Resource Locator (URL) for an original photo. The source importer can use these methods to create a FIP for the photo and transfer it to the archive receiving component of the archive system.
  • URL Universal Resource Locator
  • social networking services do not provide a method for altering the binary contents of a photo, so the photo's binary contents may not change (see 304 in FIG. 3 ). In these cases, the source importer can still check for new or updated information related to the photos (see 306 in FIG. 3 ).
  • Some social networking service APIs can provide a method of accessing the photo's last modification date and time. This date and time can be set to the current date and time if there has been any changes to the existing related information or if new related information has been created.
  • the source importer can tag the photo with a tag unique to the archive system at 603 . As mentioned above, this can be used to identify photos that have been archived.
  • the tag may also contain the name of the archive system and/or a unique identifier that matches the photo's record in the data item. The unique identifier may be an incrementing primary key from the data item.
  • An example of a unique identifier from the database may look like “1caab5c3b3.”
  • a hexadecimal number with ten digits such as this can be used to uniquely identify billions of photo records.
  • An example of a tag may be something like or similar to “SystemName—1caab5c3b3.”
  • the unique identifier in the data item can be matched to the photo's hash and the last successful archive date as stored in the archive system (see 306 of FIG. 3 ). If the photo's last modification date indicated by the social networking service API is after the last successful archive date of the photo, the source importer can create a FIP to submit the new or updated related information to the archive receiving component (see 307 ).
  • the actual photo file binary does not have to be transferred again to the archive (see 307 ).
  • the archive database can be configured to contain only one entry for every unique photo the user has uploaded to the social networking service. If the user has uploaded the same photo multiple times to the social networking service, the archive database may still contain only one entry and associate all the comments and other related information from the multiple social networking service photos to the one archive entry.
  • the source importer does not need to run on a schedule.
  • a social networking service API can provide a method for the source importer to be notified when the user has modified his or her “user” profile and the user's photos, such as when photos have been added or comments entered.
  • the archive system may “subscribe” to changes in the user's photos at 604 .
  • the social networking service can notify the archive system at 605 by accessing a URL of the archive system with the user's social networking service login identification, which can allow the archive system to activate that user's source importer for the social networking service.
  • the source importer can then scan the user's photos at 606 , as described above.
  • the source importer does not unnecessarily poll the user's information stored with the social networking service. In some embodiments, the source importer does not transfer the photo binary to the archive receiving component more than once. In some embodiments, duplicate photos stored with the social networking service can be combined into one record in the archive system with all the related information from all of the original duplicates. In some embodiments, newly added related information can be archived in a timely manner.
  • File source 101 , archive system 103 , sources of photos 201 , and archive system 210 can be implemented using any suitable hardware in some embodiments.
  • these components can be implemented using any suitable general purpose computer or special purpose computer.
  • Any such general purpose computer or special purpose computer can include any suitable hardware.
  • such hardware can include a hardware processor, memory and/or storage, etc.
  • Such a hardware processor can include any suitable hardware processor, such as a microprocessor, a micro-controller, digital signal processor, dedicated logic, and/or any other suitable circuitry for controlling the functioning of a general purpose computer or special purpose computer in some embodiments.
  • Such memory and/or storage can be any suitable memory and/or storage for storing programs, data, measurements, etc. in some embodiments.
  • the memory and/or storage can include random access memory, read only memory, flash memory, hard disk storage, optical media, etc.
  • any suitable computer readable media can be used for storing instructions for performing the functions and/or processes described herein.
  • computer readable media can be transitory or non-transitory.
  • non-transitory computer readable media can include media such as magnetic media (such as hard disks, floppy disks, etc.), optical media (such as compact discs, digital video discs, Blu-ray discs, etc.), semiconductor media (such as flash memory, electrically programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), etc.), any suitable media that is not fleeting or devoid of any semblance of permanence during transmission, and/or any suitable tangible media.
  • transitory computer readable media can include signals on networks, in wires, conductors, optical fibers, circuits, any suitable media that is fleeting and devoid of any semblance of permanence during transmission, and/or any suitable intangible media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Systems, methods, and media for providing a digital photo archive are provided. In some embodiments, systems for providing a digital photo archive are provided, the systems comprising: at least one hardware processor that: collects a plurality of photos from a plurality of sources; collects a plurality of pieces of information from the plurality of sources; determines whether one of the plurality of photos is presently stored in the archive; stores the one of the plurality of photos in the archive only if the one of the plurality of photos has been determined to not be presently stored in the archive; and indicates to a user that the one of the plurality of photos is a duplicate photo if it is determined that the one of the plurality of photos has been determined to be presently stored in the archive.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of U.S. patent application Ser. No. 13/681,846, filed Nov. 20, 2012, which claims the benefit of U.S. Provisional Patent Application No. 61/562,415, filed Nov. 21, 2011, each of which is hereby incorporated by reference herein in its entirety.
  • FIELD OF THE INVENTION
  • The invention relates to an automated archival service for storing digital files of photos and information related to those photos over a network. (As used herein, “photos” may include or refer alternatively to videos and information related to those videos.) More particularly, the invention relates to systems and methods of updating an archive with additional photos and/or related information.
  • BACKGROUND OF THE INVENTION
  • Large numbers of digital files of photos are being created and stored on many computers and devices (e.g., home computers, friends' computers, digital cameras, mobile phones, etc.) and with many online social or image networking services (e.g., MySpace®, Flickr®, and Facebook®). Not surprisingly, these photos are highly valued by those that created or received them.
  • Of equal value is the information related to the photos. This information may include, for example, where and when a photo was taken, who is in the photo, comments from loved ones, other related photos, various edits to the photo, designated album, and so on. This is analogous to what a person may do when organizing hardcopy photos. For example, after having a roll of film developed and receiving a packet of photos, a person may take the time to choose the photos most meaningful to them (e.g., photos that capture an important memory). They may then write on the back of the photo the date it was taken and who is in the photo. The photo may then be placed in an album for the coffee table. This related information is usually very important and often grows in value as time goes on. People who tragically lose their home and possessions to, for example, a fire, often say the family photographs are one of the few things that cannot be replaced.
  • With the onset of the digital age and the Internet, the rate at which photos and their related information are created has increased dramatically. However, without a method of saving these photos and the related information for future use, these collections become ephemeral. For example, large numbers of photos may be lost when users switch from one social network to another. Many photos also may be lost when a person replaces their old cell phone with a new smart phone.
  • Because of the ease with which digital files can be transferred, people often end up with multiple copies of their files on different computers with different related data, which makes management and long-term storage of those files problematic. Current manual methods of “backing up” these photo files involve downloading the files to a local computer. There is currently no known logic to capture, understand, and organize the collection relevant to the related information. The result is often multiple copies of prized photos stored in a random folder on a hard drive, which is just as unmanageable as scattered hardcopy photos found in drawers and shoe boxes throughout a house.
  • There is currently no known easy way of backing up copies of photos and related information should, for example, users abandon their current social networking or hosting service or have their online account compromised. If a person routinely backs up their photos from, e.g., their digital camera, cell phone, social network, and/or online photo service, they may very likely end up with four or more copies of every photo, many directories, and no cohesive collection of all the comments, tags, albums, and other information they have associated with the photos. In particular, no known photo archival service identifies whether a photo is a new submission or a copy of a photo already stored in the archive. Also, there is no known photo archival service that collects, stores, and associates with a single record in the archive related photo information received from multiple sources for a particular photo. That is, known archival services typically just create a new record for each piece of photo-related information received.
  • SUMMARY OF THE INVENTION
  • Systems, methods, and media for providing a digital photo archive are provided. In some embodiments, systems for providing a digital photo archive are provided, the systems comprising: at least one hardware processor that: collects a plurality of photos from a plurality of sources; collects a plurality of pieces of information from the plurality of sources; determines whether one of the plurality of photos is presently stored in the archive; stores the one of the plurality of photos in the archive only if the one of the plurality of photos has been determined to not be presently stored in the archive; and indicates to a user that the one of the plurality of photos is a duplicate photo if it is determined that the one of the plurality of photos has been determined to be presently stored in the archive.
  • In some embodiments, methods for providing a digital photo archive are provided, the methods comprising: collecting a plurality of photos from a plurality of sources; collecting a plurality of pieces of information from the plurality of sources; determining whether one of the plurality of photos is presently stored in the archive; storing the one of the plurality of photos in the archive only if the one of the plurality of photos has been determined to not be presently stored in the archive; and indicating to a user that the one of the plurality of photos is a duplicate photo if it is determined that the one of the plurality of photos has been determined to be presently stored in the archive.
  • In some embodiments, non-transitory computer-readable medium containing computer-executable instructions that, when executed by a processor, cause the processor to perform a method for providing a digital photo archive are provided, the method comprising: collecting a plurality of photos from a plurality of sources; collecting a plurality of pieces of information from the plurality of sources; determining whether one of the plurality of photos is presently stored in the archive; storing the one of the plurality of photos in the archive only if the one of the plurality of photos has been determined to not be presently stored in the archive; and indicating to a user that the one of the plurality of photos is a duplicate photo if it is determined that the one of the plurality of photos has been determined to be presently stored in the archive.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The above and other advantages of the invention will be apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout, and in which:
  • FIG. 1 is a block diagram illustrating generally a networked archival system in accordance with some embodiments of the invention;
  • FIG. 2 is another block diagram illustrating an embodiment of an archival system according to some embodiments of the invention;
  • FIG. 3 is flowchart illustrating an example process of an embodiment of a source importer according to some embodiment of the invention;
  • FIG. 4 illustrates an embodiment of an XML structure showing the format and types of information that may be contained in a file-and-information package according to some embodiments of the invention;
  • FIG. 5 is a flowchart illustrating an example process of an embodiment of an archive receiving component according to some embodiments of the invention; and
  • FIG. 6 is a flowchart illustrating an example process of an embodiment of a mechanism for archiving photos and information from a social or image networking service in accordance with some embodiments of the invention.
  • DETAILED DESCRIPTION OF THE INVENTION
  • Systems, methods, and media for providing a digital photo archive are provided.
  • In accordance with some embodiment, an archival service is provided that includes a central archive for a customer's photos and information related to the photos. As used herein, the word “photos” may include, or alternatively refer to, videos and information related to the videos. Once set up, archiving and organization of photos and their related information can be automatic. During collection of the photos and related information, the archival service can identify whether a photo is a new submission or a copy of a photo already in the archive. If the photo is a copy, no new record is created in the archive (i.e., a duplicate photo is not stored in the archive). Related information from multiple sources for each photo can be collected, stored, and associated with a single record in the archive. If additional information is received regarding a photo that is already in the archive, that information can be appended to the existing record, and a new record need not be created. Photos can be collected from multiple sources, and can be copied back for subsequent viewing or storage to the same sources or other destinations, such as, for example, social networks, photo sharing services, a customer's computer, and/or any other suitable device. The entire archive also can be advantageously exported to other archiving services or digital media storage devices, such as, for example, DVD-ROM, for long term preservation.
  • FIG. 1 is a general overview of a networked archival system 100 in accordance with some embodiments of the invention. System 100 includes a plurality of file sources 101 coupled to a network 102, which may be the Internet, an intranet, any other suitable network, or a combination of such networks. System 100 also includes an archive system 103 coupled to network 102. File sources 101 may be a computer, smart phone, camera, or other device capable of taking and/or storing photos and of coupling to network 102. File sources 101 may also be capable of creating and/or storing information related to the photos taken or stored thereon. Note that communication between file sources 101, network 102, and archive system 103 may be wired or wireless, and that there may be other devices coupled between file sources 101 and network 102 and between network 102 and archive system 103. Note also that the number of file sources 101 may be more or less than that shown.
  • FIG. 2 illustrates a more detailed embodiment of the invention. Photos and their related information may be collected from any one or all of a plurality of sources 201, such as a home computer 202, mobile phone 203, work computer 204, and/or online photo sharing service or social network 205. Note that the number and types of sources 201 can be more or less than that shown in FIG. 2. Photos and their related information can be transferred from sources 201 via software referred to herein as a “source importer.” An instance of a source importer can be allocated for each source 201 (e.g., source importers 206, 207, 208, and 209). Each instance of source importer software can run at the source or as an agent running as part of the service that fetches the photos to be archived. The former may be referred to as a “push source importer” and the latter may be referred to as a “pull source importer.” Source importers can transfer photos and related information from sources 201 to archive system 210, which includes archive receiving component 211, archive database 212, and archive publishing component 213. Note that between each source 201 and respective source importer and/or between each source importer and archive system 210 can be an authentication layer (not shown) to ensure that each user/customer is appropriately identified, given the appropriate access, and the like. Note also that a “network cloud” is not shown in FIG. 2 for clarity purposes, and one or more networks may be used to connect between any one source 201 and a source importer, between any one source importer and archive system 210, or between any combination(s) thereof.
  • FIG. 3 illustrates an example of a process 300 that can be used for a source importer in accordance with some embodiments of the invention. In some embodiments, source importers (such as, e.g., source importers 206, 207, 208, and 209) can be configured to only send to the archive system photos and/or related information that are new to the archive system. Alternatively, in some embodiments, the source importers can be configured to send every photo and/or piece of related information designated by a user to the archive system (which can then determine whether any of the received items are duplicates).
  • As shown in FIG. 3, for each photo to be sent to the archive, process 300 can identify whether the photo is new at 301. If the photo is determined to be new, process 300 can package the photo and its related information into a larger file referred to herein as a file-and-information package (“FIP”) at 302. The FIP may have a structured format, which may be in, for example, JSON (JavaScript Object Notation), XML (Extensible Markup Language), and/or any other suitable format. Each piece of information may be added to the FIP as a data item (“DI”). FIG. 4 shows an example of an FIP 400 in XML. The FIP can then also be sent to the archive receiving component at 302. At 303, process 300 can determine if the FIP was successfully received, and, if so, the archive system can record the date and time of the successful archiving at 308. If the FIP transfer was determined to not be successful at 303, the transfer can automatically be attempted again a preset number of times at 305.
  • If it is determined at 301 that the photo has already been archived, process 300 can then determine if photo's binary contents have changed at 304. If so, process 300 can branch to 302 to add the new binary to a FIP and transfer the FIP to the archive system. In some embodiments, identifying changes in the binary content may be accomplished by associating a hash with each photo and comparing the hashes of photos at a source importer with photos in the archive. If a photo's hash has changed, the photo's binary contents can be assumed to have changed.
  • In some embodiments, if it is determined that a photo's binary contents have changed (or the photo's hash has changed), the new FIP can include the hash of one or more related photos (such as the photo from which the current photo was derived). The archive system can then associate the new photo with an existing archive database photo entry as a “child” thereof. Every binary version of a photo can be archived and the parent-child relationship recorded in some embodiments. Users/customers can then have a backup of original photos as well as archived edited versions of those photos.
  • If it is determined at 304 that the binary of a photo has not changed, then, for each piece of information for the photo, process 300 can determine whether information for the photo is new or has been updated at 306. If the information is new or updated, process 300 can create a FIP (e.g., as described in connection with step 302) and transfer that FIP to the archive system at 307 and then branch to 303. Otherwise process 300 can set the archive for the photo to the current date and time at 308.
  • Information about a photo can be packaged such that the type of information represented by the data is identified. For example, comments may be labeled as “type=comment.” This can allow archive system 210 to store similar types of information from different sources as the same type of information.
  • FIG. 5 illustrates an example of a process 500 that can be used for an archive receiving component 211 in accordance with some embodiments of the invention. Once a photo and its information, or new information for one or more existing photos, are packaged into a FIP, they may be transferred across a network to archive system 210 and received by process 500 at 501. Process 500 can then search archive database 212 for preexisting entries to determine whether the received photo is a new entry for the archive or a resubmission of an existing photo at 502. In one embodiment, this identification may be accomplished by comparing a hash of the photo with a hash of every other photo in the archive.
  • If it is determined at 502 that the photo is not already in the archive, then process 500 can store the photo and each data item in the FIP into the archive at 503 and then end at 508. When being stored, each data item can be associated with the photo in the archive database.
  • If it is determined at 502 that the photo is already in the archive, then, for each data item in the FIP, process 500 can determine if the data item has not been previously stored in the archive at 504. If so, then process 500 can store the data item in the archive database and associate with the data item with the existing photo's archive database record at 506 and then end at 508.
  • Otherwise, if it is determined at 504 that the data item has been previously stored in the archive at 504, then process 500 can determine at 505 if the data item contains updated information. If so, process 500 can then update the appropriate archive database data item record at 507 and then end at 508.
  • Otherwise, if it is determined at 505 that this data item does not contain updated information, then process 500 can end at 508.
  • Entries in the archive database can be associated with a unique identifier using any suitable method. In some embodiments, one or more records in the archive database can be associated with a respective user/customer.
  • In some embodiments, photos and their data items can be viewed and exported by archive publishing component 213.
  • In some embodiments, a user can interact with component 213 using a Web browser interface. In some embodiments, archive publishing component 213 may reside on an archive system server that can be accessed through a client, such as may be provided on, for example, a tablet device. In some embodiments, archive publishing component 213 may be hosted on a Web site with an export feature that has access to archive database 212 to allow browsing of stored photos and data items.
  • In some embodiments, the photos and data items can be exported individually, if desired, from archive system 210. The data items can be rendered in an XML file in some embodiments.
  • In some embodiments, the photos can be exported as a set. Archive publishing component 213 may combine all the photos and XML files for corresponding data item files into a compressed archive file, such as a ZIP file, in some embodiments.
  • In some embodiments, a user may desire to archive photos stored on a personal computer. The user may install a source importer (as described above) on the personal computer. The source importer may be implemented as constantly running software that the user can identify via a system tray icon or in some other suitable manner supported by the computer's operating system. To configure the source importer, the user may launch a configuration interface via, for example, a menu that may be made available by clicking the source importer icon. The configuration interface may allow the user to indicate which photos on the personal computer are subject to archiving. The interface may allow the user to indicate individual photos or trees of photo folders.
  • On a preferably routine schedule, the source importer can scan all of the photos indicated for archiving in some embodiments. In some embodiments of the invention, the source importer can store information for each photo in the scan in a database or text file on the personal computer. The information may include a file name, a byte size, a hash of the file, and/or any other suitable information. The source importer can also store in the local database or text file the unique identifier of the archive database entry for that photo if the photo had been successfully archived before. Note that information stored locally can also ultimately be stored in the archive system of the invention. However, the local storage of this information can allow the source importer to make decisions on the personal computer without having to access the archive system. Note that some embodiments of the source importer may omit this feature, and instead may have to access the archive system to determine the archival status of photos indicated for archiving.
  • If information regarding a photo to be archived is not already in the local database or text file, the source importer can prepare a FIP and transfers the FIP via, e.g., HTTP (Hypertext Transfer Protocol) or other suitable protocol to an archive receiving component (see 302 in FIG. 3). If the transfer fails, the source importer may retry a set number of times (see 305 of FIG. 3). Upon success, the source importer may record the successful archive date and time in both the local database and the entry in the archive database (see 308 in FIG. 3).
  • The source importer can store and determine whether a file has ever been archived. It can also store what the hash was at the time of the last archiving, allowing it to determine whether the binary contents of the file have changed (see 304 in FIG. 3).
  • FIG. 6 illustrates an example of a process 600 of an embodiment of a mechanism for archiving photos and information from a social or image networking service (referred to collectively hereinafter as a “social networking service” or “SNS”). In process 600, at 601, a user may install a source importer (SI) as a social networking application via the social networking service's API (Application Programming Interface). The API may allow third-party software to operate in conjunction with the social networking software. Note that the source importer software may not actually be installed on any server or device controlled by the social networking service, but may instead be located on, for example, the user's computer, a thirdparty server or device, or the archival retrieval system of the invention. The source importer software may be able to access the user's information and photos that are stored with the social networking service, along with the photos' comments, tags, and other related information. The user may identify individual photos for archiving, complete albums, or indicate their entire collection. The social networking service API may provide a method of accessing a list of all the user's photos. At 602, the source importer can archive the user's photos and related information stored with the social networking service as described above in connection with FIG. 3.
  • Some social networking service APIs may provide a method of labeling photos called “tagging.” In some of these cases, the source importer can label a photo with a unique tag once the photo has been successfully archived, at 603. By looking for the presence of this tag, the source importer can determine if the photo has ever been archived (see 301 in FIG. 3). In some embodiments, social networking service APIs may also provide methods for accessing the related information of a photo, such as comments, tags, or placements in a collection called an album. In some embodiments, social networking service APIs may further provide a method to access a Universal Resource Locator (URL) for an original photo. The source importer can use these methods to create a FIP for the photo and transfer it to the archive receiving component of the archive system.
  • In some embodiments, social networking services do not provide a method for altering the binary contents of a photo, so the photo's binary contents may not change (see 304 in FIG. 3). In these cases, the source importer can still check for new or updated information related to the photos (see 306 in FIG. 3).
  • Some social networking service APIs can provide a method of accessing the photo's last modification date and time. This date and time can be set to the current date and time if there has been any changes to the existing related information or if new related information has been created. When a photo and its related information have been successfully archived, the source importer can tag the photo with a tag unique to the archive system at 603. As mentioned above, this can be used to identify photos that have been archived. The tag may also contain the name of the archive system and/or a unique identifier that matches the photo's record in the data item. The unique identifier may be an incrementing primary key from the data item. An example of a unique identifier from the database may look like “1caab5c3b3.” A hexadecimal number with ten digits such as this can be used to uniquely identify billions of photo records. An example of a tag may be something like or similar to “SystemName—1caab5c3b3.”
  • The unique identifier in the data item can be matched to the photo's hash and the last successful archive date as stored in the archive system (see 306 of FIG. 3). If the photo's last modification date indicated by the social networking service API is after the last successful archive date of the photo, the source importer can create a FIP to submit the new or updated related information to the archive receiving component (see 307).
  • If the photo had already been tagged by the archive system, the actual photo file binary does not have to be transferred again to the archive (see 307).
  • In some embodiments, because the archive receiving component does not create duplicate entries for submission with the same binary content, the archive database can be configured to contain only one entry for every unique photo the user has uploaded to the social networking service. If the user has uploaded the same photo multiple times to the social networking service, the archive database may still contain only one entry and associate all the comments and other related information from the multiple social networking service photos to the one archive entry.
  • For some social networking services, the source importer does not need to run on a schedule. For example, a social networking service API can provide a method for the source importer to be notified when the user has modified his or her “user” profile and the user's photos, such as when photos have been added or comments entered. After an initial scan and import on installing the source importer as a social networking service application, the archive system may “subscribe” to changes in the user's photos at 604. The social networking service can notify the archive system at 605 by accessing a URL of the archive system with the user's social networking service login identification, which can allow the archive system to activate that user's source importer for the social networking service. The source importer can then scan the user's photos at 606, as described above.
  • In some embodiments, the source importer does not unnecessarily poll the user's information stored with the social networking service. In some embodiments, the source importer does not transfer the photo binary to the archive receiving component more than once. In some embodiments, duplicate photos stored with the social networking service can be combined into one record in the archive system with all the related information from all of the original duplicates. In some embodiments, newly added related information can be archived in a timely manner.
  • File source 101, archive system 103, sources of photos 201, and archive system 210 can be implemented using any suitable hardware in some embodiments. For example, in some embodiments, these components can be implemented using any suitable general purpose computer or special purpose computer. Any such general purpose computer or special purpose computer can include any suitable hardware. For example, in some embodiments, such hardware can include a hardware processor, memory and/or storage, etc. Such a hardware processor can include any suitable hardware processor, such as a microprocessor, a micro-controller, digital signal processor, dedicated logic, and/or any other suitable circuitry for controlling the functioning of a general purpose computer or special purpose computer in some embodiments. Such memory and/or storage can be any suitable memory and/or storage for storing programs, data, measurements, etc. in some embodiments. For example, the memory and/or storage can include random access memory, read only memory, flash memory, hard disk storage, optical media, etc.
  • In some embodiments, any suitable computer readable media can be used for storing instructions for performing the functions and/or processes described herein. For example, in some embodiments, computer readable media can be transitory or non-transitory. For example, non-transitory computer readable media can include media such as magnetic media (such as hard disks, floppy disks, etc.), optical media (such as compact discs, digital video discs, Blu-ray discs, etc.), semiconductor media (such as flash memory, electrically programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), etc.), any suitable media that is not fleeting or devoid of any semblance of permanence during transmission, and/or any suitable tangible media. As another example, transitory computer readable media can include signals on networks, in wires, conductors, optical fibers, circuits, any suitable media that is fleeting and devoid of any semblance of permanence during transmission, and/or any suitable intangible media.
  • Although the invention has been described and illustrated in the foregoing illustrative embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of implementation of the invention can be made without departing from the spirit and scope of the invention, which is only limited by the claim which follows. Features of the disclosed embodiments can be combined and rearranged in various ways.

Claims (1)

What is claimed is:
1. A system for archiving digital photos in a digital photo archive, comprising:
at least one hardware processor that:
collects a plurality of photos from a plurality of sources;
collects a plurality of pieces of information relating to one of the plurality of photos from the plurality of sources, wherein at least two of the plurality of pieces of information are from different ones of the plurality of sources;
translates the plurality of pieces of information from the different ones of the plurality of sources into a common format;
determines whether the one of the plurality of photos is presently stored in the archive;
stores the one of the plurality of photos in the archive with the plurality of pieces of information in the common format only if the one of the plurality of photos has been determined to not be presently stored in the archive;
determines when the plurality of sources contain at least one of a new piece of information and a change in a piece of information related to the one of the plurality of photos; and
stores in the digital photo archive the at least one of the new piece of information and the change in the piece of information with the one of the plurality of photos that was previously stored in the digital photo archive in response to determining that the plurality of sources contain the at least one of the new piece of information and the change in the piece of information related to the one of the plurality of photos.
US14/846,031 2011-11-21 2015-09-04 Systems, Methods, and Media for Providing a Digital Photo Archive Abandoned US20150379007A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/846,031 US20150379007A1 (en) 2011-11-21 2015-09-04 Systems, Methods, and Media for Providing a Digital Photo Archive

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161562415P 2011-11-21 2011-11-21
US13/681,846 US9128958B2 (en) 2011-11-21 2012-11-20 Systems, methods, and media for providing a digital photo archive
US14/846,031 US20150379007A1 (en) 2011-11-21 2015-09-04 Systems, Methods, and Media for Providing a Digital Photo Archive

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/681,846 Continuation US9128958B2 (en) 2011-11-21 2012-11-20 Systems, methods, and media for providing a digital photo archive

Publications (1)

Publication Number Publication Date
US20150379007A1 true US20150379007A1 (en) 2015-12-31

Family

ID=48427043

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/681,846 Active 2033-05-14 US9128958B2 (en) 2011-11-21 2012-11-20 Systems, methods, and media for providing a digital photo archive
US14/846,031 Abandoned US20150379007A1 (en) 2011-11-21 2015-09-04 Systems, Methods, and Media for Providing a Digital Photo Archive

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/681,846 Active 2033-05-14 US9128958B2 (en) 2011-11-21 2012-11-20 Systems, methods, and media for providing a digital photo archive

Country Status (1)

Country Link
US (2) US9128958B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9128958B2 (en) * 2011-11-21 2015-09-08 Sean T Conrad Systems, methods, and media for providing a digital photo archive
US20150095320A1 (en) * 2013-09-27 2015-04-02 Trooclick France Apparatus, systems and methods for scoring the reliability of online information
CN106657254B (en) * 2016-10-25 2019-10-25 Oppo广东移动通信有限公司 A kind of synchronous method of contact information, apparatus and system
US10284505B2 (en) 2017-05-03 2019-05-07 International Business Machines Corporation Social media interaction aggregation for duplicate image posts

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9128958B2 (en) * 2011-11-21 2015-09-08 Sean T Conrad Systems, methods, and media for providing a digital photo archive

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7774322B2 (en) * 2005-05-25 2010-08-10 Microsoft Corporation File transfer error handling
US20100262635A1 (en) * 2008-12-24 2010-10-14 Hambleton Richard S Electronic appliance for collecting and distributing digital media

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9128958B2 (en) * 2011-11-21 2015-09-08 Sean T Conrad Systems, methods, and media for providing a digital photo archive

Also Published As

Publication number Publication date
US9128958B2 (en) 2015-09-08
US20130129258A1 (en) 2013-05-23

Similar Documents

Publication Publication Date Title
US11233851B2 (en) System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients
US9055063B2 (en) Managing shared content with a content management system
US10567484B2 (en) Identifying content items for inclusion in a shared collection
JP6566330B2 (en) Video editing method
US11734335B2 (en) Method and system for organizing digital files
US20140195516A1 (en) Systems and methods for presenting content items in a collections view
US9367646B2 (en) Document and user metadata storage
US9462054B2 (en) Systems and methods for providing a user with a set of interactivity features locally on a user device
US9325709B2 (en) System and method for importing and merging content items from different sources
US10110656B2 (en) Systems and methods for providing shell communication in a cloud-based platform
US8341219B1 (en) Sharing data based on tagging
US9465856B2 (en) Cloud-based document suggestion service
JP5924209B2 (en) Backup control program, backup control method, and information processing apparatus
US20140281875A1 (en) Multi-user layer annotation
CN102165444B (en) Access control to content published by a host
US20150026257A1 (en) Music box
US20150169207A1 (en) Systems and methods for generating personalized account reconfiguration interfaces
US8515938B2 (en) Information processing system, collecting server, information processing method and program
US20150379007A1 (en) Systems, Methods, and Media for Providing a Digital Photo Archive
US9678961B2 (en) Method and device for associating metadata to media objects
US20090132542A1 (en) Peer-to-Peer Sharing in Media Management Software
US10984444B2 (en) Systems and methods for generating intelligent account reconfiguration offers
US10200320B2 (en) Import content items from email
US10853316B1 (en) File versioning for content stored in a cloud computing environment
TW201227268A (en) Data backup system and data backup and retrival method

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

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