US20150205791A1 - Methods, Systems, And Computer Program Products For Identifying A Container Associated With A Plurality Of Files - Google Patents

Methods, Systems, And Computer Program Products For Identifying A Container Associated With A Plurality Of Files Download PDF

Info

Publication number
US20150205791A1
US20150205791A1 US14/672,281 US201514672281A US2015205791A1 US 20150205791 A1 US20150205791 A1 US 20150205791A1 US 201514672281 A US201514672281 A US 201514672281A US 2015205791 A1 US2015205791 A1 US 2015205791A1
Authority
US
United States
Prior art keywords
metadata
container
prevailing
files
file
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/672,281
Inventor
Jeffrey Scott Bardsley
Mona Singh
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Scenera Technologies LLC
Original Assignee
Scenera Technologies LLC
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 Scenera Technologies LLC filed Critical Scenera Technologies LLC
Priority to US14/672,281 priority Critical patent/US20150205791A1/en
Assigned to SCENERA TECHNOLOGIES, LLC reassignment SCENERA TECHNOLOGIES, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BARDSLEY, JEFFREY SCOTT, SINGH, MONA
Publication of US20150205791A1 publication Critical patent/US20150205791A1/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/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F17/3012
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • G06F17/30371
    • G06F17/3053
    • G06F17/30598

