WO2003046729A1 - Determining redundancies in content object directories - Google Patents

Determining redundancies in content object directories Download PDF

Info

Publication number
WO2003046729A1
WO2003046729A1 PCT/US2002/038209 US0238209W WO03046729A1 WO 2003046729 A1 WO2003046729 A1 WO 2003046729A1 US 0238209 W US0238209 W US 0238209W WO 03046729 A1 WO03046729 A1 WO 03046729A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
files
frequency representation
fingerprint
accessing
Prior art date
Application number
PCT/US2002/038209
Other languages
French (fr)
Inventor
Mark R. Thompson
Nathan F. Raciborski
Original Assignee
Aerocast.Com, Inc.
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 Aerocast.Com, Inc. filed Critical Aerocast.Com, Inc.
Priority to EP02784654A priority Critical patent/EP1451692A1/en
Priority to CA002468241A priority patent/CA2468241A1/en
Priority to KR10-2004-7008082A priority patent/KR20040072640A/en
Priority to AU2002346584A priority patent/AU2002346584A1/en
Publication of WO2003046729A1 publication Critical patent/WO2003046729A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • 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/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Definitions

  • This invention relates generally to fingerprinting files for identification, more specifically, this invention relates to determining redundancies in file directories.
  • a Napster bomber involved in a peer- to-peer network comiection with another user can misidentify his or her new song and allow a second user to download that file for listening.
  • the second user can waste a good deal of time in obtaining a copy of a song that was misidentified.
  • a memory system that contains redundant data can waste storage space that could be better used for nonredundant data. For example, as files are copied and stored during normal processes, they are given new names by users for easier identification. As a result, multiple files are stored on a computer system that contain the same data. Days, months, or years later, it is difficult to know from the file characteristics or identifiers, such as file names, whether the files are redundant or not. Thus, they are simply maintained on the computing system by the housekeeping programs. [04] With the advent of downloading audio and video files across computer networks for viewing by users on their home computers, there is a great potential for not only storing redundant files but also Napster bombing video files.
  • a user could potentially waste a good deal of time, for example in downloading a misidentified video file which has a substantially greater time involved in downloading as compared to a less memory intensive audio file.
  • the servers or caching computers that will store data or content files such as video files will have limited memory capacity for storing purposes. Thus, it would be desirable to be able to eliminate any unnecessary redundant files.
  • One embodiment of the invention provides a system for eliminating redundant files stored in a computer directory. This embodiment of the invention can be accomplished by accessing multiple files stored on memory, wherein each of the files is " configured to be identified by a fingerprint; determining a fingerprint for each of the files stored on the memory; establishing a standard, such as a redundancy standard, to indicate when any two fingerprints are redundant; comparing the fingerprints determined for each of the files; and determining which files are redundant based upon the comparison.
  • Redundant files can also be removed or deleted from the memory in one aspect.
  • various types of fingerprints could be utilized, such as Fast Fourier Transform (FFT) as the fingerprint, utilizing the watermark as the fingerprint, or, utilizing CRC as the fingerprint.
  • FFT Fast Fourier Transform
  • the system can be utilized to access various file formats such as audio files or video files.
  • a identifier for a file can be provided by accessing the file; deriving a frequency representation of the file; providing a file name for the file; providing the file name in a directory; and, associating the frequency representation of the file with the file name so that the frequency representation is accessible via the directory.
  • a Fourier Transform could be used, an FFT could be used, and a Discrete Fourier Transform (DFT) could be used.
  • the frequency representation could be included as metadata in an address listing.
  • a method of searching for a file can be utilized by obtaining a first frequency representation of a desired file; accessing a first unknown file; obtaining a second frequency representation of the unknown file; comparing the first frequency representation of the desired file with the second frequency representation of the unknown file; and, determining from the comparison whether the unknown file is the desired file.
  • the frequency representation can be obtained by different algorithms. For example, it could be performed utilizing an FFT, a
  • DFT Discrete Fourier Transform
  • frequency comparisons can be performed by comparing a range of frequencies of the first and second frequency representations so as to determine whether they are equivalent.
  • this embodiment can utilize a decoder to decode a file prior to obtaining the frequency representation for that file.
  • Fig. 1 provides a flowchart illustrating a method for removing redundant files according to one embodiment of the invention.
  • FIG. 2 provides a flowchart illustrating a method for identifying files in a directory according to one embodiment of the invention.
  • FIG. 3 provides a flowchart illustrating a method of identifying an unknown file according to one embodiment of the invention.
  • Fig. 4 illustrates a system for accomplishing the methods illustrated in Figs. 1, 2 and 3.
  • Fig. 5 illustrates a system for accomplishing the components shown in Fig. 4.
  • a method is provided to identify redundant files in a computing system. Such a method can be useful in identifying files on a user's own computer as well as identifying files on the computer of another.
  • a method 100 is illustrated in which according to block 104 a multiple number of files stored on a computer's memory is accessed. For example, the files on a user's own computer can be accessed.
  • a fingerprint for each of the files is then determined.
  • the determination of a fingerprint can take a variety of forms. As one example, a FFT can be utilized.
  • the FFT can be generated according to any commercially available program or chip for computing FFTs such as FFTW version 2.1.3 developed at MIT by Matteo Frigo and Steven G. Johnson and currently available for free at the FFTW.ORG website. (The algorithms for computing Fourier Transforms, Discrete Fourier Transforms and Fast Fourier Transforms are presented, for example, in Signals and Systems, by Oppenheim and Willsky, Prentice Hall 1983.)
  • the audio characteristics of a song could be sampled and a FFT could be generated for that particular song.
  • a FFT characteristic of that file could be generated.
  • the FFT characteristics will vary depending on the portion of the file that is utilized to generate the FFT.
  • the length of the segment of the song that is utilized can impact the resulting FFT.
  • a watermark could be utilized as the fingerprint for a file. Namely, a watermark that is placed on a file could not only serve to identify whether the file is authentic, but also it could be utilized to identify the characteristics of that file. Furthermore a CRC could be generated for a particular file so as to derive a unique identifier for that file.
  • a redundancy standard is established so as to indicate when two files are redundant of one another.
  • the requirements for sampling a file could be utilized to state that the first five minutes of playing time of the file are sampled at a specific sampling rate.
  • the resulting frequency histogram that is generated can vary by a predetermined percentage in comparison of the histograms of the two files. For example, if a histogram for file a is generated and histogram for file b is generated, a common pattern of the histograms may vary, for example, by five percent, and still be considered a redundant file.
  • the various characteristics that are utilized for determining whether files are redundant can be selected by the user. For example, stricter requirements could be utilized, such as an exact match between fingerprints of two files in determining whether they are redundant of one another.
  • the fingerprints of at least some of the files can be compared.
  • a determination can be made based on the comparison in block 116 as to whether any two files are redundant of one another.
  • the redundancy standard that was established can be utilized to provide criteria for determining in the comparison whether the two fingerprints satisfy the criteria of the established redundancy standard.
  • the results of a comparison could be displayed for viewing by a user to allow the user to determine whether the fingerprints are sufficiently similar to be considered redundant files.
  • any files that have been determined to be redundant can be removed.
  • a list of files and file characteristics could be displayed for viewing by the user showing which files are redundant of one another.
  • the user could make the final determination as to whether to remove files or keep them on the file system. It is envisioned that in most instances, such redundant files will simply be deleted from the memory and file directories of the computer system so as to free space for use by new files. Alternatively, some files may be retained even though they satisfied the redundancy standard.
  • the method of determining redundant files lends itself for use with any number of data files that can be fingerprinted. For example, audio files can easily be fingerprinted utilizing an FFT algorithm. Similarly, video files could be fingerprinted with an FFT algorithm. In the case of an audio file, a redundancy standard could be established by establishing a range of frequencies identified in the FFT and the percentage of the level of those frequencies that must match.
  • a fingerprint Once a fingerprint has been generated, it can be retained and appended as metadata to the file indicator. Thus, it could be associated with a file name in a file directory. Consequently, one could click on an FFT indicator next to a file name in a Microsoft Windows file directory to bring up a FFT fingerprint for that file. This would simply involve linking the FFT data to the file name in the file directory.
  • the fingerprint could be stored with the file in a database.
  • the fingerprint and file name or other identifier can be cataloged in a database. For example, if a database of video files is created by an entity on the internet, that entity could create a master database of content objects offered for streaming to viewing customers.
  • the entity could distribute content object files across its system and associate a fingerprint with each of the files.
  • the master database could retain a fingerprint for each file as well and utilize the fingerprint for housekeeping functions. For example, such housekeeping functions could be performed on remote databases such as caching servers to remove any redundant content files stored on the caching.
  • housekeeping functions could be performed on remote databases such as caching servers to remove any redundant content files stored on the caching.
  • FIG. 2 an embodiment of the invention for identifying a file is described.
  • a file is accessed as shown by block 204.
  • the file might simply be accessed from a file directory utilizing its file name as an identifier.
  • a frequency representation of the file can then be derived as indicated in block 208.
  • a FFT could be generated utilizing the file data so as to generate FFT data for that file.
  • a file name is provided for the file. Typically, this will simply involve using the same name that was previously used to access the file. However, one could easily provide a new name for the file.
  • the file name can be disposed in a directory for the file. Again, this could simply involve saving the file under a new name in a directory.
  • the frequency representation of the file is associated with the file name. As noted above, this could occur by linking the frequency representation data generated by an FFT with the file name given in the file directory. Thus, anyone wishing to view further identifiers of a particular file that has an associated frequency representation can pull up the FFT data or other frequency representation data and view the frequency characteristics for that file.
  • the frequency representation could be summarized with an indicator that is displayed as part of a file descriptor. For example, a file description in an internet address could be provided in which frequency data is related as metadata as part of that file address.
  • Fig. 3 illustrates an embodiment of the invention for identifying an unknown file.
  • file name associated with file data
  • searching based on that file name There is an assumption that the file name has not been mislabeled for that file data.
  • this embodiment of the invention can be utilized to search based on frequency characteristics of a song as opposed to a simple file name which can easily be corrupted.
  • a method 300 is shown illustrating an embodiment of the invention for identifying an unknown file.
  • a desired file is obtained and a first frequency representation of that file is generated. For example, this can be performed by obtaining a video file and generating an FFT based on the first five minutes of the audio portion of that video file. Alternatively, the FFT could be performed on the video portion of the video file. Thus a frequency representation indicative of that video file would be generated as a fingerprint.
  • an unknown file in a file directory is accessed. For example, a caching server which stores multiple files for downloading by commercial customers in a video distribution network could be accessed and a first unknown file from that caching server obtained.
  • a frequency representation of this unknown file is generated so as to produce a second frequency representation for comparison to the frequency representation earlier generated for the desired file. Consequently, in block 316 the comparison of the first frequency representation of the desired file is performed with the second frequency representation of the unknown file.
  • a determination is made from this comparison as to whether the unknown file is equivalent to the desired file a predetermined standard could be utilized to make this determination. It is envisioned that a user could be given a template of characteristics to choose from in determining the criteria to be used in the standard. Alternatively, the standard could be predefined by a standardizing body which established criteria for determining when two files are equivalent.
  • a user could act upon the conclusion, such as deleting a redundant file or performing further comparisons to dete ⁇ nine whether additional portions, such as the entire data file, are equivalent.
  • a program could be devised to compare initial portions of fingerprints for eliminating files that are clearly dissimilar and then through a repetitive process determining those files that are actual equivalents based upon subsequent comparisons.
  • FIG. 4 illustrates an embodiment of the invention that could be used for accomplishing the methods of Figs. 1, 2, and 3.
  • a system 400 is illustrated in which a network, such as the internet 416, is shown.
  • a first computer 412 housing a database of files is shown.
  • a second computer 404 is shown which can communicate through the network 416 with first computer 412.
  • a third computer 408 is shown which can communicate with both computers 404 and 408 via the network 416.
  • this could embody a video streaming network in which computer 404 serves as a caching server for maintaining copies of video files that are distributed to customers, such as a customer using third computer 408.
  • a master computer or master database could be accomplished with first computer 412.
  • FIG. 5 broadly illustrates how individual system elements can be implemented in a separated or more integrated manner within various, generally similarly configured processing systems.
  • System 500 is shown comprised of hardware elements that are electrically coupled via bus 508, including a processor 501, input device 502, output device 503, storage device 504, computer-readable storage media reader 505a, communications system 506 processing acceleration (e.g., DSP or special-purpose processors) 507 and memory 509.
  • processor 501 input device 502, output device 503, storage device 504, computer-readable storage media reader 505a
  • communications system 506 processing acceleration e.g., DSP or special-purpose processors
  • Computer-readable storage media reader 505 a is further com ected to computer-readable storage media 505b, the combination comprehensively representing remote, local, fixed and/or removable storage devices plus storage media, memory, etc. for temporarily and/or more permanently containing computer-readable information, which can include storage device 504, memory 509 and/or any other such accessible system 500 resource.
  • System 500 also comprises software elements (shown as being currently located within working memory 591) including an operating system 592 and other code 593, such as programs, applets, data and the like.
  • System 500 is desirable as an implementation alternative largely due to its extensive flexibility and configurability.
  • a single architecture might be utilized to implement one or more servers that can be further configured in accordance with currently desirable protocols, protocol variations, extensions, etc.
  • substantial variations may well be utilized in accordance with more specific application requirements.
  • one or more elements might be implemented as sub-elements within a system 500 component (e.g. within communications system 506).
  • Customized hardware might also be utilized and/or particular elements might be implemented in hardware, software (including so-called "portable software," such as applets) or both.
  • connection to other computing devices such as network input/output devices (not shown) may be employed, it is to be understood that wired, wireless, modem and/or other connection or connections to other computing devices might also be utilized.
  • Distributed processing, multiple site viewing, information forwarding, collaboration, remote information retrieval and merging, and related capabilities are each contemplated.
  • Operating system utilization will also vary depending on the particular host devices and/or process types (e.g. computer, appliance, portable device, etc.) and certainly not all system 500 components will be required in all cases.
  • embodiments of the invention could be accomplished as computer signals embodied in a carrier wave, as well as signals (e.g., electrical and optical) propagated through a transmission medium.
  • signals e.g., electrical and optical
  • the various information discussed above could be formatted in a structure, such as a data structure, and transmitted as an electrical signal through a transmission medium or stored on a computer readable medium.
  • many of the structures, materials, and acts recited herein can be recited as means for performing a function or steps for performing a function. Therefore, it should be understood that such language is entitled to cover all such structures, materials, or acts disclosed within this specification and their equivalents.