Definitions

  • the subject matter described herein relates to maintaining a container. More particularly, the subject matter described herein relates to methods, systems, and computer program products for maintaining a container associated with a plurality of files.
  • Computer system files may be associated together by an object referred to herein as a container.
  • a computer system may include multiple containers that each associate together one or more files.
  • One example of a container is a file folder that holds one or more files.
  • Another example of a container is a pointer, which may point to one or more files stored in memory.
  • a container may be a directory that organizes files.
  • a container may be a shortcut, which is a file containing the location of one or more other files stored on a computer.
  • a container may include an identifier.
  • the identifier may be a series of characters or name that is used to identify a container.
  • the identifier characters are in the form of a name for providing an indication to a user of the content of the files associated with the container.
  • the container identifier “work project” may indicate that the files associated with the container relate to a work project.
  • a container is associated with an identifier when the container is created.
  • the computer system may provide a default identifier when the container is created.
  • An exemplary default identifier may be “New Folder”.
  • a user may manually change the identifier for the container to a name that reflects the contents of the container.
  • a user may manually re-identify the container to reflect new or changing content of the container.
  • requiring the user to manually re-identify a container each time the container's contents change may result in lost contents. For example, because the re-naming process is manual, the user may forget to change the identifier when the content of a container changes. Because the name of a folder may not reflect its contents, the user may forget where certain contents are stored.
  • a container identifier may no longer reflect the container's content. For example, images files of a sporting event may be added to container identified with the identifier “vacation” such that the container includes more image files of the sporting event than any other file. In this example, it may be desirable to re-identify the container to an identifier such as “sporting event” in order to reflect the changed content.
  • a user can manually change the container's identifier. However, as stated above, re-identifying the container may be burdensome to the user. Moreover, using conventional methods for identifying folders, a user is required to know enough about the files in the container to identify the container.
  • the subject matter described herein includes methods, systems, and computer program products for maintaining a container associated with a plurality of files.
  • One method includes providing for disassociating a file with a container associated with a plurality of associated files.
  • the prevailing metadata is not required to be from all of the plurality of associated files.
  • the container is renamed based on the remaining prevailing metadata.
  • file refers to a collection of electronic data or information stored and/or transmitted using a common identifier (such as a file name).
  • exemplary types of files include data files, text files, program files, directory files, word processing files, image files, video files, spreadsheet files, and the like.
  • a file may be identified (or named) by a sequence of one or more characters.
  • Metadata refers to data or information about a file and associated with the file. Metadata may describe file attributes such as how, when, and/or by whom a file was collected. Further, metadata may describe how the file is formatted. Every file may not have metadata associated with it.
  • a container refers to an association of files.
  • a container may be a digital folder for organizing a plurality of files together.
  • a digital folder may also contain one or more digital sub-folders including one or more files.
  • a container may be a pointer that points to a plurality of files stored in memory.
  • a container may be a directory for organizing a plurality of files.
  • a container may be a shortcut, which may be a file containing the location of one or more other files stored on a computer.
  • a container may be identified (or named) by any suitable identifier, such as a sequence of one or more characters.
  • the subject matter described herein may be implemented using a computer program product comprising computer executable instructions embodied in a computer-readable medium.
  • Exemplary computer-readable media suitable for implementing the subject matter described herein include chip memory devices, disk memory devices, programmable logic devices, application specific integrated circuits, and downloadable electrical signals.
  • a computer-readable medium that implements the subject matter described herein may be located on a single device or computing platform or may be distributed across multiple devices or computing platforms.
  • FIG. 1 is a block diagram of an exemplary system configured to identify a container associated with a plurality of files according to an embodiment of the subject matter described herein;
  • FIG. 2 is a flow chart of an exemplary process for identifying a container associated with a plurality of files according to an embodiment of the subject matter described herein;
  • FIGS. 3A and 3B are flow charts of an exemplary process for use by the system shown in FIG. 1 for identifying a container with a plurality of files according to an embodiment of the subject matter described herein.
  • FIG. 1 is a block diagram of an exemplary system 100 identify a container 102 associated with a plurality of files 104 according to an embodiment of the subject matter described herein.
  • Files 104 may each be associated with or include metadata 106 .
  • Container 102 may be a digital folder configured to associate files 104 .
  • container 102 may be a pointer for pointing to one or more locations in a memory where files 104 are stored.
  • container 102 may be a directory for organizing files together.
  • container 102 may be a shortcut for associating files 104 with one another.
  • Metadata 106 may be associated with files 104 and include data or information about its corresponding file.
  • system 100 may include a plurality of containers.
  • System 100 may be any suitable system, such as a personal computer (PC), a mobile phone, a PDA, a digital camera, a smart phone, and the like, operable to associate one or more files with a container.
  • PC personal computer
  • PDA personal digital camera
  • smart phone and the like
  • System 100 may include means for providing for associating a file with a container associated with at least one file to form a plurality of associated files.
  • system 100 may include a container monitor 108 configured to provide for associating a file with a container associated with at least one file to form a plurality of associated files.
  • Container monitor 108 may receive instructions or commands from a system user or system process to associate a new or preexisting file with container 100 , which is associated with one or more files 104 .
  • container monitor 108 may place a file into a digital folder identified by a command or instruction received from a user via a user interface, such as a drag-and-drop or copy/paste operation.
  • container monitor 108 may use a pointer to point to an address of a file.
  • container monitor 108 may organize a file into a directory.
  • Container 102 and files 104 may be identified by a sequence of one or more characters, such as a name. The identifier can be displayed to a user in order to help the user to determine the contents of the files associated with the container.
  • Metadata 106 may include data or information about a corresponding file 104 . Metadata 106 may describe file attributes such as how, when, and/or by whom a file was collected. Further, metadata 106 may describe how the file is formatted. In one example, metadata 106 may include a file name for a corresponding file 104 . In another example, metadata 106 may include a file creation time or date for a corresponding file 104 . In another example, metadata 106 may include a file author name for a corresponding file 104 . In another example, metadata 106 may include a photographer name for an image contained in a corresponding file 104 . In another example, metadata 106 may include an image-related tag for an image contained in a corresponding file 104 . In another example, metadata 106 may include content within the file, such as text in a text file.
  • Container monitor 108 may be configured to monitor one or more containers 102 .
  • container monitor 108 may track when containers are associated with files, which could occur concurrently with creation of the container.
  • container monitor 108 may include one or more policies or rules about identifying containers. The policies may be applied when a file is added to a container for determining whether the container is to be re-identified based on the addition of the file. Further, the policies may set forth criteria about the types of containers that can be identified or named. For example, container monitor 108 may include a policy that nested containers or sub-containers cannot be re-identified. In another example, container monitor 108 may determine whether a container is a system container and include a policy that system containers are not re-identified.
  • container monitor 108 may conduct searches for shortcuts and shared directories including the identifier or name of the container. When a file is added to container 102 , container monitor 108 may apply one or more of the policies for determining whether container 102 can be identified. If the container had been previously identified, policies may be applied for determining whether the container can be re-identified.
  • System 100 may include means for determining prevailing metadata among a plurality of files associated with a container.
  • prevailing metadata refers to metadata common to a majority of files associated with a container, metadata common to a majority of a subset of files associated with the container, and/or metadata descriptive of metadata common to a majority of files or a majority of a subset of files associated with the container.
  • An example of the later includes categories for metadata.
  • metadata for three files added to or associated with a container may be CADILLAC, TOYOTA, and HONDA, and the prevailing metadata can be “cars” or “automobile manufacturers”.
  • Tie-breaking rules such as maintaining a current container identifier, may be used when different groups of files having common metadata include the same number of files.
  • a container identifier 110 is configured to determine prevailing metadata among a plurality of files 104 associated with container 102 by analysis of metadata 106 from the plurality of associated files 104 .
  • the prevailing metadata may be determined when a file is associated with a container that is associated with at least one file.
  • Container identifier 110 may generate an identifier for container 102 based on prevailing metadata and communicate the identifier to container monitor 108 , which may re-identify container 102 using the identifier.
  • Prevailing metadata may be determined based on one or more of the same or different types of metadata associated with files of a container.
  • prevailing metadata may be determined based on an analysis of file attributes of files associated with a container.
  • prevailing metadata may be determined based on an analysis of a format of files associated with a container.
  • prevailing metadata may be determined based on an analysis of file names of files associated with a container.
  • prevailing metadata may be determined based on an analysis of file creation times or dates of files associated with a container.
  • prevailing metadata may be determined based on an analysis of file author names of files associated with a container.
  • prevailing metadata may be determined based on an analysis of photographer names for images contained in files associated with a container.
  • prevailing metadata may be determined based on an analysis of an image-related tag for images contained in files associated with a container.
  • metadata 106 may be determined based on an analysis of content within the file, such as text in a text file.
  • Container identifier 110 may include a metadata analyzer 112 and an identifying engine 114 for determining prevailing metadata and an identifier for container 102 .
  • Metadata analyzer 112 may be configured to gather and analyze metadata 106 associated with files 104 .
  • Container monitor 108 may identify which files 104 are associated with container 102 and indicate the identified files to metadata analyzer 112 .
  • Metadata analyzer 112 may receive the identifications of files 104 from container monitor 108 and may, according to one aspect, perform a lookup in a metadata store 116 for each of the identified files 104 for determining whether metadata store 116 includes metadata for any of the identified files 104 .
  • Metadata store 116 may include metadata tables having metadata for files that have been previously analyzed by metadata analyzer 112 . As described in further detail below, metadata analyzer 112 may generate metadata tables including metadata for identified files. The generated tables may be stored by metadata store 116 . If metadata store 116 includes a metadata table for an identified file 104 , metadata analyzer 112 may retrieve the metadata table for the identified file 104 . If metadata store 116 does not include a metadata table for an identified file 104 , metadata analyzer 112 may generate a metadata table having predetermined metadata for the identified file 104 and store the table in metadata store 116 .
  • Exemplary predetermined metadata that may be generated by metadata analyzer 112 may include a file name.
  • metadata analyzer 112 may extract the entirety or a portion of a file name from an identified file 104 for generating a table for the file.
  • one or more portions of metadata may be used for determining an identifier for a container.
  • metadata analyzer 112 may separate a file name to extract individual terms. For example, if the file name is separated by underscores, hyphens, periods, or spaces, metadata analyzer 112 may capture the simple terms by parsing the file name using these special characters as delimiters.
  • Other exemplary metadata that may be extracted by metadata analyzer 112 for generating a table include file attributes, such as image size, standard EXIF information modification date, and any metadata that may be entered by a user or metadata derived from file content.
  • a root word in metadata may be extracted for use in creating a metadata table for a file.
  • a dictionary and list of stop words/characters module 118 may determine the roots of terms in the metadata. The determined roots may be used as delimiters. For example, the terms “route,” “routing,” and “routes” have the root word “route”. In this example, the word “route” may be used as the basic metadata term among these terms.
  • Metadata analyzer 112 may communicate metadata terms to module 118 for a determination of root words, if any, for the metadata terms.
  • Metadata analyzer 112 may use an entirety or a portion of content of a file for deriving metadata.
  • file content such as file text, file name, author name, date, an index of terms in a file, and the like
  • wrapper information may be used for deriving metadata.
  • Exemplary metadata that may be derived from an image file includes a creation date of an image, a photographer of an image, a location of an image, a tag added by a user to an image, and a tag added by a system after image analysis.
  • Metadata analyzer 112 may organize metadata tables according to file type. Each metadata table may include predetermined metadata that may be considered for the type of file in determining prevailing metadata for a container. Further, the predetermined metadata in the table may be ranked according to a preferred order for considering the predetermined metadata. Table 1 below shows exemplary file types and corresponding metadata that may be included in a metadata table.
  • Metadata Table Organization and Content Metadata Considered in File Type Order of Preference Text File 1.
  • Date Media File e.g., 1. File Name Audio File, Video File, and the like
  • metadata analyzer 112 may extract a file name, index terms, an author name, and/or a date from a text file. Further, in this example, metadata analyzer 112 may extract a file name, user-created tags, tags created by image analysis, a photographer name, a location of an image, and/or a date from an image file.
  • Metadata analyzer 112 may extract a file name from a media file.
  • the predetermined metadata may be considered in order of preference according to the numbering order shown for each file type. For example, file name is the highest ranked metadata for each of the file types shown in Table 1. If a higher ranked metadata type is not available for a file, a lower ranked metadata type may be extracted. For example, in a text file, an author name may be used if a file name and index terms are unavailable for the text file.
  • Each metadata table may include a frequency for each metadata term that indicates the number of occurrences of the metadata term for the corresponding file.
  • metadata analyzer 112 may generate a metadata table including file name terms and the frequency of their occurrence in each file name.
  • Identifying engine 114 may determine prevailing metadata among files 104 associated with container 102 by using the metadata tables of files 104 . Identifying engine 114 may receive the metadata tables from metadata analyzer 112 . Identifying engine 112 may analyze the metadata tables for each file and generate an analysis table including one or more of the metadata terms in the metadata tables and the number of occurrences of each metadata term in the metadata tables. In one embodiment, identifying engine 114 ranks the metadata terms based on number of occurrences. In one example, the analysis table generated by identifying engine 112 may include a percentage (e.g., 10%) of the metadata terms that have the highest occurrence for the metadata tables. In another example, the analysis table generated by identifying engine 112 may include a number (e.g., 10) of metadata terms that have the highest occurrence for the metadata tables.
  • Identifying engine 114 may determine prevailing metadata for container 102 based on a number of occurrences of like metadata among the plurality of associated files 104 .
  • the metadata with the highest number of occurrences in the analysis table is the prevailing metadata.
  • different types of metadata may be included in the analysis table and the prevailing metadata may be based on the respective number of occurrences of each metadata. For example, the metadata across all types of metadata that has the highest number of occurrences may be selected as the prevailing metadata.
  • prevailing metadata may be determined based on a categorization of metadata among files 104 .
  • metadata from among files 104 may include the terms “Cadillac,” “Toyota,” and “Honda,” which are different brand names of cars or automobile manufacturers.
  • a table may be maintained that includes entries for categorizing a plurality of terms. In this example, the table may categorize the terms as “cars” or “automobile manufacturers”. Using the table, the term “cars” or “automobile manufacturers” may be used as an identifier for container 102 or as a term in the metadata table for a determination of prevailing metadata.
  • identifying engine 114 may apply one or more acceptability rules 120 to metadata terms.
  • An acceptability rule 120 may evaluate a metadata term to determine whether the metadata term is acceptable. Identifying engine 114 may maintain a list of predetermined words that are not acceptable as a container identifier. Prevailing metadata may be compared to the list in order of ranking until a prevailing metadata term is selected that is not on the list.
  • an acceptability rule may specify that adjectives are not acceptable as container identifiers.
  • identifying engine 114 may include a list of adjectives for comparison against the ranked metadata terms.
  • an acceptability rule may specify that a root word of a metadata term should be a container identifier.
  • identifying engine 114 may maintain a table of words and their corresponding root words for comparison against the ranked metadata terms. Further, in this example, the root word for a selected metadata term of the ranked metadata terms will be selected as the container identifier.
  • a uniqueness of a selected metadata term may be determined based on a comparison with identifiers of other containers.
  • identifying engine 114 may maintain a list of identifiers for other containers. If there is already a container identified as “patents” and the selected metadata term is “patent” among the ranked metadata terms, the acceptability rules will disallow “patent” as a container identifier and select the next highest ranked metadata term from among the ranked metadata terms.
  • the terms may be used together for creating a hyphenated identifier and the terms may be ordered alphabetically.
  • the acceptability rules are applied to the ranked metadata terms in accordance with their rankings until a metadata term is found that meets the requirements of the acceptability rules.
  • the metadata term with the highest number of occurrences and that meets the requirements of the acceptability rules may be selected as the prevailing metadata. Further, the selected prevailing metadata may be communicated to container monitor 108 for use as an identifier for container 102 .
  • System 100 may include means for identifying a container based on the prevailing metadata.
  • container monitor 108 may be configured to identify container 102 based on the prevailing metadata.
  • identifying engine 114 may select a prevailing metadata term and communicate the term to container monitor 108 .
  • Container monitor 108 may use the prevailing metadata term as a new identifier for container 102 if container 102 has not been identified. Alternatively, if container 102 has been previously identified, container 102 may be re-identified with the prevailing metadata term.
  • FIG. 2 is a flow chart illustrating an exemplary process for identifying a container associated with a plurality of files according to an embodiment of the subject matter described herein.
  • the process provides for associating a file with a container associated with at least one file to form a plurality of associated files.
  • a process associated with system 100 may allow a user to associate a file folder or other container type with one or more files using, for example, a drag-and-drop operation via a graphical user interface.
  • prevailing metadata among the plurality of associated files may be determined.
  • the prevailing metadata may be determined using any of the techniques described above. As stated above, the prevailing metadata is not required to be from all of the plurality of associated files.
  • the container is identified based on the prevailing metadata. Identifying the container may include re-naming the container in response to detecting a change in the prevailing metadata.
  • FIGS. 3A and 3B are flow charts illustrating an exemplary process for use by system 100 shown in FIG. 1 for identifying a container with a plurality of files according to an embodiment of the subject matter described herein.
  • system 100 monitors container 102 using container monitor 108 (block 300 ).
  • container 102 may be associated with one or more files 104 .
  • Container monitor 114 may determine whether container 102 is associated with more than one file 104 and meets policies for identifying a container (block 304 ). If it is determined that container 102 is not associated with more than one file 104 and/or does not meet policies for identifying the container, the process may proceed to block 302 . Otherwise, if it is determined that container 102 is associated with more than one file 104 and meets policies for identifying the container, the process may proceed to block 306 .
  • metadata analyzer 308 may select a file among files 104 in container 102 that has not been processed with respect to identifying container 102 .
  • the selected file may be a file recently associated with container 102 .
  • the selected file may be a file that has been recently added to a digital folder.
  • block 306 may be initiated when a new file is associated with container 102 that is associated with at least one other file, such that a plurality of files is formed.
  • Container monitor 108 may identify for container identifier 110 the files that are associated with container 102 .
  • metadata analyzer 112 may determine whether metadata analysis information for the file selected in block 306 is stored in metadata store 116 .
  • metadata store 116 may include metadata tables having metadata for files that have been previously analyzed by metadata analyzer 112 . If it is determined that metadata analysis information for the selected file is stored in metadata store 116 , metadata analyzer 112 may retrieve the metadata analysis information from metadata store 116 (block 310 ).
  • Metadata analyzer 112 may generate metadata analysis information for the selected file (block 312 ). For example, as discussed above, metadata analyzer 112 may generate a metadata table having predetermined metadata for the identified file 104 and store the table in metadata store 116 . The metadata analysis information may be generated based on the file type of the selected file.
  • metadata analyzer 112 may determine whether all of the files associated with container 102 have been analyzed. For example, metadata analyzer 112 may determine whether metadata analysis information has been generated and/or collected for all of files 104 associated with container 102 . If it is determined that all of the files associated with container 102 have not been analyzed, the process may proceed to block 306 . Otherwise, if it is determined that all of the files associated with container 102 have been analyzed, the process may proceed to block 316 .
  • identifying engine 114 may generate an analysis table including one or more of the metadata terms among files 104 associated with container 102 and the incidence of the metadata terms among files 104 .
  • the analysis table may be generated based on metadata tables of files 104 of container 102 .
  • identifying engine 114 may select the metadata term in the analysis table that has the highest incidence. Identifying engine 114 may apply one or more acceptability rules to the selected metadata term (block 320 ). Further, identifying engine 114 may determine whether the selected metadata term meets the acceptability rules (block 322 ). If it is determined that the selected metadata term does not meet the acceptability rules, identifying engine 114 removes the selected metadata term from selection in the analysis table (block 324 ) and the process proceeds to block 318 for selection of the metadata term with the next highest incidence. Otherwise, if it is determined that the selected metadata term meets the acceptability rules, the process may proceed to block 326 .
  • the selected metadata term meeting the acceptability rules may be used as an identifier for container 102 .
  • Identifying engine 114 may communicate the selected metadata term to container monitor 108 , which may identify or re-identify container 102 using the selected metadata term.
  • a user may be provided with an option to accept a prevailing metadata term as an identifier for a container. If the user accepts the term, the term may be used as the container. Otherwise, if the user does not accept the term, another metadata term, such as the next highest ranking metadata term in an analysis table, may be presented to the user for optional selection as the container's identifier. Further, if the user does not accept the term, the term may be added to a list of suggested metadata terms. The list of suggested metadata terms may be maintained for comparison against other terms. The system may not use a term in the list of suggested metadata terms, because the list indicates previously rejected terms. Further, if a user accepts a metadata term that was previously used or identifies a container, an indication of the previous use may be provided to a user.
  • Metadata may be derived from the content of a file for use in identifying a container.
  • a file's metadata may be generated by creating an index of a file document.
  • An index may be created using suitable document processing software.
  • Table 2 below illustrates an exemplary metadata table that may be generated using metadata terms from an index of a file document.
  • Each file may be associated with an index that is created based on the file. Further, each index term may have a number of occurrences.
  • the analysis table may be generated by a metadata analyzer and passed to an identifying engine for generating an analysis data for all of the files associated with the container.
  • a suggestion may be provided to a user to associate two of more sets or files associated with a single container with two or more containers when there are no overlapping metadata terms between the sets of files. Further, if the user selects the suggestion, the file sets may be divided as suggested into two or more containers, and each container may be identified according to its corresponding prevailing metadata.
  • a container may include first and second groups of files that include pictures of boats and trucks, respectively.
  • the prevailing metadata for the first and second group may be the metadata terms, “boat” and “truck,” respectively. If the terms “boat” and “truck” do not overlap in the first and second sets, a suggestion may be provided to the user to divide the first and second groups into two different containers.
  • the container having the metadata term “boat” may be labeled “boat”.
  • the container having the metadata term “truck” may be labeled “truck”.
  • a user may be provided with an option for providing two containers in the manner.
  • a container may be a shortcut to another container.
  • the shortcut container may be renamed based on prevailing metadata.
  • system 100 may provide for renaming the other container based on the prevailing metadata by automatically renaming the other container based on the prevailing metadata, querying a user whether to rename the other container, or instructing a user to rename the other container.
  • a folder may have a shortcut associated with it.
  • container monitor 108 may determine that the folder has a shortcut associated with it.
  • system 100 may indicate to a user that the container is a shortcut, determine not to rename the folder because it is a shortcut, or recreate the shortcut with the prevailing metadata as the new identifier of the folder.
  • an identifying engine may determine one or more user-preferred naming conventions and maintain a record of the user-preferred naming conventions.
  • the identifying engine can apply the naming conventions for naming or identifying a container.
  • a user-preferred naming convention may be determined based on naming history and patterns of names that a user prefers. For example, the identifying engine may determine that a user does not prefer to use compound names for naming containers. In this example, if the identifying engine determines that the user dislikes compound names for naming containers, the identifying engine may maintain a record of this preference and not name or suggest naming containers using compound names. In another example, the identifying engine may maintain a list of preferred terms for naming containers. In this example, metadata may be matched with the list of preferred terms to identifying prevailing metadata.
  • an identifying engine may suggest a plurality of names to a user for naming a container.
  • the user may accept one of the names for naming the container.
  • the identifying engine may determine a plurality of metadata terms in an analysis table based on the number of occurrences of the metadata terms.
  • the metadata terms may be presented to a user for accepting of one or a combination of the terms for naming the container.
  • the user may indicate a user preference for accepting one or a combination of the terms.
  • the system may identify or name the container based on whether one or a combination of the terms is accepted by the user. Further, the system may determine whether a container was previously identified with a name and the previously identified name was changed to another name for determining whether the name is acceptable to a user.
  • the identification of a container may be based on a name change history for the container.
  • An identifying engine may determine a name change history for the container and determine whether to rename the container based on the name change history. For example, if an identifier or name of a container is changed frequently, the identifying engine may determine that the container name should not be changed.
  • the identifying engine may determine whether a predetermined time period has elapsed since the last name change for the container. If the predetermined time period has elapsed, the identifying engine may determine to use prevailing metadata for naming the container. If the predetermined time period has not elapsed, the identifying engine may determine not to change the container's name.
  • a user may provide instructions for placing a renaming hold on a container.
  • the renaming hold can be associated with the container and indicate that the container should not be renamed.
  • the identifying engine may determine whether a container is associated with a renaming hold. If the identifying engine determines that the container is associated with a renaming hold, it may not rename the container.
  • a container may include files with the following file names:
  • a metadata table may include one or more metadata terms and number of occurrences for each of the metadata terms.
  • Table 3 below shows an example of content in a metadata table for the file having the file name “Photo-planning-and-tracking.doc”.
  • Table 3 is generated by separating terms in the file name from one another by each file name's hyphens and removing the hyphens. Further, the suffix “doc” after the period is removed. The remaining terms are “Photo,” “Planning,” “and,” and “tracking”. The terms may be compared to a list for removing common words such as the word “and”. Next, the remaining terms may be compared to a list of root words for determining root words among the terms. The term “photo” is a root word. The terms “planning” and “tracking” correspond to the root words “plan” and track,” respectively. The resulting words and corresponding number of occurrences are shown in the metadata table shown in Table 3.
  • Table 4 below shows an example of content in a metadata table for the file having the file name “automatic-peer-to-route.doc”.
  • Table 4 is generated by separating terms in each file name from one another by the file name's hyphens and removing the hyphens. Further, the suffix “doc” after the period is removed. The remaining terms are “Automatic,” “peer,” “to,” and “route”. The terms may be compared to a list for removing common words such as the word “to”. Next, the remaining terms may be compared to a list of root words for determining root words among the terms. All of the words are root words. The resulting words and corresponding number of occurrences are shown in the metadata table shown in Table 4.
  • Metadata tables for each of the other files may be generated or obtained from a metadata store.
  • an analysis table may be generated including an aggregate of the data from the metadata tables.
  • Table 5 below shows an example of content in an analysis table for the files of the container.
  • the metadata table includes a ranking by a number of occurrences for each metadata term contained in the metadata tables for the container and the number of occurrences for the metadata terms.
  • the metadata term “route” has the highest number of occurrences among the metadata terms.
  • the acceptability rules may be applied to metadata term “route”. If the term “route” meets the requirements of the acceptability rules, the container may be identified using the identifier “route”. Otherwise, the acceptability rules may be applied to the metadata terms in order according to ranking until a term meeting the requirements is found. The highest ranking metadata term that meets the acceptability rules may be used as the identifier for the container.
  • a container may include files with the following file names:
  • a metadata table may include one or more metadata terms and number of occurrences for each of the metadata terms.
  • an analysis table may be generated including an aggregate of the data from the metadata tables.
  • Table 6 below shows an example of content in an analysis table for the files of the container.
  • the analysis table includes a ranking by a number of occurrences for each metadata term contained in the metadata tables for the container and the number of occurrences for the metadata terms.
  • the metadata terms “disclosure” and “route” have the highest number of occurrences among the metadata terms.
  • the acceptability rules may be applied to metadata terms “disclosure” and “route”. If both terms meet the requirements of the acceptability rules, the container may be identified using one of identifiers “disclosure-route” and “route-disclosure”.
  • the container monitor may select “disclosure-route” in alphabetical order as the identifier for the container. If either of the terms do not meet the acceptability rules, the other may be selected if the term meets the rules. If neither term meets the acceptability rules, the rules may be applied to the metadata terms in order according to ranking until a term meeting the requirements is found. The highest ranking metadata term that meets the acceptability rules may be used as the identifier for the container. In another example, two different terms in a metadata table may be used if the number of occurrences of the terms is close to one another.
  • a user may upload image files that have been recently taken and associate the image files with a container. Based on the file type, metadata may be generated for the image files in the container. The pictures were taken on a vacation to Paris. The user may manually name the container with an identifier such as “Paris” or “Paris Photos”. Next, the user may upload images taken on a trip to Normandy to the container. The system may analyze the location data of the Normandy images and determine that the location of the images does not match the name of the container. Metadata from the Normandy images may be used for renaming the container. The container may be renamed by performing a lookup in a stored ontology.
  • the system may determine that Paris and Normandy are within France.
  • the system may determine that to use a combination of “Paris” and “Normandy,” such as the name “Paris-Normandy,” to name the container.
  • the user may upload images from France such that its metadata is “Stras Victoria”.
  • a naming rule may disallow using more than one hyphen.
  • the system may determine the name “France” from an ontology since it is a term that encompasses all of the terms “Paris,” “Normandy,” and “Strasbourg”.
  • the container may automatically be named “France”. Alternatively, the name “France” may be presented to the user as a suggested name for the container.

Abstract

Methods, systems, and computer program products for identifying a change in a container associated with a plurality of files are disclosed. According to one aspect, a method includes providing for identify a change in a container associated with a plurality of associated files. The prevailing metadata is not required to be from all of the plurality of associated files. Further, the container may be named based on the prevailing metadata.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of U.S. patent application Ser. No. 11/474,998, which was filed Jun. 6, 2006, the disclosure of which is hereby incorporated by reference in its entirety.
  • TECHNICAL FIELD
  • The subject matter described herein relates to maintaining a container. More particularly, the subject matter described herein relates to methods, systems, and computer program products for maintaining a container associated with a plurality of files.
  • BACKGROUND
  • Computer system files may be associated together by an object referred to herein as a container. A computer system may include multiple containers that each associate together one or more files. One example of a container is a file folder that holds one or more files. Another example of a container is a pointer, which may point to one or more files stored in memory. In another example, a container may be a directory that organizes files. In yet another example, a container may be a shortcut, which is a file containing the location of one or more other files stored on a computer.
  • A container may include an identifier. The identifier may be a series of characters or name that is used to identify a container. Typically, the identifier characters are in the form of a name for providing an indication to a user of the content of the files associated with the container. For example, the container identifier “work project” may indicate that the files associated with the container relate to a work project.
  • Typically, a container is associated with an identifier when the container is created. The computer system may provide a default identifier when the container is created. An exemplary default identifier may be “New Folder”. A user may manually change the identifier for the container to a name that reflects the contents of the container. A user may manually re-identify the container to reflect new or changing content of the container. However, requiring the user to manually re-identify a container each time the container's contents change may result in lost contents. For example, because the re-naming process is manual, the user may forget to change the identifier when the content of a container changes. Because the name of a folder may not reflect its contents, the user may forget where certain contents are stored.
  • One difficulty with identifiers can occur when the content of a container changes. In some cases, a container identifier may no longer reflect the container's content. For example, images files of a sporting event may be added to container identified with the identifier “vacation” such that the container includes more image files of the sporting event than any other file. In this example, it may be desirable to re-identify the container to an identifier such as “sporting event” in order to reflect the changed content. A user can manually change the container's identifier. However, as stated above, re-identifying the container may be burdensome to the user. Moreover, using conventional methods for identifying folders, a user is required to know enough about the files in the container to identify the container.
  • Accordingly, in light of the above described difficulties and needs associated with identifying a container, there exists a need for improved methods, systems, and computer program products for identifying a container associated with a plurality of files.
  • SUMMARY
  • According to one aspect, the subject matter described herein includes methods, systems, and computer program products for maintaining a container associated with a plurality of files. One method includes providing for disassociating a file with a container associated with a plurality of associated files. The prevailing metadata is not required to be from all of the plurality of associated files. The container is renamed based on the remaining prevailing metadata.
  • As used herein, the term “file” refers to a collection of electronic data or information stored and/or transmitted using a common identifier (such as a file name). Exemplary types of files include data files, text files, program files, directory files, word processing files, image files, video files, spreadsheet files, and the like. A file may be identified (or named) by a sequence of one or more characters.
  • As used herein, the term “metadata” refers to data or information about a file and associated with the file. Metadata may describe file attributes such as how, when, and/or by whom a file was collected. Further, metadata may describe how the file is formatted. Every file may not have metadata associated with it.
  • As used herein, the term “container” refers to an association of files. For example, a container may be a digital folder for organizing a plurality of files together. A digital folder may also contain one or more digital sub-folders including one or more files. In another example, a container may be a pointer that points to a plurality of files stored in memory. In yet another example, a container may be a directory for organizing a plurality of files. In another example, a container may be a shortcut, which may be a file containing the location of one or more other files stored on a computer. A container may be identified (or named) by any suitable identifier, such as a sequence of one or more characters.
  • The subject matter described herein may be implemented using a computer program product comprising computer executable instructions embodied in a computer-readable medium. Exemplary computer-readable media suitable for implementing the subject matter described herein include chip memory devices, disk memory devices, programmable logic devices, application specific integrated circuits, and downloadable electrical signals. In addition, a computer-readable medium that implements the subject matter described herein may be located on a single device or computing platform or may be distributed across multiple devices or computing platforms.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Preferred embodiments of the subject matter described herein will now be explained with reference to the accompanying drawings of which:
  • FIG. 1 is a block diagram of an exemplary system configured to identify a container associated with a plurality of files according to an embodiment of the subject matter described herein;
  • FIG. 2 is a flow chart of an exemplary process for identifying a container associated with a plurality of files according to an embodiment of the subject matter described herein; and
  • FIGS. 3A and 3B are flow charts of an exemplary process for use by the system shown in FIG. 1 for identifying a container with a plurality of files according to an embodiment of the subject matter described herein.
  • DETAILED DESCRIPTION
  • The subject matter described herein includes methods, systems, and computer program products for identifying a container associated with a plurality of files. According to one aspect, a system according to the subject matter described herein may be implemented as hardware, software, and/or firmware components executing on one or more components of a system operable to associate a container with one or more files. FIG. 1 is a block diagram of an exemplary system 100 identify a container 102 associated with a plurality of files 104 according to an embodiment of the subject matter described herein. Files 104 may each be associated with or include metadata 106. Container 102 may be a digital folder configured to associate files 104. Alternatively, container 102 may be a pointer for pointing to one or more locations in a memory where files 104 are stored. In another example, container 102 may be a directory for organizing files together. In yet another example, container 102 may be a shortcut for associating files 104 with one another. Metadata 106 may be associated with files 104 and include data or information about its corresponding file. Although only one container 102 is shown, system 100 may include a plurality of containers. System 100 may be any suitable system, such as a personal computer (PC), a mobile phone, a PDA, a digital camera, a smart phone, and the like, operable to associate one or more files with a container.
  • System 100 may include means for providing for associating a file with a container associated with at least one file to form a plurality of associated files. For example, system 100 may include a container monitor 108 configured to provide for associating a file with a container associated with at least one file to form a plurality of associated files. Container monitor 108 may receive instructions or commands from a system user or system process to associate a new or preexisting file with container 100, which is associated with one or more files 104. For example, container monitor 108 may place a file into a digital folder identified by a command or instruction received from a user via a user interface, such as a drag-and-drop or copy/paste operation. In another example, container monitor 108 may use a pointer to point to an address of a file. In yet another example, container monitor 108 may organize a file into a directory. Container 102 and files 104 may be identified by a sequence of one or more characters, such as a name. The identifier can be displayed to a user in order to help the user to determine the contents of the files associated with the container.
  • Metadata 106 may include data or information about a corresponding file 104. Metadata 106 may describe file attributes such as how, when, and/or by whom a file was collected. Further, metadata 106 may describe how the file is formatted. In one example, metadata 106 may include a file name for a corresponding file 104. In another example, metadata 106 may include a file creation time or date for a corresponding file 104. In another example, metadata 106 may include a file author name for a corresponding file 104. In another example, metadata 106 may include a photographer name for an image contained in a corresponding file 104. In another example, metadata 106 may include an image-related tag for an image contained in a corresponding file 104. In another example, metadata 106 may include content within the file, such as text in a text file.
  • Container monitor 108 may be configured to monitor one or more containers 102. In one example, container monitor 108 may track when containers are associated with files, which could occur concurrently with creation of the container. Further, container monitor 108 may include one or more policies or rules about identifying containers. The policies may be applied when a file is added to a container for determining whether the container is to be re-identified based on the addition of the file. Further, the policies may set forth criteria about the types of containers that can be identified or named. For example, container monitor 108 may include a policy that nested containers or sub-containers cannot be re-identified. In another example, container monitor 108 may determine whether a container is a system container and include a policy that system containers are not re-identified. In this example, container monitor 108 may conduct searches for shortcuts and shared directories including the identifier or name of the container. When a file is added to container 102, container monitor 108 may apply one or more of the policies for determining whether container 102 can be identified. If the container had been previously identified, policies may be applied for determining whether the container can be re-identified.
  • System 100 may include means for determining prevailing metadata among a plurality of files associated with a container. As used herein, the term “prevailing metadata” refers to metadata common to a majority of files associated with a container, metadata common to a majority of a subset of files associated with the container, and/or metadata descriptive of metadata common to a majority of files or a majority of a subset of files associated with the container. An example of the later includes categories for metadata. For example, metadata for three files added to or associated with a container may be CADILLAC, TOYOTA, and HONDA, and the prevailing metadata can be “cars” or “automobile manufacturers”.
  • Tie-breaking rules, such as maintaining a current container identifier, may be used when different groups of files having common metadata include the same number of files. In one example, a container identifier 110 is configured to determine prevailing metadata among a plurality of files 104 associated with container 102 by analysis of metadata 106 from the plurality of associated files 104. The prevailing metadata may be determined when a file is associated with a container that is associated with at least one file. Container identifier 110 may generate an identifier for container 102 based on prevailing metadata and communicate the identifier to container monitor 108, which may re-identify container 102 using the identifier.
  • Prevailing metadata may be determined based on one or more of the same or different types of metadata associated with files of a container. In one example, prevailing metadata may be determined based on an analysis of file attributes of files associated with a container. In another example, prevailing metadata may be determined based on an analysis of a format of files associated with a container. In another example, prevailing metadata may be determined based on an analysis of file names of files associated with a container. In another example, prevailing metadata may be determined based on an analysis of file creation times or dates of files associated with a container. In yet another example, prevailing metadata may be determined based on an analysis of file author names of files associated with a container. In another example, prevailing metadata may be determined based on an analysis of photographer names for images contained in files associated with a container. In yet another example, prevailing metadata may be determined based on an analysis of an image-related tag for images contained in files associated with a container. In another example, metadata 106 may be determined based on an analysis of content within the file, such as text in a text file.
  • Container identifier 110 may include a metadata analyzer 112 and an identifying engine 114 for determining prevailing metadata and an identifier for container 102. Metadata analyzer 112 may be configured to gather and analyze metadata 106 associated with files 104. Container monitor 108 may identify which files 104 are associated with container 102 and indicate the identified files to metadata analyzer 112.
  • Metadata analyzer 112 may receive the identifications of files 104 from container monitor 108 and may, according to one aspect, perform a lookup in a metadata store 116 for each of the identified files 104 for determining whether metadata store 116 includes metadata for any of the identified files 104. Metadata store 116 may include metadata tables having metadata for files that have been previously analyzed by metadata analyzer 112. As described in further detail below, metadata analyzer 112 may generate metadata tables including metadata for identified files. The generated tables may be stored by metadata store 116. If metadata store 116 includes a metadata table for an identified file 104, metadata analyzer 112 may retrieve the metadata table for the identified file 104. If metadata store 116 does not include a metadata table for an identified file 104, metadata analyzer 112 may generate a metadata table having predetermined metadata for the identified file 104 and store the table in metadata store 116.
  • Exemplary predetermined metadata that may be generated by metadata analyzer 112 may include a file name. For example, metadata analyzer 112 may extract the entirety or a portion of a file name from an identified file 104 for generating a table for the file. In one embodiment, one or more portions of metadata may be used for determining an identifier for a container. In the example of using a file name for determining an identifier, metadata analyzer 112 may separate a file name to extract individual terms. For example, if the file name is separated by underscores, hyphens, periods, or spaces, metadata analyzer 112 may capture the simple terms by parsing the file name using these special characters as delimiters. Other exemplary metadata that may be extracted by metadata analyzer 112 for generating a table include file attributes, such as image size, standard EXIF information modification date, and any metadata that may be entered by a user or metadata derived from file content.
  • In one embodiment, a root word in metadata may be extracted for use in creating a metadata table for a file. A dictionary and list of stop words/characters module 118 may determine the roots of terms in the metadata. The determined roots may be used as delimiters. For example, the terms “route,” “routing,” and “routes” have the root word “route”. In this example, the word “route” may be used as the basic metadata term among these terms. Metadata analyzer 112 may communicate metadata terms to module 118 for a determination of root words, if any, for the metadata terms.
  • In one embodiment, metadata analyzer 112 may use an entirety or a portion of content of a file for deriving metadata. For example, file content, such as file text, file name, author name, date, an index of terms in a file, and the like, may be used for deriving metadata. In the case of image files, wrapper information may be used for deriving metadata. Exemplary metadata that may be derived from an image file includes a creation date of an image, a photographer of an image, a location of an image, a tag added by a user to an image, and a tag added by a system after image analysis.
  • In one embodiment, metadata analyzer 112 may organize metadata tables according to file type. Each metadata table may include predetermined metadata that may be considered for the type of file in determining prevailing metadata for a container. Further, the predetermined metadata in the table may be ranked according to a preferred order for considering the predetermined metadata. Table 1 below shows exemplary file types and corresponding metadata that may be included in a metadata table.
  • TABLE 1
    Metadata Table Organization and Content
    Metadata Considered in
    File Type Order of Preference
    Text File 1. File Name
    2. Index Terms
    3. Author Name
    4. Date
    Image File 1. File Name
    2. User-created Tags
    3. Tags Created by Image
    Analysis
    4. Photographer Name
    5. Location of Image
    6. Date
    Media File (e.g., 1. File Name
    Audio File,
    Video File, and
    the like)

    In order to generate the data illustrated in Table 1, metadata analyzer 112 may extract a file name, index terms, an author name, and/or a date from a text file. Further, in this example, metadata analyzer 112 may extract a file name, user-created tags, tags created by image analysis, a photographer name, a location of an image, and/or a date from an image file. Metadata analyzer 112 may extract a file name from a media file. The predetermined metadata may be considered in order of preference according to the numbering order shown for each file type. For example, file name is the highest ranked metadata for each of the file types shown in Table 1. If a higher ranked metadata type is not available for a file, a lower ranked metadata type may be extracted. For example, in a text file, an author name may be used if a file name and index terms are unavailable for the text file.
  • Each metadata table may include a frequency for each metadata term that indicates the number of occurrences of the metadata term for the corresponding file. For example, metadata analyzer 112 may generate a metadata table including file name terms and the frequency of their occurrence in each file name.
  • Identifying engine 114 may determine prevailing metadata among files 104 associated with container 102 by using the metadata tables of files 104. Identifying engine 114 may receive the metadata tables from metadata analyzer 112. Identifying engine 112 may analyze the metadata tables for each file and generate an analysis table including one or more of the metadata terms in the metadata tables and the number of occurrences of each metadata term in the metadata tables. In one embodiment, identifying engine 114 ranks the metadata terms based on number of occurrences. In one example, the analysis table generated by identifying engine 112 may include a percentage (e.g., 10%) of the metadata terms that have the highest occurrence for the metadata tables. In another example, the analysis table generated by identifying engine 112 may include a number (e.g., 10) of metadata terms that have the highest occurrence for the metadata tables.
  • Identifying engine 114 may determine prevailing metadata for container 102 based on a number of occurrences of like metadata among the plurality of associated files 104. In one embodiment, the metadata with the highest number of occurrences in the analysis table is the prevailing metadata. In another embodiment, different types of metadata may be included in the analysis table and the prevailing metadata may be based on the respective number of occurrences of each metadata. For example, the metadata across all types of metadata that has the highest number of occurrences may be selected as the prevailing metadata.
  • In another embodiment, prevailing metadata may be determined based on a categorization of metadata among files 104. In one example, metadata from among files 104 may include the terms “Cadillac,” “Toyota,” and “Honda,” which are different brand names of cars or automobile manufacturers. A table may be maintained that includes entries for categorizing a plurality of terms. In this example, the table may categorize the terms as “cars” or “automobile manufacturers”. Using the table, the term “cars” or “automobile manufacturers” may be used as an identifier for container 102 or as a term in the metadata table for a determination of prevailing metadata.
  • Further, identifying engine 114 may apply one or more acceptability rules 120 to metadata terms. An acceptability rule 120 may evaluate a metadata term to determine whether the metadata term is acceptable. Identifying engine 114 may maintain a list of predetermined words that are not acceptable as a container identifier. Prevailing metadata may be compared to the list in order of ranking until a prevailing metadata term is selected that is not on the list. For example, an acceptability rule may specify that adjectives are not acceptable as container identifiers. In this example, identifying engine 114 may include a list of adjectives for comparison against the ranked metadata terms. In another example, an acceptability rule may specify that a root word of a metadata term should be a container identifier. In this example, identifying engine 114 may maintain a table of words and their corresponding root words for comparison against the ranked metadata terms. Further, in this example, the root word for a selected metadata term of the ranked metadata terms will be selected as the container identifier.
  • In yet another example, a uniqueness of a selected metadata term may be determined based on a comparison with identifiers of other containers. In this example, identifying engine 114 may maintain a list of identifiers for other containers. If there is already a container identified as “patents” and the selected metadata term is “patent” among the ranked metadata terms, the acceptability rules will disallow “patent” as a container identifier and select the next highest ranked metadata term from among the ranked metadata terms.
  • In another example, if more than one term has the same number of occurrences and the terms are thus ranked equally, the terms may be used together for creating a hyphenated identifier and the terms may be ordered alphabetically. The acceptability rules are applied to the ranked metadata terms in accordance with their rankings until a metadata term is found that meets the requirements of the acceptability rules. The metadata term with the highest number of occurrences and that meets the requirements of the acceptability rules may be selected as the prevailing metadata. Further, the selected prevailing metadata may be communicated to container monitor 108 for use as an identifier for container 102.
  • System 100 may include means for identifying a container based on the prevailing metadata. In one example, container monitor 108 may be configured to identify container 102 based on the prevailing metadata. As stated above, identifying engine 114 may select a prevailing metadata term and communicate the term to container monitor 108. Container monitor 108 may use the prevailing metadata term as a new identifier for container 102 if container 102 has not been identified. Alternatively, if container 102 has been previously identified, container 102 may be re-identified with the prevailing metadata term.
  • FIG. 2 is a flow chart illustrating an exemplary process for identifying a container associated with a plurality of files according to an embodiment of the subject matter described herein. Referring to FIG. 2, in block 200 the process provides for associating a file with a container associated with at least one file to form a plurality of associated files. For example, a process associated with system 100 may allow a user to associate a file folder or other container type with one or more files using, for example, a drag-and-drop operation via a graphical user interface. In block 202, prevailing metadata among the plurality of associated files may be determined. The prevailing metadata may be determined using any of the techniques described above. As stated above, the prevailing metadata is not required to be from all of the plurality of associated files. In block 204, the container is identified based on the prevailing metadata. Identifying the container may include re-naming the container in response to detecting a change in the prevailing metadata.
  • FIGS. 3A and 3B are flow charts illustrating an exemplary process for use by system 100 shown in FIG. 1 for identifying a container with a plurality of files according to an embodiment of the subject matter described herein. Referring to FIG. 3A, system 100 monitors container 102 using container monitor 108 (block 300). In block 302, container 102 may be associated with one or more files 104. Container monitor 114 may determine whether container 102 is associated with more than one file 104 and meets policies for identifying a container (block 304). If it is determined that container 102 is not associated with more than one file 104 and/or does not meet policies for identifying the container, the process may proceed to block 302. Otherwise, if it is determined that container 102 is associated with more than one file 104 and meets policies for identifying the container, the process may proceed to block 306.
  • In block 306, metadata analyzer 308 may select a file among files 104 in container 102 that has not been processed with respect to identifying container 102. The selected file may be a file recently associated with container 102. For example, the selected file may be a file that has been recently added to a digital folder. In one embodiment, block 306 may be initiated when a new file is associated with container 102 that is associated with at least one other file, such that a plurality of files is formed. Container monitor 108 may identify for container identifier 110 the files that are associated with container 102.
  • In block 308, metadata analyzer 112 may determine whether metadata analysis information for the file selected in block 306 is stored in metadata store 116. For example, metadata store 116 may include metadata tables having metadata for files that have been previously analyzed by metadata analyzer 112. If it is determined that metadata analysis information for the selected file is stored in metadata store 116, metadata analyzer 112 may retrieve the metadata analysis information from metadata store 116 (block 310).
  • Otherwise, if it is determined in block 308 that metadata analysis information for the selected file is not stored in metadata store 116, metadata analyzer 112 may generate metadata analysis information for the selected file (block 312). For example, as discussed above, metadata analyzer 112 may generate a metadata table having predetermined metadata for the identified file 104 and store the table in metadata store 116. The metadata analysis information may be generated based on the file type of the selected file.
  • In block 314, metadata analyzer 112 may determine whether all of the files associated with container 102 have been analyzed. For example, metadata analyzer 112 may determine whether metadata analysis information has been generated and/or collected for all of files 104 associated with container 102. If it is determined that all of the files associated with container 102 have not been analyzed, the process may proceed to block 306. Otherwise, if it is determined that all of the files associated with container 102 have been analyzed, the process may proceed to block 316.
  • Referring to FIG. 3B, in block 316, identifying engine 114 may generate an analysis table including one or more of the metadata terms among files 104 associated with container 102 and the incidence of the metadata terms among files 104. The analysis table may be generated based on metadata tables of files 104 of container 102.
  • In block 318, identifying engine 114 may select the metadata term in the analysis table that has the highest incidence. Identifying engine 114 may apply one or more acceptability rules to the selected metadata term (block 320). Further, identifying engine 114 may determine whether the selected metadata term meets the acceptability rules (block 322). If it is determined that the selected metadata term does not meet the acceptability rules, identifying engine 114 removes the selected metadata term from selection in the analysis table (block 324) and the process proceeds to block 318 for selection of the metadata term with the next highest incidence. Otherwise, if it is determined that the selected metadata term meets the acceptability rules, the process may proceed to block 326.
  • In block 326, the selected metadata term meeting the acceptability rules may be used as an identifier for container 102. Identifying engine 114 may communicate the selected metadata term to container monitor 108, which may identify or re-identify container 102 using the selected metadata term.
  • In one embodiment, a user may be provided with an option to accept a prevailing metadata term as an identifier for a container. If the user accepts the term, the term may be used as the container. Otherwise, if the user does not accept the term, another metadata term, such as the next highest ranking metadata term in an analysis table, may be presented to the user for optional selection as the container's identifier. Further, if the user does not accept the term, the term may be added to a list of suggested metadata terms. The list of suggested metadata terms may be maintained for comparison against other terms. The system may not use a term in the list of suggested metadata terms, because the list indicates previously rejected terms. Further, if a user accepts a metadata term that was previously used or identifies a container, an indication of the previous use may be provided to a user.
  • In one embodiment, metadata may be derived from the content of a file for use in identifying a container. For example, a file's metadata may be generated by creating an index of a file document. An index may be created using suitable document processing software. Table 2 below illustrates an exemplary metadata table that may be generated using metadata terms from an index of a file document.
  • TABLE 2
    Metadata Table for the Files of the Container
    Number of
    Metadata Term Occurrences
    Disclosures 71
    Data 66
    Camera 18
    Automatic 7
    Route 2
    Image 2

    Each file may be associated with an index that is created based on the file. Further, each index term may have a number of occurrences. The analysis table may be generated by a metadata analyzer and passed to an identifying engine for generating an analysis data for all of the files associated with the container.
  • In one embodiment, a suggestion may be provided to a user to associate two of more sets or files associated with a single container with two or more containers when there are no overlapping metadata terms between the sets of files. Further, if the user selects the suggestion, the file sets may be divided as suggested into two or more containers, and each container may be identified according to its corresponding prevailing metadata. For example, a container may include first and second groups of files that include pictures of boats and trucks, respectively. The prevailing metadata for the first and second group may be the metadata terms, “boat” and “truck,” respectively. If the terms “boat” and “truck” do not overlap in the first and second sets, a suggestion may be provided to the user to divide the first and second groups into two different containers. The container having the metadata term “boat” may be labeled “boat”. Likewise, the container having the metadata term “truck” may be labeled “truck”. A user may be provided with an option for providing two containers in the manner.
  • In one embodiment, a container may be a shortcut to another container. The shortcut container may be renamed based on prevailing metadata. Further, system 100 may provide for renaming the other container based on the prevailing metadata by automatically renaming the other container based on the prevailing metadata, querying a user whether to rename the other container, or instructing a user to rename the other container. In one example, a folder may have a shortcut associated with it. In this example, container monitor 108 may determine that the folder has a shortcut associated with it. Further, in this example, when the content of the folder changes and prevailing metadata is determined, system 100 may indicate to a user that the container is a shortcut, determine not to rename the folder because it is a shortcut, or recreate the shortcut with the prevailing metadata as the new identifier of the folder.
  • In one embodiment, an identifying engine may determine one or more user-preferred naming conventions and maintain a record of the user-preferred naming conventions. The identifying engine can apply the naming conventions for naming or identifying a container. A user-preferred naming convention may be determined based on naming history and patterns of names that a user prefers. For example, the identifying engine may determine that a user does not prefer to use compound names for naming containers. In this example, if the identifying engine determines that the user dislikes compound names for naming containers, the identifying engine may maintain a record of this preference and not name or suggest naming containers using compound names. In another example, the identifying engine may maintain a list of preferred terms for naming containers. In this example, metadata may be matched with the list of preferred terms to identifying prevailing metadata.
  • In one embodiment, an identifying engine may suggest a plurality of names to a user for naming a container. The user may accept one of the names for naming the container. For example, the identifying engine may determine a plurality of metadata terms in an analysis table based on the number of occurrences of the metadata terms. The metadata terms may be presented to a user for accepting of one or a combination of the terms for naming the container. The user may indicate a user preference for accepting one or a combination of the terms. The system may identify or name the container based on whether one or a combination of the terms is accepted by the user. Further, the system may determine whether a container was previously identified with a name and the previously identified name was changed to another name for determining whether the name is acceptable to a user.
  • In one embodiment, the identification of a container may be based on a name change history for the container. An identifying engine may determine a name change history for the container and determine whether to rename the container based on the name change history. For example, if an identifier or name of a container is changed frequently, the identifying engine may determine that the container name should not be changed. In one example, the identifying engine may determine whether a predetermined time period has elapsed since the last name change for the container. If the predetermined time period has elapsed, the identifying engine may determine to use prevailing metadata for naming the container. If the predetermined time period has not elapsed, the identifying engine may determine not to change the container's name.
  • In another embodiment, a user may provide instructions for placing a renaming hold on a container. The renaming hold can be associated with the container and indicate that the container should not be renamed. The identifying engine may determine whether a container is associated with a renaming hold. If the identifying engine determines that the container is associated with a renaming hold, it may not rename the container.
  • Example of Identifying a Container
  • In one example of identifying a container according to the subject matter described herein, a container may include files with the following file names:
      • Photo-planning-and-tracking.doc
      • Automatic-peer-to-peer-route.doc
      • Automatically routing images-v1
      • History-routes
      • Creating Familiar routes
      • Automatically routing images-v2
        A process for identifying the container may be initiated when one or more of the files are associated with the container.
  • Initially, it is determined whether the container meets policies for identifying a container. If the policies are not met, the container may not be identified and the process may stop. Otherwise, if the policies are met, metadata tables may be generated for each of the files. A metadata table may include one or more metadata terms and number of occurrences for each of the metadata terms.
  • Table 3 below shows an example of content in a metadata table for the file having the file name “Photo-planning-and-tracking.doc”.
  • TABLE 3
    Metadata Table for File Named
    “Photo-planning-and-tracking.doc”
    Metadata Number of
    Term Occurrences
    Photo 1
    Plan 1
    Track 1
  • Table 3 is generated by separating terms in the file name from one another by each file name's hyphens and removing the hyphens. Further, the suffix “doc” after the period is removed. The remaining terms are “Photo,” “Planning,” “and,” and “tracking”. The terms may be compared to a list for removing common words such as the word “and”. Next, the remaining terms may be compared to a list of root words for determining root words among the terms. The term “photo” is a root word. The terms “planning” and “tracking” correspond to the root words “plan” and track,” respectively. The resulting words and corresponding number of occurrences are shown in the metadata table shown in Table 3.
  • Table 4 below shows an example of content in a metadata table for the file having the file name “automatic-peer-to-route.doc”.
  • TABLE 4
    Metadata Table for File Named
    “automatic-peer-to-route.doc”
    Metadata Number of
    Term Occurrences
    Automatic 1
    Peer 2
    route 1
  • Table 4 is generated by separating terms in each file name from one another by the file name's hyphens and removing the hyphens. Further, the suffix “doc” after the period is removed. The remaining terms are “Automatic,” “peer,” “to,” and “route”. The terms may be compared to a list for removing common words such as the word “to”. Next, the remaining terms may be compared to a list of root words for determining root words among the terms. All of the words are root words. The resulting words and corresponding number of occurrences are shown in the metadata table shown in Table 4.
  • Metadata tables for each of the other files may be generated or obtained from a metadata store. Next, an analysis table may be generated including an aggregate of the data from the metadata tables. Table 5 below shows an example of content in an analysis table for the files of the container.
  • TABLE 5
    Analysis Table for the Files of the Container
    Metadata Terms
    Ranked by
    Number of Number of
    Occurrences Occurrences
    Route 5
    Automatic 3
    Image 2
    Peer 2
    History 1
    Plan 1
    Create 1
    Track 1
    Photo 1
    Familiar 1
    v1 1
    v2 1
    History 1

    The metadata table includes a ranking by a number of occurrences for each metadata term contained in the metadata tables for the container and the number of occurrences for the metadata terms. The metadata term “route” has the highest number of occurrences among the metadata terms. The acceptability rules may be applied to metadata term “route”. If the term “route” meets the requirements of the acceptability rules, the container may be identified using the identifier “route”. Otherwise, the acceptability rules may be applied to the metadata terms in order according to ranking until a term meeting the requirements is found. The highest ranking metadata term that meets the acceptability rules may be used as the identifier for the container.
  • Example of Identifying a Container
  • In one example of identifying a container according to the subject matter described herein, a container may include files with the following file names:
      • Photo-planning-and-tracking-disclosure.doc
      • automatic-peer-to-peer-route-disclosure.doc
      • disclosure-Automatically routing images-v1
      • disclosure-History-routes
      • Creating Familiar routes
      • Disclosure-Automatically routing images-v2
        A process for identifying the container may be initiated when one or more of the files are associated with the container.
  • Initially, it is determined whether the container meets policies for identifying a container. If the policies are not met, the container may not be identified and the process may stop. Otherwise, if the policies are met, metadata tables may be generated for each of the files. A metadata table may include one or more metadata terms and number of occurrences for each of the metadata terms. Next, an analysis table may be generated including an aggregate of the data from the metadata tables.
  • Table 6 below shows an example of content in an analysis table for the files of the container.
  • TABLE 6
    Analysis Table for the Files of the Container
    Metadata Terms Ranked
    by Number of Number of
    Occurrences Occurrences
    Disclosure 5
    Route 5
    Automatic 3
    Image 2
    Peer 1
    History 1
    Plan 1
    Create 1
    Track 1
    Photo 1
    Familiar 1
    v1 1
    v2 1
    History 1

    The analysis table includes a ranking by a number of occurrences for each metadata term contained in the metadata tables for the container and the number of occurrences for the metadata terms. The metadata terms “disclosure” and “route” have the highest number of occurrences among the metadata terms. The acceptability rules may be applied to metadata terms “disclosure” and “route”. If both terms meet the requirements of the acceptability rules, the container may be identified using one of identifiers “disclosure-route” and “route-disclosure”. The container monitor may select “disclosure-route” in alphabetical order as the identifier for the container. If either of the terms do not meet the acceptability rules, the other may be selected if the term meets the rules. If neither term meets the acceptability rules, the rules may be applied to the metadata terms in order according to ranking until a term meeting the requirements is found. The highest ranking metadata term that meets the acceptability rules may be used as the identifier for the container. In another example, two different terms in a metadata table may be used if the number of occurrences of the terms is close to one another.
  • Example of Identifying a Container
  • In one example of identifying a container according to the subject matter described herein, a user may upload image files that have been recently taken and associate the image files with a container. Based on the file type, metadata may be generated for the image files in the container. The pictures were taken on a vacation to Paris. The user may manually name the container with an identifier such as “Paris” or “Paris Photos”. Next, the user may upload images taken on a trip to Normandy to the container. The system may analyze the location data of the Normandy images and determine that the location of the images does not match the name of the container. Metadata from the Normandy images may be used for renaming the container. The container may be renamed by performing a lookup in a stored ontology. Based on the lookup, the system may determine that Paris and Normandy are within France. The system may determine that to use a combination of “Paris” and “Normandy,” such as the name “Paris-Normandy,” to name the container. Later, the user may upload images from Strasbourg such that its metadata is “Strasbourg”. A naming rule may disallow using more than one hyphen. The system may determine the name “France” from an ontology since it is a term that encompasses all of the terms “Paris,” “Normandy,” and “Strasbourg”. The container may automatically be named “France”. Alternatively, the name “France” may be presented to the user as a suggested name for the container.
  • It will be understood that various details of the subject matter described herein may be changed without departing from the scope of the subject matter described herein. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation, as the subject matter described herein is defined by the claims as set forth hereinafter.