Abstract

A system for identifying files and for determining redundancies in content object directories (figure 1) accesses multiple files stored in memory (104). For each accessed file, a corresponding fingerprint is detrmined using Fast Fourier Transform (108). A frequency representation each file is then associated with a name for each file in a directory such that the frequency representation for the file is accessible via the directory. The fingerprints of the file are compared to identify redundancies (112,116,120), which are subsequently removed or deleted (124).

Description

Determining Redundancies in Content Object Directories
This invention relates generally to fingerprinting files for identification, more specifically, this invention relates to determining redundancies in file directories.
BACKGROUND [01] One of the drawbacks to computer systems is the vast number of redundant files that are repeatedly copied and stored in multiple directories. While attempts are made to identify these files by a unique name or characteristic, what often results is that redundant files are saved multiple times in a directory or computer system. As a result, a waste of memory occurs in storing the redundant files. Furthermore, it is not uncommon for files to either innocently or intentionally be misidentified in a computing system. As a result, files residing on the system may have an incorrect identifier that prevents them from being correctly or efficiently recognized by various users or application programs.
[02] As one example, in the industry of downloading music files across the internet, it is not uncommon for a new artist to store their new song under the name of a popular artist. The theory is that by storing the new song under the name of the more popular artist, more people will likely download that particular file and listen to the misidentified song of the new artist. This is commonly referred to as "Napster bombing". Apparently, the new artists feel that by Napster bombing there is a greater chance of being discovered by the listening public. In peer-to-peer networks, for example, one can access the directory of another user and view the available files of that user. Thus, the user who controls the physical directory can misidentify songs either intentionally or purposefully. A Napster bomber involved in a peer- to-peer network comiection with another user can misidentify his or her new song and allow a second user to download that file for listening. Thus, the second user can waste a good deal of time in obtaining a copy of a song that was misidentified.
[03] As another example, a memory system that contains redundant data can waste storage space that could be better used for nonredundant data. For example, as files are copied and stored during normal processes, they are given new names by users for easier identification. As a result, multiple files are stored on a computer system that contain the same data. Days, months, or years later, it is difficult to know from the file characteristics or identifiers, such as file names, whether the files are redundant or not. Thus, they are simply maintained on the computing system by the housekeeping programs. [04] With the advent of downloading audio and video files across computer networks for viewing by users on their home computers, there is a great potential for not only storing redundant files but also Napster bombing video files. As a result, a user could potentially waste a good deal of time, for example in downloading a misidentified video file which has a substantially greater time involved in downloading as compared to a less memory intensive audio file. Furthermore, the servers or caching computers that will store data or content files such as video files will have limited memory capacity for storing purposes. Thus, it would be desirable to be able to eliminate any unnecessary redundant files.
SUMMARY [05] One embodiment of the invention provides a system for eliminating redundant files stored in a computer directory. This embodiment of the invention can be accomplished by accessing multiple files stored on memory, wherein each of the files is" configured to be identified by a fingerprint; determining a fingerprint for each of the files stored on the memory; establishing a standard, such as a redundancy standard, to indicate when any two fingerprints are redundant; comparing the fingerprints determined for each of the files; and determining which files are redundant based upon the comparison. [06] Redundant files can also be removed or deleted from the memory in one aspect. Furthermore, various types of fingerprints could be utilized, such as Fast Fourier Transform (FFT) as the fingerprint, utilizing the watermark as the fingerprint, or, utilizing CRC as the fingerprint.
[07] In one embodiment, the system can be utilized to access various file formats such as audio files or video files.
[08] In another embodiment, a identifier for a file can be provided by accessing the file; deriving a frequency representation of the file; providing a file name for the file; providing the file name in a directory; and, associating the frequency representation of the file with the file name so that the frequency representation is accessible via the directory. [09] Again, in various embodiments of the invention a Fourier Transform could be used, an FFT could be used, and a Discrete Fourier Transform (DFT) could be used. Furthermore, the frequency representation could be included as metadata in an address listing. [10] In another embodiment of the invention a method of searching for a file can be utilized by obtaining a first frequency representation of a desired file; accessing a first unknown file; obtaining a second frequency representation of the unknown file; comparing the first frequency representation of the desired file with the second frequency representation of the unknown file; and, determining from the comparison whether the unknown file is the desired file.
[11] Furthermore, in various aspects of this embodiment, the frequency representation can be obtained by different algorithms. For example, it could be performed utilizing an FFT, a
Discrete Fourier Transform (DFT), or the like.
[12] In another aspect of this embodiment, frequency comparisons can be performed by comparing a range of frequencies of the first and second frequency representations so as to determine whether they are equivalent.
[13] Furthermore, this embodiment can utilize a decoder to decode a file prior to obtaining the frequency representation for that file.
BRIEF DESCRIPTION OF THE DRAWINGS [14] Fig. 1 provides a flowchart illustrating a method for removing redundant files according to one embodiment of the invention.
[15] Fig. 2 provides a flowchart illustrating a method for identifying files in a directory according to one embodiment of the invention.
[16] Fig. 3 provides a flowchart illustrating a method of identifying an unknown file according to one embodiment of the invention.
[17] Fig. 4 illustrates a system for accomplishing the methods illustrated in Figs. 1, 2 and 3. [18] Fig. 5 illustrates a system for accomplishing the components shown in Fig. 4.
DESCRIPTION [19] With the advent of downloading audio and especially video files across computer networks, it is ever more important to be able to correctly identify a proper file. Namely, a great deal of computing resources are required in the downloading of such files, as they are very memory intensive and not only require a good deal of time to download but consequently occupy a good deal of computing bandwidth. Thus, it is inefficient to download files that have been misidentified and do not serve the purpose of the user who requests the misidentified file. Furthermore, the storage space on computing systems is an ever present problem and it is beneficial when redundant files can be identified and removed from a computer's memory to create additional storage space.
[20] In one embodiment of the invention, a method is provided to identify redundant files in a computing system. Such a method can be useful in identifying files on a user's own computer as well as identifying files on the computer of another. In Fig. 1, a method 100 is illustrated in which according to block 104 a multiple number of files stored on a computer's memory is accessed. For example, the files on a user's own computer can be accessed. According to block 108, a fingerprint for each of the files is then determined. [21] The determination of a fingerprint can take a variety of forms. As one example, a FFT can be utilized. The FFT can be generated according to any commercially available program or chip for computing FFTs such as FFTW version 2.1.3 developed at MIT by Matteo Frigo and Steven G. Johnson and currently available for free at the FFTW.ORG website. (The algorithms for computing Fourier Transforms, Discrete Fourier Transforms and Fast Fourier Transforms are presented, for example, in Signals and Systems, by Oppenheim and Willsky, Prentice Hall 1983.)
[22] With an FFT, for example, the audio characteristics of a song could be sampled and a FFT could be generated for that particular song. Thus, a FFT characteristic of that file could be generated. The FFT characteristics will vary depending on the portion of the file that is utilized to generate the FFT. Furthermore, the length of the segment of the song that is utilized can impact the resulting FFT.
[23] As another example, a watermark could be utilized as the fingerprint for a file. Namely, a watermark that is placed on a file could not only serve to identify whether the file is authentic, but also it could be utilized to identify the characteristics of that file. Furthermore a CRC could be generated for a particular file so as to derive a unique identifier for that file.
[24] In block 112, a redundancy standard is established so as to indicate when two files are redundant of one another. For example, in the case of an FFT, the requirements for sampling a file could be utilized to state that the first five minutes of playing time of the file are sampled at a specific sampling rate. In addition, the resulting frequency histogram that is generated can vary by a predetermined percentage in comparison of the histograms of the two files. For example, if a histogram for file a is generated and histogram for file b is generated, a common pattern of the histograms may vary, for example, by five percent, and still be considered a redundant file. The various characteristics that are utilized for determining whether files are redundant can be selected by the user. For example, stricter requirements could be utilized, such as an exact match between fingerprints of two files in determining whether they are redundant of one another.
[25] In block 116 the fingerprints of at least some of the files can be compared. Thus, as illustrated in block 120 of Fig. 1, a determination can be made based on the comparison in block 116 as to whether any two files are redundant of one another. The redundancy standard that was established can be utilized to provide criteria for determining in the comparison whether the two fingerprints satisfy the criteria of the established redundancy standard. Alternatively, even without an established standard, the results of a comparison could be displayed for viewing by a user to allow the user to determine whether the fingerprints are sufficiently similar to be considered redundant files.
[26] In block 124 any files that have been determined to be redundant can be removed. For example, a list of files and file characteristics could be displayed for viewing by the user showing which files are redundant of one another. Thus, the user could make the final determination as to whether to remove files or keep them on the file system. It is envisioned that in most instances, such redundant files will simply be deleted from the memory and file directories of the computer system so as to free space for use by new files. Alternatively, some files may be retained even though they satisfied the redundancy standard. [27] The method of determining redundant files lends itself for use with any number of data files that can be fingerprinted. For example, audio files can easily be fingerprinted utilizing an FFT algorithm. Similarly, video files could be fingerprinted with an FFT algorithm. In the case of an audio file, a redundancy standard could be established by establishing a range of frequencies identified in the FFT and the percentage of the level of those frequencies that must match.
[28] Once a fingerprint has been generated, it can be retained and appended as metadata to the file indicator. Thus, it could be associated with a file name in a file directory. Consequently, one could click on an FFT indicator next to a file name in a Microsoft Windows file directory to bring up a FFT fingerprint for that file. This would simply involve linking the FFT data to the file name in the file directory. Thus, the fingerprint could be stored with the file in a database. As a result of this association, the fingerprint and file name or other identifier can be cataloged in a database. For example, if a database of video files is created by an entity on the internet, that entity could create a master database of content objects offered for streaming to viewing customers. Thus, the entity could distribute content object files across its system and associate a fingerprint with each of the files. The master database could retain a fingerprint for each file as well and utilize the fingerprint for housekeeping functions. For example, such housekeeping functions could be performed on remote databases such as caching servers to remove any redundant content files stored on the caching. [29] In Fig. 2, an embodiment of the invention for identifying a file is described. In flowchart 200 of Fig. 2, a file is accessed as shown by block 204. For example, the file might simply be accessed from a file directory utilizing its file name as an identifier. A frequency representation of the file can then be derived as indicated in block 208. As one example, a FFT could be generated utilizing the file data so as to generate FFT data for that file. In, block 212 a file name is provided for the file. Typically, this will simply involve using the same name that was previously used to access the file. However, one could easily provide a new name for the file. In block 216 the file name can be disposed in a directory for the file. Again, this could simply involve saving the file under a new name in a directory. In addition, as shown in block 220, the frequency representation of the file is associated with the file name. As noted above, this could occur by linking the frequency representation data generated by an FFT with the file name given in the file directory. Thus, anyone wishing to view further identifiers of a particular file that has an associated frequency representation can pull up the FFT data or other frequency representation data and view the frequency characteristics for that file. In block 224 the frequency representation could be summarized with an indicator that is displayed as part of a file descriptor. For example, a file description in an internet address could be provided in which frequency data is related as metadata as part of that file address.
[30] Fig. 3 illustrates an embodiment of the invention for identifying an unknown file. In some instances, it is desirable to take a known file and search for other occurrences of that known file. Typically, this is accomplished utilizing a file name associated with file data and searching based on that file name. There is an assumption that the file name has not been mislabeled for that file data. As noted above in the case of Napster bombing, this is an incorrect assumption as file names are often purposely listed incorrectly so as to dupe the listening public into downloading a new artist's song. Thus, this embodiment of the invention can be utilized to search based on frequency characteristics of a song as opposed to a simple file name which can easily be corrupted.
[31] In Fig. 3, a method 300 is shown illustrating an embodiment of the invention for identifying an unknown file. In block 304, a desired file is obtained and a first frequency representation of that file is generated. For example, this can be performed by obtaining a video file and generating an FFT based on the first five minutes of the audio portion of that video file. Alternatively, the FFT could be performed on the video portion of the video file. Thus a frequency representation indicative of that video file would be generated as a fingerprint. In block 308, an unknown file in a file directory is accessed. For example, a caching server which stores multiple files for downloading by commercial customers in a video distribution network could be accessed and a first unknown file from that caching server obtained. In block 312, a frequency representation of this unknown file is generated so as to produce a second frequency representation for comparison to the frequency representation earlier generated for the desired file. Consequently, in block 316 the comparison of the first frequency representation of the desired file is performed with the second frequency representation of the unknown file. In block 320 a determination is made from this comparison as to whether the unknown file is equivalent to the desired file, a predetermined standard could be utilized to make this determination. It is envisioned that a user could be given a template of characteristics to choose from in determining the criteria to be used in the standard. Alternatively, the standard could be predefined by a standardizing body which established criteria for determining when two files are equivalent. Once the determination is made, a user could act upon the conclusion, such as deleting a redundant file or performing further comparisons to deteπnine whether additional portions, such as the entire data file, are equivalent. Thus, a program could be devised to compare initial portions of fingerprints for eliminating files that are clearly dissimilar and then through a repetitive process determining those files that are actual equivalents based upon subsequent comparisons.
[32] Fig. 4 illustrates an embodiment of the invention that could be used for accomplishing the methods of Figs. 1, 2, and 3. In Fig. 4 a system 400 is illustrated in which a network, such as the internet 416, is shown. In Fig. 4, a first computer 412 housing a database of files is shown. Furthermore, a second computer 404 is shown which can communicate through the network 416 with first computer 412. In addition, a third computer 408 is shown which can communicate with both computers 404 and 408 via the network 416. As but one example, this could embody a video streaming network in which computer 404 serves as a caching server for maintaining copies of video files that are distributed to customers, such as a customer using third computer 408. A master computer or master database could be accomplished with first computer 412. Thus, from time to time, the master computer will desire to eliminate redundant files that are stored on its own database in first computer 412 as well as on a remote computer such as caching server 404. With this system, peer-to-peer communications could be established between the three computers. [33] FIG. 5 broadly illustrates how individual system elements can be implemented in a separated or more integrated manner within various, generally similarly configured processing systems. System 500 is shown comprised of hardware elements that are electrically coupled via bus 508, including a processor 501, input device 502, output device 503, storage device 504, computer-readable storage media reader 505a, communications system 506 processing acceleration (e.g., DSP or special-purpose processors) 507 and memory 509. Computer-readable storage media reader 505 a is further com ected to computer-readable storage media 505b, the combination comprehensively representing remote, local, fixed and/or removable storage devices plus storage media, memory, etc. for temporarily and/or more permanently containing computer-readable information, which can include storage device 504, memory 509 and/or any other such accessible system 500 resource. System 500 also comprises software elements (shown as being currently located within working memory 591) including an operating system 592 and other code 593, such as programs, applets, data and the like.
[34] System 500 is desirable as an implementation alternative largely due to its extensive flexibility and configurability. Thus, for example, a single architecture might be utilized to implement one or more servers that can be further configured in accordance with currently desirable protocols, protocol variations, extensions, etc. However, it will be apparent to those skilled in the art that substantial variations may well be utilized in accordance with more specific application requirements. For example, one or more elements might be implemented as sub-elements within a system 500 component (e.g. within communications system 506). Customized hardware might also be utilized and/or particular elements might be implemented in hardware, software (including so-called "portable software," such as applets) or both. Further, while connection to other computing devices such as network input/output devices (not shown) may be employed, it is to be understood that wired, wireless, modem and/or other connection or connections to other computing devices might also be utilized. Distributed processing, multiple site viewing, information forwarding, collaboration, remote information retrieval and merging, and related capabilities are each contemplated. Operating system utilization will also vary depending on the particular host devices and/or process types (e.g. computer, appliance, portable device, etc.) and certainly not all system 500 components will be required in all cases.
[35] While various embodiments of the invention have been described as methods or apparatus for implementing the invention, it should be understood that the invention can be implemented through code coupled to a computer, e.g., code resident on a computer or accessible by the computer. For example, software and databases could be utilized to implement many of the methods discussed above. Thus, in addition to embodiments where the invention is accomplished by hardware, it is also noted that these embodiments can be accomplished through the use of an article of manufacture comprised of a computer usable medium having a computer readable program code embodied therein, which causes the enablement of the functions disclosed in this description. Therefore, it is desired that embodiments of the invention also be considered protected by this patent in their program code means as well.
[36] It is also envisioned that embodiments of the invention could be accomplished as computer signals embodied in a carrier wave, as well as signals (e.g., electrical and optical) propagated through a transmission medium. Thus, the various information discussed above could be formatted in a structure, such as a data structure, and transmitted as an electrical signal through a transmission medium or stored on a computer readable medium. [37] It is also noted that many of the structures, materials, and acts recited herein can be recited as means for performing a function or steps for performing a function. Therefore, it should be understood that such language is entitled to cover all such structures, materials, or acts disclosed within this specification and their equivalents.
[38] It is thought that the apparatuses and methods of the embodiments of the present invention and many of its attendant advantages will be understood from this specification and it will be apparent that various changes may be made in the form, construction, and arrangement of the parts thereof without departing from the spirit and scope of the invention or sacrificing all of its material advantages, the form herein before described being merely exemplary embodiments thereof.