Claims (21)

What is claimed is:
1. A method for identifying a container associated with a plurality of files, the method comprising:
identifying a change in a container associated with a plurality of associated files;
determining prevailing metadata among the plurality of associated files including ranking the prevailing metadata based on a respective number of occurrences of each metadata, wherein the prevailing metadata is not required to be from all of the plurality of associated files; and
renaming the container based on the prevailing metadata,
wherein at least one of the preceding actions is performed on at least one electronic hardware component.
2. The method of claim 1 wherein at least one of the plurality of files comprises one of an image file, an audio file, a video file, a word processing file, and a text file.
3. The method of claim 1 wherein at least one of the plurality of files comprises one of a digital folder, a shortcut, a pointer for associating the plurality of associated files, and a directory.
4. The method of claim 1 wherein determining prevailing metadata among the plurality of associated files includes determining one or more of a prevailing file name among the plurality of associated files, a prevailing file creation date among the plurality of associated files, a prevailing file author name among the plurality of associated files, a prevailing photographer name among the plurality of associated files, a prevailing image-related tag attached by a user among the plurality of associated files, a prevailing file attribute among the plurality of associated files, and a prevailing portion or entirety of content among the plurality of associated files.
5. The method of claim 1 wherein determining prevailing metadata among the plurality of associated files includes determining the prevailing metadata based on a number of occurrences of like metadata among the plurality of associated files.
6. The method of claim 1 wherein determining prevailing metadata among the plurality of associated files includes determining the prevailing metadata based on a categorization of metadata among the plurality of associated files.
7. The method of claim 1 wherein determining prevailing metadata among the plurality of associated files includes associating a plurality of different metadata among the plurality of associated files with a respective number of occurrences of each metadata and determining prevailing metadata based on the respective number of occurrences of each metadata.
8. The method of claim 1 wherein determining prevailing metadata among the plurality of associated files includes applying one or more acceptability rules to the metadata of the plurality of associated files to qualify use of the metadata for identifying the container.
9. The method of claim 8 wherein applying one or more acceptability rules to the metadata includes excluding metadata for use in identifying the container based on the one or more acceptability rules.
10. The method of claim 1 wherein the container comprises a shortcut to another container and renaming the container based on the prevailing metadata comprises:
providing for renaming the other container based on the prevailing metadata.
11. The method of claim 1 wherein renaming the container based on the prevailing metadata includes determining a user-preferred naming convention and naming the container using the user-preferred naming convention.
12. The method of claim 1 wherein renaming the container based on the prevailing metadata includes:
determining whether the at least one name is acceptable to a user; and
naming the container based on whether the at least one name is acceptable to the user.
13. The method of claim 12 wherein determining whether the name is acceptable to a user comprises:
prompting a user with the at least one determined name for the container; and
receiving a user preference indicating at least one of an acceptable name among the at least one determined names and an alternate name.
14. The method of claim 13 wherein determining whether the name is acceptable to a user includes determining whether the container was previously identified with the name and the previously identified name was changed to another name.
15. The method of claim 1 wherein renaming the container based on the prevailing metadata includes naming the container based on a plurality of different metadata among the plurality of associated files.
16. The method of claim 1 wherein renaming the container based on the prevailing metadata comprises:
determining a name change history for the container; and
determining whether to rename the container based on the name change history.
17. The method of claim 1 wherein renaming the container based on the prevailing metadata comprises:
determining whether a renaming hold is associated with the container, the renaming hold indicating that the container should not be renamed; and
determining whether to rename the container based on the renaming hold determination.
18. The method of claim 1 further comprising suggesting to a user that one or more of the plurality of files be associated with another container, and the method comprising suggesting an identity for the other container based on the prevailing metadata.
19. A system for identifying a container associated with a plurality of files, the system comprising:
a container monitor configured to provide for identifying a change in a container associated with a plurality of associated files; and
a container identifier configured to:
determine prevailing metadata among the plurality of associated files including ranking the prevailing metadata based on a respective number of occurrences of each metadata, wherein the prevailing metadata is not required to be from all of the plurality of associated files; and
rename the container based on the prevailing metadata.
20. A system for identifying a container associated with a plurality of files, the system comprising:
means for providing for identifying a change in a container associated with a plurality of associated files;
means for determining prevailing metadata among the plurality of associated files including ranking the associated metadata based on a respective number of occurrences of each metadata, wherein the prevailing metadata is not required to be from all of the plurality of associated files; and
means for renaming the container based on the prevailing metadata.
21. A computer program product comprising computer executable instructions embodied in a computer readable medium for performing steps comprising:
providing for identifying a change in a container associated with a plurality of associated files;
determining prevailing metadata among the plurality of associated files including ranking the associated metadata based on a respective number of occurrences of each metadata, wherein the prevailing metadata is not required to be from all of the plurality of associated files; and
renaming the container based on the prevailing metadata.
US14/672,281 2006-06-26 2015-03-30 Methods, Systems, And Computer Program Products For Identifying A Container Associated With A Plurality Of Files Abandoned US20150205791A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/672,281 US20150205791A1 (en) 2006-06-26 2015-03-30 Methods, Systems, And Computer Program Products For Identifying A Container Associated With A Plurality Of Files

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/474,898 US8996592B2 (en) 2006-06-26 2006-06-26 Methods, systems, and computer program products for identifying a container associated with a plurality of files
US14/672,281 US20150205791A1 (en) 2006-06-26 2015-03-30 Methods, Systems, And Computer Program Products For Identifying A Container Associated With A Plurality Of Files

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/474,898 Continuation US8996592B2 (en) 2006-06-26 2006-06-26 Methods, systems, and computer program products for identifying a container associated with a plurality of files