Claims

WHAT IS CLAIMED IS:
1. A method of providing an identifier for a file, said method comprising:
accessing said file;
deriving a frequency representation of said file;
providing a file name for said file;
providing said file name in a directory;
associating said frequency representation of said file with said file name so that said frequency representation is accessible via said directory.
2. The method as described in claim 1 wherein said frequency representation comprises a Fast Fourier Transform.
3. The method as described in claim 1 and further comprising:
configuring an address listing with an identifier for said frequency representation.
4. A method of searching for a file, said method comprising:
obtaining a first frequency representation of a desired file;
accessing a first unknown file;
obtaining a second frequency representation of said unknown file;
comparing said first frequency representation with said second frequency representation; and
determining from said comparing whether said unknown file is said desired file.
5. The method as described in claim 4 wherein said obtaining said first frequency representation of said desired file comprises:
performing a Fast Fourier Transform algorithm.
6. The method as described in claim 4 wherein said obtaining said first frequency representation comprises performing a Discrete Fourier Transform.
7. The method as described in claim 4 wherein said comparing said first frequency representation with said second frequency representation comprises:
comparing a range of frequencies of said first and second frequency representations.
8. The method as described in claim 4 and further comprising:
decoding said unknown file.
9. A method of determining redundancies in a content object directory, said method comprising:
accessing a plurality of files stored on a memory, wherein each of said files is configured so as to be identified by a fingerprint;
for each of said files, determining said fingerprint;
establishing a redundancy standard so as to indicate whether any two of said fingerprints of said files are redundant of one another;
comparing said fingerprints determined for each of said files;
determining redundant files based upon said comparing said fingerprints and said redundancy standard.
10. The method as described in claim 9 and further comprising:
deleting at least one redundant file from said memory.
11. The method as described in claim 9 and further comprising:
utilizing a Fast Fourier Transform algorithm to compute said fingerprint.
12. The method as described in claim 9 and further comprising:
utilizing a watermark as said fingerprint.
13. The method as described in claim 9 and further comprising:
utilizing cyclical redundancy check data as said fingerprint.
14. The method as described in claim 9 wherein said accessing a plurality of files comprises:
accessing a plurality of files comprising video data.
15. The method as described in claim 9 wherein said accessing a plurality of files comprises:
accessing a plurality of files comprising audio data.
16. The method as described in claim 9 wherein said establishing a redundancy standard comprises:
determining a range of frequencies in a pattern of frequencies from a Fast Fourier Transform for comparison of said fingerprints.
17. The method as described in claim 9 and further comprising:
appending a fingerprint as metadata to at least one directory listing.
18. The method as described in claim 9 and further comprising:
cataloging in a database said fingerprint with the file from which said fingerprint was generated.
PCT/US2002/038209 2001-11-28 2002-11-25 Determining redundancies in content object directories WO2003046729A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP02784654A EP1451692A1 (en) 2001-11-28 2002-11-25 Determining redundancies in content object directories
CA002468241A CA2468241A1 (en) 2001-11-28 2002-11-25 Determining redundancies in content object directories
KR10-2004-7008082A KR20040072640A (en) 2001-11-28 2002-11-25 Determining Redundancies in Content Object Directories
AU2002346584A AU2002346584A1 (en) 2001-11-28 2002-11-25 Determining redundancies in content object directories

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/002,290 2001-11-28
US10/002,290 US7035867B2 (en) 2001-11-28 2001-11-28 Determining redundancies in content object directories

Publications (1)

Publication Number Publication Date
WO2003046729A1 true WO2003046729A1 (en) 2003-06-05

Family

ID=21700095

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/038209 WO2003046729A1 (en) 2001-11-28 2002-11-25 Determining redundancies in content object directories

Country Status (7)

Country Link
US (1) US7035867B2 (en)
EP (1) EP1451692A1 (en)
KR (1) KR20040072640A (en)
CN (1) CN1596399A (en)
AU (1) AU2002346584A1 (en)
CA (1) CA2468241A1 (en)
WO (1) WO2003046729A1 (en)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7711564B2 (en) * 1995-07-27 2010-05-04 Digimarc Corporation Connected audio and other media objects
US6829368B2 (en) * 2000-01-26 2004-12-07 Digimarc Corporation Establishing and interacting with on-line media collections using identifiers in media signals
US6505160B1 (en) * 1995-07-27 2003-01-07 Digimarc Corporation Connected audio and other media objects
US7289643B2 (en) * 2000-12-21 2007-10-30 Digimarc Corporation Method, apparatus and programs for generating and utilizing content signatures
US7302574B2 (en) * 1999-05-19 2007-11-27 Digimarc Corporation Content identifiers triggering corresponding responses through collaborative processing
US7111168B2 (en) * 2000-05-01 2006-09-19 Digimarc Corporation Digital watermarking systems
US8121843B2 (en) * 2000-05-02 2012-02-21 Digimarc Corporation Fingerprint methods and systems for media signals
US7248715B2 (en) * 2001-04-06 2007-07-24 Digimarc Corporation Digitally watermarking physical media
US7046819B2 (en) 2001-04-25 2006-05-16 Digimarc Corporation Encoded reference signal for digital watermarks
WO2003062960A2 (en) 2002-01-22 2003-07-31 Digimarc Corporation Digital watermarking and fingerprinting including symchronization, layering, version control, and compressed embedding
US7120786B2 (en) * 2002-06-17 2006-10-10 Microsoft Corporation Booting from a compressed image
US7017144B2 (en) * 2002-06-17 2006-03-21 Microsoft Corporation Combined image views and method of creating images
US9678967B2 (en) 2003-05-22 2017-06-13 Callahan Cellular L.L.C. Information source agent systems and methods for distributed data storage and management using content signatures
US8392193B2 (en) * 2004-06-01 2013-03-05 Verizon Business Global Llc Systems and methods for performing speech recognition using constraint based processing
US7873149B2 (en) * 2004-06-01 2011-01-18 Verizon Business Global Llc Systems and methods for gathering information
US7188050B2 (en) 2004-08-25 2007-03-06 Siemens Corporate Research, Inc. Method and apparatus for detecting out-of-range conditions in power generation equipment operations
US7451078B2 (en) * 2004-12-30 2008-11-11 All Media Guide, Llc Methods and apparatus for identifying media objects
US7567899B2 (en) * 2004-12-30 2009-07-28 All Media Guide, Llc Methods and apparatus for audio recognition
US20070198594A1 (en) * 2005-11-16 2007-08-23 Lunt Tracy T Transferring electronic file constituents contained in an electronic compound file using a forensic file copy
US7571093B1 (en) * 2006-08-17 2009-08-04 The United States Of America As Represented By The Director, National Security Agency Method of identifying duplicate voice recording
US20080155264A1 (en) * 2006-12-20 2008-06-26 Ross Brown Anti-virus signature footprint
US8620967B2 (en) * 2009-06-11 2013-12-31 Rovi Technologies Corporation Managing metadata for occurrences of a recording
US20110041154A1 (en) * 2009-08-14 2011-02-17 All Media Guide, Llc Content Recognition and Synchronization on a Television or Consumer Electronics Device
US20110078020A1 (en) * 2009-09-30 2011-03-31 Lajoie Dan Systems and methods for identifying popular audio assets
US8161071B2 (en) 2009-09-30 2012-04-17 United Video Properties, Inc. Systems and methods for audio asset storage and management
US8677400B2 (en) * 2009-09-30 2014-03-18 United Video Properties, Inc. Systems and methods for identifying audio content using an interactive media guidance application
US8886531B2 (en) 2010-01-13 2014-11-11 Rovi Technologies Corporation Apparatus and method for generating an audio fingerprint and using a two-stage query
US20110173185A1 (en) * 2010-01-13 2011-07-14 Rovi Technologies Corporation Multi-stage lookup for rolling audio recognition
CN102508916B (en) * 2011-11-21 2013-08-14 电子科技大学 File fingerprint analyzing method for massive data
CN103927606B (en) * 2013-01-14 2017-09-29 上海核工程研究设计院 A kind of papery and management of electronic documents method of feature based code
CN103970516B (en) * 2013-01-30 2015-10-07 腾讯科技(深圳)有限公司 Redundancy image deletion method and device
US9626567B2 (en) * 2013-03-13 2017-04-18 Visible Measures Corp. Automated video campaign building
US9720669B2 (en) * 2013-05-30 2017-08-01 The Boeing Company Deployment of software across an enterprise system
CN103699575A (en) * 2013-11-29 2014-04-02 北京中科模识科技有限公司 Large-scale catalogue template migrating method based on key features and large-scale catalogue template migrating system based on key features
WO2015150480A1 (en) * 2014-04-02 2015-10-08 Dolby International Ab Exploiting metadata redundancy in immersive audio metadata
CN106326224B (en) * 2015-06-16 2019-12-27 珠海金山办公软件有限公司 File searching method and device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5050212A (en) * 1990-06-20 1991-09-17 Apple Computer, Inc. Method and apparatus for verifying the integrity of a file stored separately from a computer
US5408642A (en) * 1991-05-24 1995-04-18 Symantec Corporation Method for recovery of a computer program infected by a computer virus
US5454000A (en) * 1992-07-13 1995-09-26 International Business Machines Corporation Method and system for authenticating files
US5530757A (en) * 1994-06-28 1996-06-25 International Business Machines Corporation Distributed fingerprints for information integrity verification
US5978791A (en) * 1995-04-11 1999-11-02 Kinetech, Inc. Data processing system using substantially unique identifiers to identify data items, whereby identical data items have the same identifiers
US6122738A (en) * 1998-01-22 2000-09-19 Symantec Corporation Computer file integrity verification

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6983051B1 (en) * 1993-11-18 2006-01-03 Digimarc Corporation Methods for audio watermarking and decoding
US7171016B1 (en) * 1993-11-18 2007-01-30 Digimarc Corporation Method for monitoring internet dissemination of image, video and/or audio files
US6424725B1 (en) * 1996-05-16 2002-07-23 Digimarc Corporation Determining transformations of media signals with embedded code signals
US6366930B1 (en) * 1996-04-12 2002-04-02 Computer Associates Think, Inc. Intelligent data inventory & asset management systems method and apparatus
US5918223A (en) * 1996-07-22 1999-06-29 Muscle Fish Method and article of manufacture for content-based analysis, storage, retrieval, and segmentation of audio information
US6745194B2 (en) * 2000-08-07 2004-06-01 Alta Vista Company Technique for deleting duplicate records referenced in an index of a database
US6006245A (en) * 1996-12-20 1999-12-21 Compaq Computer Corporation Enhanced fast fourier transform technique on vector processor with operand routing and slot-selectable operation
US6381367B1 (en) * 1997-05-29 2002-04-30 Macrovision Corp. Method and apparatus for compression compatible video fingerprinting
US5953442A (en) * 1997-07-24 1999-09-14 Litton Systems, Inc. Fingerprint classification via spatial frequency components
US7185201B2 (en) * 1999-05-19 2007-02-27 Digimarc Corporation Content identifiers triggering corresponding responses
US6675174B1 (en) * 2000-02-02 2004-01-06 International Business Machines Corp. System and method for measuring similarity between a set of known temporal media segments and a one or more temporal media streams
US6990453B2 (en) * 2000-07-31 2006-01-24 Landmark Digital Services Llc System and methods for recognizing sound and music signals in high noise and distortion
US7085613B2 (en) * 2000-11-03 2006-08-01 International Business Machines Corporation System for monitoring audio content in a video broadcast
US6748360B2 (en) * 2000-11-03 2004-06-08 International Business Machines Corporation System for selling a product utilizing audio content identification

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5050212A (en) * 1990-06-20 1991-09-17 Apple Computer, Inc. Method and apparatus for verifying the integrity of a file stored separately from a computer
US5408642A (en) * 1991-05-24 1995-04-18 Symantec Corporation Method for recovery of a computer program infected by a computer virus
US5454000A (en) * 1992-07-13 1995-09-26 International Business Machines Corporation Method and system for authenticating files
US5530757A (en) * 1994-06-28 1996-06-25 International Business Machines Corporation Distributed fingerprints for information integrity verification
US5978791A (en) * 1995-04-11 1999-11-02 Kinetech, Inc. Data processing system using substantially unique identifiers to identify data items, whereby identical data items have the same identifiers
US6122738A (en) * 1998-01-22 2000-09-19 Symantec Corporation Computer file integrity verification