Publications (1)

Publication Number Publication Date
US20150205791A1 true US20150205791A1 (en) 2015-07-23

Family

ID=38874627

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/474,898 Expired - Fee Related US8996592B2 (en) 2006-06-26 2006-06-26 Methods, systems, and computer program products for identifying a container associated with a plurality of files
US14/672,281 Abandoned US20150205791A1 (en) 2006-06-26 2015-03-30 Methods, Systems, And Computer Program Products For Identifying A Container Associated With A Plurality Of Files

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/474,898 Expired - Fee Related US8996592B2 (en) 2006-06-26 2006-06-26 Methods, systems, and computer program products for identifying a container associated with a plurality of files

Country Status (1)

Country Link
US (2) US8996592B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107305582A (en) * 2016-04-25 2017-10-31 华为技术有限公司 A kind of metadata processing method and device
US20180052836A1 (en) * 2016-08-19 2018-02-22 Charles Nicholls System, Method and Apparatus for Data Management with Rules on Containers for Collections of Data

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4274226B2 (en) * 2006-10-25 2009-06-03 ソニー株式会社 Information processing apparatus and method, and program
KR100849844B1 (en) * 2006-12-22 2008-08-01 삼성전자주식회사 Apparatus and method for composing album automatically and managing cover image of album
US20090005901A1 (en) * 2007-06-28 2009-01-01 Pitney Bowes Incorporated Payment system for delivery services
US20090024596A1 (en) * 2007-07-18 2009-01-22 At&T Labs, Inc. System and apparatus to represent, store, manipulate, and process metadata information
US7761471B1 (en) * 2007-10-16 2010-07-20 Jpmorgan Chase Bank, N.A. Document management techniques to account for user-specific patterns in document metadata
US9082107B2 (en) * 2010-12-30 2015-07-14 Anaqua, Inc. Intellectual asset automatic docketing and file association
WO2012162803A1 (en) * 2011-06-03 2012-12-06 Gdial Inc. Systems and methods for authenticating and aiding in indexing of and searching for electronic files
CN104756067A (en) * 2012-10-08 2015-07-01 约翰·班缇沃格里欧 Method and system for managing metadata
US20140330691A1 (en) * 2013-05-01 2014-11-06 Life Dreams, Inc. Devices, methods and systems related to automation that provides financial planning advice
CA2938638C (en) * 2013-09-09 2020-10-06 UnitedLex Corp. Interactive case management system
US11314690B2 (en) 2015-01-29 2022-04-26 Longsand Limited Regenerated container file storing
EP4246447A3 (en) * 2017-11-20 2023-11-01 Huawei Technologies Co., Ltd. Method and device for dynamically displaying icon according to background image
US10949532B2 (en) * 2018-12-13 2021-03-16 Beijing Jingdong Shangke Information Technology Co., Ltd. System and method for monitoring file integrity of multiple containers using one agent
US11243910B2 (en) * 2019-08-19 2022-02-08 Uber Technologies, Inc. Indexing documents in a nested hierarchy of directories
US11481540B2 (en) 2019-11-19 2022-10-25 Salesforce.Com, Inc. Discrepancy resolution processor and methods for implementing the same

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020093574A1 (en) * 2001-01-12 2002-07-18 Minolta Co., Ltd. Digital camera
US20020188602A1 (en) * 2001-05-07 2002-12-12 Eastman Kodak Company Method for associating semantic information with multiple images in an image database environment
US20030037041A1 (en) * 1994-11-29 2003-02-20 Pinpoint Incorporated System for automatic determination of customized prices and promotions
US20040163034A1 (en) * 2002-10-17 2004-08-19 Sean Colbath Systems and methods for labeling clusters of documents
US8473532B1 (en) * 2003-08-12 2013-06-25 Louisiana Tech University Research Foundation Method and apparatus for automatic organization for computer files

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212512B1 (en) * 1999-01-06 2001-04-03 Hewlett-Packard Company Integration of a database into file management software for protecting, tracking and retrieving data
US6751604B2 (en) * 1999-01-06 2004-06-15 Hewlett-Packard Development Company, L.P. Method of displaying temporal and storage media relationships of file names protected on removable storage media
US7096222B2 (en) * 2000-09-01 2006-08-22 Borland Software Corporation Methods and systems for auto-instantiation of storage hierarchy for project plan
US20030063312A1 (en) 2001-06-01 2003-04-03 Tetsuya Kurimoto Image processing method and image processing system
EP1421518A1 (en) 2001-08-08 2004-05-26 Quiver, Inc. Document categorization engine
JP2004215231A (en) * 2002-12-16 2004-07-29 Konica Minolta Holdings Inc File management program
JP2004220569A (en) 2002-12-25 2004-08-05 Casio Comput Co Ltd Data file storage device, program and method
US8131739B2 (en) 2003-08-21 2012-03-06 Microsoft Corporation Systems and methods for interfacing application programs with an item-based storage platform
US7483915B2 (en) 2003-08-21 2009-01-27 Microsoft Corporation Systems and method for representing relationships between units of information manageable by a hardware/software interface system
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
JP2005109760A (en) 2003-09-29 2005-04-21 Fuji Photo Film Co Ltd Apparatus and method of storing image
US7155444B2 (en) 2003-10-23 2006-12-26 Microsoft Corporation Promotion and demotion techniques to facilitate file property management between object systems
US20050091184A1 (en) 2003-10-24 2005-04-28 Praveen Seshadri Personalized folders
JP2005157615A (en) * 2003-11-25 2005-06-16 Konica Minolta Photo Imaging Inc Imaging device, image processor and image processing program
US7343378B2 (en) 2004-03-29 2008-03-11 Microsoft Corporation Generation of meaningful names in flattened hierarchical structures
US7370273B2 (en) 2004-06-30 2008-05-06 International Business Machines Corporation System and method for creating dynamic folder hierarchies
US20070100834A1 (en) * 2004-09-15 2007-05-03 John Landry System and method for managing data in a distributed computer system
US20070083558A1 (en) * 2005-10-10 2007-04-12 Yahoo! Inc. Media item registry and associated methods of registering a rights holder and a media item

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030037041A1 (en) * 1994-11-29 2003-02-20 Pinpoint Incorporated System for automatic determination of customized prices and promotions
US20020093574A1 (en) * 2001-01-12 2002-07-18 Minolta Co., Ltd. Digital camera
US20020188602A1 (en) * 2001-05-07 2002-12-12 Eastman Kodak Company Method for associating semantic information with multiple images in an image database environment
US20040163034A1 (en) * 2002-10-17 2004-08-19 Sean Colbath Systems and methods for labeling clusters of documents
US8473532B1 (en) * 2003-08-12 2013-06-25 Louisiana Tech University Research Foundation Method and apparatus for automatic organization for computer files

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107305582A (en) * 2016-04-25 2017-10-31 华为技术有限公司 A kind of metadata processing method and device
US20180052836A1 (en) * 2016-08-19 2018-02-22 Charles Nicholls System, Method and Apparatus for Data Management with Rules on Containers for Collections of Data
US10417182B2 (en) * 2016-08-19 2019-09-17 Charles Nicholls System, method and apparatus for data management with rules on containers for collections of data
US20190361846A1 (en) * 2016-08-19 2019-11-28 Charles Nicholls System and Method for Storing Data with Rules on Containers for Collections of Data
US11030153B2 (en) * 2016-08-19 2021-06-08 Charles Nicholls System and method for storing data with rules on containers for collections of data