Also Published As

Publication number Publication date
CN1596399A (en) 2005-03-16
CA2468241A1 (en) 2003-06-05
US7035867B2 (en) 2006-04-25
AU2002346584A1 (en) 2003-06-10
EP1451692A1 (en) 2004-09-01
KR20040072640A (en) 2004-08-18
US20030101162A1 (en) 2003-05-29

Similar Documents

Publication Publication Date Title
US7035867B2 (en) Determining redundancies in content object directories
US7398391B2 (en) Content addressable information encapsulation, representation, and transfer
EP1049988B1 (en) Content addressable information encapsulation, representation, and transfer
US6349296B1 (en) Method for clustering closely resembling data objects
JP4298513B2 (en) Metadata retrieval of multimedia objects based on fast hash
KR100619178B1 (en) Method and apparatus for detecting invalid clicks on the internet search engine
US20050198061A1 (en) Process and product for selectively processing data accesses
US20050210054A1 (en) Information management system
WO2003042867A2 (en) Fingerprint database updating method, client and server
JP2002049631A (en) Information providing device, method and recording medium
US7801868B1 (en) Surrogate hashing
US20180322901A1 (en) Copyright checking for uploaded media
KR100619179B1 (en) Method and apparatus for detecting invalid clicks on the internet search engine
CN117201065A (en) Access request identity recognition method, device, computer equipment and storage medium
CN117573918A (en) Method, apparatus and computer readable medium for identifying audio clips
Lutz Hokua–a wavelet method for audio fingerprinting
Gatos HHkk B. Schrempp, Saratoga, CA US PATENT D ()(" UMENTS
AU2007202255A1 (en) Distributed content verification and indexing

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SC SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2468241

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 1020047008082

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2002823670X

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2002784654

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2002784654

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Ref document number: JP

WWW Wipo information: withdrawn in national office

Ref document number: 2002784654

Country of ref document: EP