Also Published As

Publication number Publication date
US20070299806A1 (en) 2007-12-27
US8996592B2 (en) 2015-03-31

Similar Documents

Publication Publication Date Title
US8996592B2 (en) Methods, systems, and computer program products for identifying a container associated with a plurality of files
US11734335B2 (en) Method and system for organizing digital files
US7979388B2 (en) Deriving hierarchical organization from a set of tagged digital objects
US7797337B2 (en) Methods, systems, and computer program products for automatically associating data with a resource as metadata based on a characteristic of the resource
US8051035B2 (en) System and methods for image management
US8949241B2 (en) Systems and methods for interactive disambiguation of data
US20090094189A1 (en) Methods, systems, and computer program products for managing tags added by users engaged in social tagging of content
US20040098379A1 (en) Multi-indexed relationship media organization system
US20120084291A1 (en) Applying search queries to content sets
US9030502B2 (en) System and method for organizing documents
EP2857990A1 (en) File information previewing method and system
US20130006994A1 (en) System for organizing computer data
CN1975721B (en) Method and apparatus for managing content file information
JP2000276484A5 (en) Image search device, image search method
US20040006577A1 (en) Method for managing media files
US9098531B2 (en) Method and application for managing digital files
US8320667B2 (en) Automatic and scalable image selection
US20120297344A1 (en) Search and browse hybrid
US11809372B2 (en) Filtering and feeds
US20120023128A1 (en) Discovery of user's preferred filing convention for media items
US20170039223A1 (en) Information processing apparatus, information processing method, and program
US20120197909A1 (en) Method for determining a similarity of objects
US20060031261A1 (en) System and Method for Preserving and Displaying Physical Attributes in a Document Imaging System
CN110597955A (en) Method for searching intra-document picture based on TFIDF
JP2006268703A (en) Document management system

Legal Events

Date Code Title Description
AS Assignment

Owner name: SCENERA TECHNOLOGIES, LLC, NEW HAMPSHIRE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BARDSLEY, JEFFREY SCOTT;SINGH, MONA;REEL/FRAME:035732/0827

Effective date: 20060626

STCB Information on status: application discontinuation

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