EP0578205B1 - Multiple file name referencing system - Google Patents
Multiple file name referencing system Download PDFInfo
- Publication number
- EP0578205B1 EP0578205B1 EP93110797A EP93110797A EP0578205B1 EP 0578205 B1 EP0578205 B1 EP 0578205B1 EP 93110797 A EP93110797 A EP 93110797A EP 93110797 A EP93110797 A EP 93110797A EP 0578205 B1 EP0578205 B1 EP 0578205B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- name
- operating system
- formatted
- file
- application
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
- G06F16/1794—Details of file format conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
- G06F16/166—File name conversion
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
Definitions
- DOS operating system developed by Microsoft Corporation
- DOS would use a file name having a leading name of up to eight characters, such as "myfile” or "filename”, followed by a period and an extension of up to three characters, such as "exe” or "kp".
- applications running on DOS have had to limit file names to this format. Additional constraints well known in the computer field apply to DOS file names, and will be described in more detail in the Detailed Description of the Invention.
- an existing operating system may be revised to allow for files to be names with a more flexible format. It thus becomes possible for applications running on such a revised operating system to reference files using the more flexible format.
- the application may access and name files using the more flexible format.
- a number of applications remain available in the industry which were written to run on the previous operating system. As such, these applications impose the same constraints on file names as did the previous operating system. For example, an application designed to run on DOS would limit file names to the "8.3" format described above. As a result of this limitation, the application could not reference files using file names of the more flexible format of the revised operating system. Thus, the application could not refer to files already named with the more flexible format. Nor could the application itself cause new files to be created for which the revised operating system could take advantage of the more flexible format in referencing the files.
- FIG. 1 is a general block diagram of a computer system including the multiple file name referencing system of the present invention.
- an application 100 is provided within a computer 102 which accesses and stores various files on a peripheral device 104, such as a disk.
- the application 100 is a DOS-based application referencing files using a "8.3" format.
- the application 100 is shown provided within the computer 102, as shown.
- the application 100 could be provided externally to the computer 102 and connected via a network.
- a multiple file name referencing system 106 is provided to implement the method and system of the present invention, as will be described presently in greater detail.
- the multiple file name referencing system 106 is provided within a file system 108 in an operating system 110.
- the operating system 110 has been revised from a DOS operating system using the "8.3" format (hereinafter called "short names”), to reference operating system formatted file names of a more flexible format.
- This more flexible format provides for names (hereinafter called "long names”) that can be up to 255 characters, and can have multiple extensions, spaces and characters considered illegal in DOS "8.3" format.
- the application 100 was written for the previous DOS operating system which used short names and, as a result, must still refer to files using the restrictive short-name format.
- the long names accessible to the operating system 110 thus differ in format from the short names which the application 100 must use.
- the application 100 would have to communicate with the operating system 110 using a short name, and could not access a more flexibly formatted file name (long name). Further, the operating system 110 could not use a long name of the more flexible format when communicating with the application 100.
- the present invention provides via the multiple file name referencing system 106 a method and means for referencing the same file using either the operating system formatted name (long name) or application formatted name (short name).
- the multiple file name referencing system 106 serves as a generating means for generating, upon creation or renaming of a file by the application or operating system, a file name having a format different from the format of the newly provided file name.
- This generated file name though having a different format, refers to the same file as the newly created file name, and preferably preserves the file extension of the newly created file name to the extent possible.
- the multiple file name referencing system 106 also serves as a storing means for storing on a storage such as the disk 104, separate entries in a B-tree for file names having a different format. For example, a long name entry can be provided for a long name and a short name, both of which refer to the same file.
- the multiple file name referencing system 106 serves as a converting means for converting a file name having one format to the corresponding file name of a different format.
- the file name referencing system 106 also serves as a file name storing means for storing the differently formatted file names in the same file.
- Figure 2 is a general flow diagram of the overall process performed by the multiple file name referencing system of the present invention.
- the process described in Figure 2 can be performed, for example, by the multiple file name referencing system 106.
- the file name referencing system generates, upon user creation of a file name of one format, a file name of a different format. If, for example, an operating system formatted name is created, the multiple file name referencing system generates an application formatted name. Similarly, if an application formatted name is created, the multiple file name referencing system generates an operating system formatted name.
- the file name referencing system stores in a B-tree an operating system entry with the operating system formatted name and an application entry with the application formatted name.
- the operating system entry is a "long name” entry storing a long name as described above
- the application entry is a "short name” entry storing a short name of "8.3" format.
- the multiple file name referencing system converts a file name having one format to the corresponding file name in the different format by accessing the B-tree. For example, a long name is converted to the corresponding short name by accessing the B-tree with reference to the long name. Alternatively, a short name can be converted to the corresponding long name by accessing the B-tree with reference to the short name.
- Figure 8 is a diagram of a B-tree structure in which the application entry (short name) and corresponding operating system entry (long name) are stored by the multiple file name referencing system in block 202 shown in Figure 2.
- the use of B-trees is well-known in the computer field. A detailed description of B-trees can be found in Chapter 19 of "Introduction to Algorithms," by Cormen, Leiserson and Rivest, 1990, MIT Press, pp. 381-399.
- a B-tree is used to maintain the entries for differently formatted file names that have been generated in step 200.
- a B-tree is a balanced search tree data structure in which data is organized in accordance with its position with reference to keys in the structure. For example, in an alphabetically arranged B-tree structure as shown in Figure 8, the letters M, D, H, etc. are keys. That is, data is divided first based on its alphabetical relationship to the letter M, then based on that to D, H, etc.
- file names are divided alphabetically, and thus a file name beginning with the letter "F” would be stored in the "EG" node, or in a node provided thereunder.
- the multiple file name referencing system stores "filenameofgreatlength.exe” in a long name entry in the "EG" node in the B-tree.
- creation of "filenameofgreatlength.exe” would cause the multiple file name referencing system to generate a short name such as "filename.exe”. If the file name "filename.exe” is already present in the B-tree, this conflict is resolved by modifying the newly generated name until it is unique, such as to "filena-1.exe”. The unique, application formatted file name is then stored in an application entry in the B-tree.
- both the operating system entry 900 and application entry 902 point to the same file 904.
- either short name "filena-1.exe” or long name “filenameofgreatlength.exe” can be referenced to access the same file 904.
- the File Control Block in the File 904 contains both the long and short names.
- the multiple file name referencing system of the present invention takes advantage of the B-tree structure, such as the one described in Figure 8, to convert a file name of one format to a corresponding file name of another format, as described in block 204 in Figure 2.
- the multiple file name referencing system uses the known file name as a basis for searching the B-tree, comparing the known file name to the keys about which the B-tree is divided.
- step 1000 The B-tree search to convert the known file name to the corresponding file name (long name to short name, or vice versa) is described with reference in Figure 10.
- step 1000 the file name entry for the known file name is located in the B-tree by alphabetically searching the B-tree for that name.
- step 1002 the leaf node containing the known file name is accessed to locate the corresponding file name. If the corresponding entry with a matching file pointer is found in step 1004, then the conversion process ends and the corresponding file name is returned.
- the short name entry is located in the same leaf node as the long name entry for the same file, as shown in Figure 8.
- the known file name entry resides adjacent to the unknown file entry, and thus the known file name can be converted to the unknown file name by checking the adjacent entries for a file pointer that matches the file pointer of the known file name entry.
- the long file name entry and short file name entry are not located adjacent to each other, then the long name entry can likely be converted to the application entry, and vice versa, by searching the entire leaf node in which the known file name entry resides.
- the multiple file name referencing system searches the B-tree, initially searching for a name alphabetically similar to the known file name.
- a wildcard search allowing certain characters to vary is highly likely to produce a match.
- step 1006 a wildcard is generated in which the characters in the name most likely to be changed in the generation process may vary (for example, "filena??.exe” would be generated for known file name "filenameofgreatlength.exe”).
- step 1008 the wildcard is enumerated into all possible file names potentially described and entries for these file names are located.
- filename.exe For example, "filena??.exe” would be enumerated into existing file names such as “filename.exe”, “filena-1.exe”, “filena-2.exe”, etc. If the corresponding file name with a matching file pointer is found in step 1010, then the conversion process ends and the corresponding file name is returned. For example, filenameofgreatlength.exe is converted to filena-1.exe because its entry points to the same file and filena-1.exe is returned as the corresponding file name.
- step 1010 If, in step 1010, a matching file pointer is not found in any of the entries containing the wildcard enumerations, then the B-tree is searched based on an enumeration of a random wildcard "*.*" in steps 1012 and 1014, and the corresponding file name having a matching file pointer is returned.
- the file name generation process represented by box 200 in Figure 2 can be applied to generate an application formatted file name (short name) based on a known operation system formatted file name (long name), or vice versa.
- short names are limited to "8.3" format as explained in more detail below, long names can be any length up to 255 characters, and are not restricted by the same rules regarding illegal characters, etc.
- Figure 3 is a general flow diagram of the generating block 200 by which the file name of a different format is generated. Regardless of whether a short name is generated from a long name or vice versa, the generation process can be separated into two general parts.
- the newly created file name is used to create a basis for a file name of the different format. As will be described in more detail, this involves altering the newly created name to conform to the restrictions imposed by the different name format.
- step 302 the basis created in step 300 is modified as necessary to prevent a replication of an existing file name.
- the basis is modified until a unique file name is derived.
- FIG 4 is a detailed flow diagram of the basis generation step 300 in Figure 3 as implemented to generate a short name based on a newly created long name. This generation process generates an "8.3" DOS formatted file name based on the following rules.
- the operating system format to application format generation process performs the following modifications.
- step 400 a character from the long name is retrieved, beginning with the first character. If, in step 402, the character is a space, the character does not become a character in the application formatted file name.
- step 404 if the character is a period, additional testing is performed. If, in step 406, the period is the first embedded period in the long name, it becomes a character in the short name. If the period is not the first embedded period encountered in the long name, then the period does not become a character in the short name. For example, if the period is at the very beginning or very end of the long name, or if it is the second, third, etc. period in the long name, it does not become a character in the short name. Once the first embedded period is encountered, a flag is set to indicate that following characters are in the extension portion of the file name.
- step 408 it is first determined whether the current character is part of the extension of the file name. If the extension flag has not been set (indicating that the first embedded period has not yet been encountered) then in step 410 it is determined whether the character is still within the first eight leading characters. If so, testing continues. If not, the character is not included and the next character is read in.
- step 412 it is determined whether the current character is within the first three extension characters. If so, testing continues. If not, the character is not included and the next character is read in.
- step 414 if the character falls within the set of illegal DOS characters, an underscore character is substituted for the illegal character in step 416 and the underscore becomes a character in the short name. Otherwise, the character is maintained "as is” and becomes a character in the short name.
- step 418 characters to be included are included in the short name. To reach step 418, a character must have not violated any of the rules required of characters within DOS names, or must have been changed to conform to these rules, as explained above.
- steps 400-418 are repeated as long as additional characters are present in the long name.
- FIG. 5 is a detailed flow diagram of the conflict resolution step 302 in Figure 3 as applied to a short name basis that has been generated from a long name.
- step 500 the number of conflicts with other file names is initially set to 0. If, in step 502, no other files exist in the B-tree for which all characters are the same as the file name basis, then the process ends and the basis becomes the short name. If, however, all of the characters match an existing file name, then control proceeds to step 504, where the number of conflicts is incremented. In step 506, the last characters of the leading name are replaced with a dash "-" followed by a character or characters indicating the number of conflicts thus encountered.
- Figure 6 is a detailed flow diagram of the basis generation step 300 in Figure 3 as performed to generate a long name based on a newly created short name.
- the short name is initially copied to become the basis for the long name.
- a character initially the first character, is obtained from the application formatted file name.
- the character becomes a corresponding character in the long name basis.
- step 600 and 602 are repeated as long as characters exist in the newly created short name. As a result, the newly crated short name becomes the long name basis.
- Figure 7 is a detailed flow diagram of the conflict resolution step 302 shown in Figure 3 as applied to a long name basis that has been generated from a user created short name. This process is similar to the conflict resolution of a short name basis generated from a long name. Because of the more flexible format of long names, however, the conflict number can be appended to the leading name instead of replacing its final characters.
- step 700 the number of conflicts with existing file names is initially set to 0. If, in step 702, no files exist for which all characters match the file name basis, then the process ends and the file name basis becomes the long name. If, however, a conflict is determined in step 702, control proceeds to step 704, where the number of conflicts is incremented, and in step 706, the leading name is appended with a dash "-" and a character or characters indicating the number of conflicts determined thus far. For example, when a first conflict has been encountered for filename "SKIPFILE.EXE" then the file name is changed to "SKIPFILE-1.EXE".
- step 704 and 706 are repeated as long as file names exist which conflict with the file name basis created. When a unique file name is derived, it becomes the long name.
- the conflict resolution step shown in Figure 7 can be performed, for example, as illustrated by the following pseudocode.
- either file name can be used to accurately and directly reference a file without requiring additional file name translation.
Abstract
Description
- Previously, applications implemented on a typical computer system have had to reference file names using the same format as the underlying operating system provides. For example, the DOS operating system (developed by Microsoft Corporation) internally references files with a format that corresponds to an "8.3" formatted file name. That is, DOS would use a file name having a leading name of up to eight characters, such as "myfile" or "filename", followed by a period and an extension of up to three characters, such as "exe" or "kp". Accordingly, applications running on DOS have had to limit file names to this format. Additional constraints well known in the computer field apply to DOS file names, and will be described in more detail in the Detailed Description of the Invention.
- In the computer industry, however, it is not uncommon for improvements to be made to an existing operating system, or for all or a portion of an operating system to be replaced so as to provide greater capabilities to users of the operating system. For example, an existing operating system may be revised to allow for files to be names with a more flexible format. It thus becomes possible for applications running on such a revised operating system to reference files using the more flexible format.
- When an application is written to run on the revised operating system, the application may access and name files using the more flexible format. However, a number of applications remain available in the industry which were written to run on the previous operating system. As such, these applications impose the same constraints on file names as did the previous operating system. For example, an application designed to run on DOS would limit file names to the "8.3" format described above. As a result of this limitation, the application could not reference files using file names of the more flexible format of the revised operating system. Thus, the application could not refer to files already named with the more flexible format. Nor could the application itself cause new files to be created for which the revised operating system could take advantage of the more flexible format in referencing the files.
- "Universal_File_Names for Ada" by Wang Y. E. G. (Ada letters vol. 10, no. 1, January 1990, pages 111 to 117) teaches a set of Ada components designed to provide file name portability between MS-DOS, Unix and VMS. To this end, a universal file naming standard is established. Universal file names are mapped to Unix, MS-DOS and VMS by using a text file named UFNTABLE.TIO.
- It is the object of the present invention to provide improved methods and systems for referencing the same file via multiple file names of varying file name format.
- This object is achieved by the methods of
claims 1 and 14 as well as by the systems of claims 24 and 34. - Preferred embodiments of the invention are the subject matter of the dependent claims.
- In the following preferred embodiments of the present invention are described referring to the accompanying drawings.
- Figure 1 is a general block diagram of a computer system including a multiple file name referencing system in accordance with the present invention.
- Figure 2 is a general flow diagram of the process performed by the multiple file name referencing system of the present invention.
- Figure 3 is a general flow diagram of the
generating
step 200 shown in Figure 2. - Figure 4 is a detailed flow diagram of the
basis generation step 300 in Figure 3 as implemented to generate an application formatted file name based on a newly created operating system formatted file name. - Figure 5 is a detailed flow diagram of the conflict resolution step in Figure 3 as applied to an application formatted file name basis that has been generated from an operating system formatted file name.
- Figure 6 is a detailed flow diagram of the basis generation step in Figure 3 as performed to generate an operating system formatted file name basis from an application formatted file name newly created by the user.
- Figure 7 is a detailed flow diagram of the
conflict resolution step 302 shown in Figure 3 as applied to an operating system formatted file name basis generated from a user created application formatted file name. - Figure 8 is a diagram of the B-tree structure in which file system entries and application entries are stored by the multiple file name referencing system of the present invention.
- Figure 9 is an illustration of an application entry and an operating system entry both pointing to the same file.
- Figure 10 is a flow diagram of the conversion process performed by the present invention.
-
- Figure 1 is a general block diagram of a computer system including the multiple file name referencing system of the present invention. In Figure 1, an
application 100 is provided within acomputer 102 which accesses and stores various files on a peripheral device 104, such as a disk. In a preferred embodiment of the present invention, theapplication 100 is a DOS-based application referencing files using a "8.3" format. One of ordinary skill in the art would appreciate, however, that other types of applications using different formats could be accommodated by the generation and conversion process of the present invention. Also in the preferred embodiment, theapplication 100 is shown provided within thecomputer 102, as shown. Alternatively, theapplication 100 could be provided externally to thecomputer 102 and connected via a network. - Within the
computer 102, a multiple filename referencing system 106 is provided to implement the method and system of the present invention, as will be described presently in greater detail. The multiple filename referencing system 106 is provided within afile system 108 in anoperating system 110. Theoperating system 110 has been revised from a DOS operating system using the "8.3" format (hereinafter called "short names"), to reference operating system formatted file names of a more flexible format. This more flexible format provides for names (hereinafter called "long names") that can be up to 255 characters, and can have multiple extensions, spaces and characters considered illegal in DOS "8.3" format. - The
application 100, however, was written for the previous DOS operating system which used short names and, as a result, must still refer to files using the restrictive short-name format. As a result of the revision to the operating system, the long names accessible to theoperating system 110 thus differ in format from the short names which theapplication 100 must use. - Ordinarily under these circumstances, the
application 100 would have to communicate with theoperating system 110 using a short name, and could not access a more flexibly formatted file name (long name). Further, theoperating system 110 could not use a long name of the more flexible format when communicating with theapplication 100. As will be explained, however, the present invention provides via the multiple file name referencing system 106 a method and means for referencing the same file using either the operating system formatted name (long name) or application formatted name (short name). - As will be described presently in greater detail, the multiple file
name referencing system 106 serves as a generating means for generating, upon creation or renaming of a file by the application or operating system, a file name having a format different from the format of the newly provided file name. This generated file name, though having a different format, refers to the same file as the newly created file name, and preferably preserves the file extension of the newly created file name to the extent possible. - The multiple file
name referencing system 106 also serves as a storing means for storing on a storage such as the disk 104, separate entries in a B-tree for file names having a different format. For example, a long name entry can be provided for a long name and a short name, both of which refer to the same file. - Additionally, the multiple file
name referencing system 106 serves as a converting means for converting a file name having one format to the corresponding file name of a different format. The filename referencing system 106 also serves as a file name storing means for storing the differently formatted file names in the same file. - Figure 2 is a general flow diagram of the overall process performed by the multiple file name referencing system of the present invention. The process described in Figure 2 can be performed, for example, by the multiple file
name referencing system 106. Inblock 200, the file name referencing system generates, upon user creation of a file name of one format, a file name of a different format. If, for example, an operating system formatted name is created, the multiple file name referencing system generates an application formatted name. Similarly, if an application formatted name is created, the multiple file name referencing system generates an operating system formatted name. - In
block 202, the file name referencing system stores in a B-tree an operating system entry with the operating system formatted name and an application entry with the application formatted name. In the preferred embodiment of the invention, the operating system entry is a "long name" entry storing a long name as described above, and the application entry is a "short name" entry storing a short name of "8.3" format. Inblock 204, the multiple file name referencing system converts a file name having one format to the corresponding file name in the different format by accessing the B-tree. For example, a long name is converted to the corresponding short name by accessing the B-tree with reference to the long name. Alternatively, a short name can be converted to the corresponding long name by accessing the B-tree with reference to the short name. - Figure 8 is a diagram of a B-tree structure in which the application entry (short name) and corresponding operating system entry (long name) are stored by the multiple file name referencing system in
block 202 shown in Figure 2. The use of B-trees is well-known in the computer field. A detailed description of B-trees can be found in Chapter 19 of "Introduction to Algorithms," by Cormen, Leiserson and Rivest, 1990, MIT Press, pp. 381-399. - As shown in Figure 8, a B-tree is used to maintain the entries for differently formatted file names that have been generated in
step 200. As is well known to one of ordinary skill in the computer field, a B-tree is a balanced search tree data structure in which data is organized in accordance with its position with reference to keys in the structure. For example, in an alphabetically arranged B-tree structure as shown in Figure 8, the letters M, D, H, etc. are keys. That is, data is divided first based on its alphabetical relationship to the letter M, then based on that to D, H, etc. - In the B-tree structure in Figure 8, file names are divided alphabetically, and thus a file name beginning with the letter "F" would be stored in the "EG" node, or in a node provided thereunder. Thus, in the present invention, if a file having the long name "filenameofgreatlength.exe" is created via the
operating system 110, the multiple file name referencing system stores "filenameofgreatlength.exe" in a long name entry in the "EG" node in the B-tree. - In accordance with the present invention, when the file having the long name "filenameofgreatlength.exe" is created, a corresponding short name is automatically generated, as will be explained presently in greater detail. When the application running is a DOS application, such that the application uses file names of an "8.3" format, an "8.3" formatted short name would be generated.
- For example, creation of "filenameofgreatlength.exe" would cause the multiple file name referencing system to generate a short name such as "filename.exe". If the file name "filename.exe" is already present in the B-tree, this conflict is resolved by modifying the newly generated name until it is unique, such as to "filena-1.exe". The unique, application formatted file name is then stored in an application entry in the B-tree.
- As shown in Figure 9, both the
operating system entry 900 andapplication entry 902 point to thesame file 904. As a result, either short name "filena-1.exe" or long name "filenameofgreatlength.exe" can be referenced to access thesame file 904. Additionally, the File Control Block in theFile 904 contains both the long and short names. By storing both filenames in the File Control Block, the multiple file name referencing system allows for accessing the file through one type of formatted filename and determining the other type of formatted file name. - The multiple file name referencing system of the present invention takes advantage of the B-tree structure, such as the one described in Figure 8, to convert a file name of one format to a corresponding file name of another format, as described in
block 204 in Figure 2. The multiple file name referencing system uses the known file name as a basis for searching the B-tree, comparing the known file name to the keys about which the B-tree is divided. - The B-tree search to convert the known file name to the corresponding file name (long name to short name, or vice versa) is described with reference in Figure 10. In
step 1000, the file name entry for the known file name is located in the B-tree by alphabetically searching the B-tree for that name. Then, instep 1002, the leaf node containing the known file name is accessed to locate the corresponding file name. If the corresponding entry with a matching file pointer is found instep 1004, then the conversion process ends and the corresponding file name is returned. - In most cases, because of alphabetic similarity, the short name entry is located in the same leaf node as the long name entry for the same file, as shown in Figure 8. Usually, the known file name entry resides adjacent to the unknown file entry, and thus the known file name can be converted to the unknown file name by checking the adjacent entries for a file pointer that matches the file pointer of the known file name entry. When the long file name entry and short file name entry are not located adjacent to each other, then the long name entry can likely be converted to the application entry, and vice versa, by searching the entire leaf node in which the known file name entry resides.
- If the entry for the corresponding name is not located in the same leaf node, then the multiple file name referencing system searches the B-tree, initially searching for a name alphabetically similar to the known file name. As a result of the overall similarity preserved between the names by the file name generation processes which produce the corresponding file names, a wildcard search allowing certain characters to vary is highly likely to produce a match. In
step 1006, a wildcard is generated in which the characters in the name most likely to be changed in the generation process may vary (for example, "filena??.exe" would be generated for known file name "filenameofgreatlength.exe"). Instep 1008, the wildcard is enumerated into all possible file names potentially described and entries for these file names are located. For example, "filena??.exe" would be enumerated into existing file names such as "filename.exe", "filena-1.exe", "filena-2.exe", etc. If the corresponding file name with a matching file pointer is found instep 1010, then the conversion process ends and the corresponding file name is returned. For example, filenameofgreatlength.exe is converted to filena-1.exe because its entry points to the same file and filena-1.exe is returned as the corresponding file name. - If, in
step 1010, a matching file pointer is not found in any of the entries containing the wildcard enumerations, then the B-tree is searched based on an enumeration of a random wildcard "*.*" insteps - Thus, if the short name entry and long name entry are not located in the same leaf node, one can be converted to the other by searching the entire tree with a wildcard, instead of just searching a leaf node. Such would be the case in the unlikely event that a file name is located on a different side of a key than the file name from which it is generated. For example, if filenameofgreatlength.exe and filena-2.exe pointed to the same file, and filena-1.exe were a key in the B-tree, then filenameofgreatlength.exe and filena-2.exe, as a result of being alphabetically divided about "filena-1.exe.", would be divided into separate leaf nodes. Thus, a B-tree-wide search of the wildcard "filena??.exe" would be necessary to return the entry with the address pointer to the same file as the entry for the known filename.
- In the preferred embodiment of the present invention, the file name generation process represented by
box 200 in Figure 2 can be applied to generate an application formatted file name (short name) based on a known operation system formatted file name (long name), or vice versa. Although short names are limited to "8.3" format as explained in more detail below, long names can be any length up to 255 characters, and are not restricted by the same rules regarding illegal characters, etc. - Figure 3 is a general flow diagram of the generating
block 200 by which the file name of a different format is generated. Regardless of whether a short name is generated from a long name or vice versa, the generation process can be separated into two general parts. First, instep 300, the newly created file name is used to create a basis for a file name of the different format. As will be described in more detail, this involves altering the newly created name to conform to the restrictions imposed by the different name format. - In
step 302, the basis created instep 300 is modified as necessary to prevent a replication of an existing file name. When the basis coincides with an existing file name, the basis is modified until a unique file name is derived. - Figure 4 is a detailed flow diagram of the
basis generation step 300 in Figure 3 as implemented to generate a short name based on a newly created long name. This generation process generates an "8.3" DOS formatted file name based on the following rules. - 1. Spaces are not allowed within the file name.
- 2. Only one embedded period is allowed within the file name. That is, initial periods, trailing periods, and multiple periods are not allowed.
- 3. The characters ":", "+", "," ";", "=", "[" and "]" are illegal and are not allowed within the file name.
- 4. Where a period is embedded within the file name, the "leading name" before the period is limited to eight characters and the "extension" after the period is limited to three characters.
-
- Based on these rules, the operating system format to application format generation process performs the following modifications.
- 1. Spaces are removed. For example, "My File" becomes "Myfile".
- 2. All but the first embedded period are removed. For example, ".logon" becomes "logon", "backup.c.o" becomes "backup.co", and "main." becomes "main".
- 3. All illegal characters are translated to an underscore "_".
- 4. The leading name is truncated to eight characters and any extension is truncated to three characters.
-
- In the flow diagram in Figure 4, in
step 400, a character from the long name is retrieved, beginning with the first character. If, instep 402, the character is a space, the character does not become a character in the application formatted file name. - In
step 404, if the character is a period, additional testing is performed. If, instep 406, the period is the first embedded period in the long name, it becomes a character in the short name. If the period is not the first embedded period encountered in the long name, then the period does not become a character in the short name. For example, if the period is at the very beginning or very end of the long name, or if it is the second, third, etc. period in the long name, it does not become a character in the short name. Once the first embedded period is encountered, a flag is set to indicate that following characters are in the extension portion of the file name. - In
step 408, it is first determined whether the current character is part of the extension of the file name. If the extension flag has not been set (indicating that the first embedded period has not yet been encountered) then instep 410 it is determined whether the character is still within the first eight leading characters. If so, testing continues. If not, the character is not included and the next character is read in. - If the extension flag has been set (indicating encounter of the first embedded period), then in
step 412 it is determined whether the current character is within the first three extension characters. If so, testing continues. If not, the character is not included and the next character is read in. - In step 414, if the character falls within the set of illegal DOS characters, an underscore character is substituted for the illegal character in
step 416 and the underscore becomes a character in the short name. Otherwise, the character is maintained "as is" and becomes a character in the short name. - In
step 418, characters to be included are included in the short name. To reachstep 418, a character must have not violated any of the rules required of characters within DOS names, or must have been changed to conform to these rules, as explained above. Instep 420, steps 400-418 are repeated as long as additional characters are present in the long name. -
- Figure 5 is a detailed flow diagram of the
conflict resolution step 302 in Figure 3 as applied to a short name basis that has been generated from a long name. Instep 500, the number of conflicts with other file names is initially set to 0. If, instep 502, no other files exist in the B-tree for which all characters are the same as the file name basis, then the process ends and the basis becomes the short name. If, however, all of the characters match an existing file name, then control proceeds to step 504, where the number of conflicts is incremented. Instep 506, the last characters of the leading name are replaced with a dash "-" followed by a character or characters indicating the number of conflicts thus encountered. For example, when the first conflict has been encountered for filename "SKIPFILE.EXE", then the file name is changed to "SKIPFI-1".EXE. Control then returns to step 502, where the newly modified file name is again compared to existing file names, and steps 502-506 are repeated as long as a conflict exists. When a unique name has been derived, the process ends and the modified file name becomes the short name. -
- It should be noted from the above explanation that, to the extent possible within DOS "8.3" format file name constraints, the file name extension in the operating system formatted file name is preserved in generating the application formatted file name. As a result, files of a particular file type (and thus meant to be treated a particular way) will be so treated regardless of the format with which they are referenced. For example, filenameofgreatlength.exe would be converted to filena-1.exe, such that either name denotes the file type as an executable file.
- Figure 6 is a detailed flow diagram of the
basis generation step 300 in Figure 3 as performed to generate a long name based on a newly created short name. In generating a long name from a short name, any sequence of characters in the short name will be legal in the long name. Thus, the short name is initially copied to become the basis for the long name. Instep 600, a character, initially the first character, is obtained from the application formatted file name. Instep 602, the character becomes a corresponding character in the long name basis. Instep 604,step - Figure 7 is a detailed flow diagram of the
conflict resolution step 302 shown in Figure 3 as applied to a long name basis that has been generated from a user created short name. This process is similar to the conflict resolution of a short name basis generated from a long name. Because of the more flexible format of long names, however, the conflict number can be appended to the leading name instead of replacing its final characters. - In
step 700, the number of conflicts with existing file names is initially set to 0. If, instep 702, no files exist for which all characters match the file name basis, then the process ends and the file name basis becomes the long name. If, however, a conflict is determined instep 702, control proceeds to step 704, where the number of conflicts is incremented, and instep 706, the leading name is appended with a dash "-" and a character or characters indicating the number of conflicts determined thus far. For example, when a first conflict has been encountered for filename "SKIPFILE.EXE" then the file name is changed to "SKIPFILE-1.EXE". It should be noted that, unlike the short name basis in which characters must be sometimes replaced, the long name basis may simply be appended because of the greater allowed length of the name. Control then returns to step 702, and step 704 and 706 are repeated as long as file names exist which conflict with the file name basis created. When a unique file name is derived, it becomes the long name. -
- It should be noted from the above explanation that the file name extension in the application formatted file name (short name) is entirely preserved in generating the operating system formatted file name (long name). As a result, files meant to be treated a particular way and designated as such by the extension, such as ".EXE" files, will be so treated regardless of the format with which they are referenced.
- As a result of providing the multiple file name referencing system described above, either file name can be used to accurately and directly reference a file without requiring additional file name translation.
Claims (42)
- A method performed by a computer (102) of referencing a file (904), the computer (102) having an operating system (110) using an operating system file name format and an application (100) using an application file name format, the method comprising the steps of:a) generating, upon user creation of an operating system formatted name (900) having the operating system file name format, an application formatted name (902) having the application file name format;b) storing an operating system entry for the operating system formatted name and an application entry for the application formatted name in a B-tree (Fig. 8); andc) converting the operating system formatted name (900) to the application formatted name (902) by accessing the B-tree with reference to the operating system formatted name.
- The method according to claim 1 wherein step a) comprises generating the application formatted name (902) having a same file extension as the operating system formatted file name (900).
- The method according to claim 1 or 2 wherein step a) comprises generating (300) a basis derived from the operating system formatted file name and then modifying a portion of the basis other than a file extension to produce the application formatted file name.
- The method according to one of claims 1 to 3 wherein step a) comprises removing all spaces (402, 418) from the operating system formatted file name (900).
- The method according to one of claims 1 to 4 wherein step a) comprises removing all periods (404, 406, 418) except the first period embedded within the operating system formatted file name (900).
- The method according to one of claims 1 to 3 wherein step a) comprises replacing all predefined illegal characters with underscores (416).
- The method according to claim 3 wherein step a) comprises truncating (410) a leading name and truncating an extension within the operating system formatted file name (900).
- The method according to claim 7 wherein step a) comprises modifying the leading name in the operating system formatted name (900) upon a conflict with an existing file name until the operating system formatted file name is unique.
- The method according to one of claims 1 to 8 wherein step b) comprises storing an address of the file in both the operating system entry and the application entry in the B-tree, and wherein step c) comprises searching the B-tree, based on a location of the operating system formatted file name, for an application entry storing the address of the same file.
- The method according to one of claims 1 to 9 further comprising the step of d) storing in the file (904) both the operating system formatted name (900) and the application formatted name (902).
- The method according to one of claims 1 to 10 wherein step c) comprises searching all entries in a leaf node in which the operating system entry is stored.
- The method according to one of claims 1 to 11 wherein step c) comprises searching all entries in the B-tree having common characters with the operating system formatted name (900).
- The method according to one of claims 1 to 12 wherein step c) comprises random searching all entries in the B-tree until the address of the file as stored in the operating system entry is located.
- A method performed by a computer (102) of referencing a file (904), the computer having an operating system (110) using an operating system file name format and an application (100) using an application file name format, the method comprising the steps of:a) generating, upon user creation of an application formatted name (902) having the application file name format, an operating system formatted file name (900) having the operating system file name format;b) storing an operating system entry for the operating system formatted name and an application entry for the application formatted name in a B-tree (Fig. 8); andc) converting the application formatted name (902) to the operating system formatted name (900) by accessing the B-tree with reference to the application formatted name.
- The method according to claim 14 wherein step a) comprises generating the operating system formatted file name (900) having a same file extension as the application formatted file name (902).
- The method according to claim 14 or 15 wherein step a) comprises generating (300) a basis derived from the application formatted file name (902) and then modifying a portion of the basis other than a file extension to produce the operating system formatted file name.
- The method according to claim 16 wherein step a) comprises setting the operating system file name basis equal to the application formatted file name (902).
- The method according to one of claims 14 to 17 wherein step a) comprises appending a leading name in the application formatted name (902) upon a conflict with an existing file name until the application formatted name (902) is unique.
- The method according to one of claims 14 to 18 wherein step b) comprises storing an address of the file in both the operating system entry and the application entry in the B-tree, and wherein step c) comprises searching the B-tree, based on a location of the application formatted file name, for an operating system entry storing the address of the same file name.
- The method according to one of claims 14 to 19 further comprising the step of d) storing in the file (904) both the operating system formatted file name and the application formatted file name.
- The method according to one of claims 14 to 19 wherein step c) comprises searching all entries in a leaf node in which the application entry is stored.
- The method according to one of claims 14 to 21 wherein step c) comprises searching all entries in the B-tree having common characters with the application formatted name (902) in accordance with the generation performed in step (a).
- The method according to one of claims 14 to 22 wherein step c) comprises random searching all entries in the B-tree until the address of the file as stored in the application entry is located.
- A multiple file name referencing system for referencing a file (904) stored by a computer (102), the computer having an operating system (110) using an operating system file name format and an application (100) using an application file name format, the multiple file name referencing system comprising:generating means for generating, upon user creation of an operating system formatted name (900) having the operating system file name format, an application formatted name (902) having the application file name format;storing means (104) for storing an operating system (110) entry for the operating system formatted name (900) and an application entry for the application formatted name (902) in a B-tree; andconverting means for converting the operating system formatted file name (900) to the application formatted file (902) name by accessing the B-tree with reference to the operating system formatted name (900).
- The multiple file name referencing system according to claim 24 wherein the generating means generates the application formatted file name (902) having a same file extension as the operating system formatted name (900).
- The multiple file name referencing system according to claim 24 or 25 wherein the generating means generates a basis derived from the operating system formatted name (900) and then modifies a portion of the basis other than a file extension to produce the application formatted name (902).
- The multiple file name referencing system according to one of claims 24 to 26 wherein the generating means removes all spaces (402, 418) from the operating system formatted name (900), removes all periods except the first period embedded within the operating system formatted name (900), replaces all predefined illegal characters with underscores and truncates a leading name and an extension within the operating system formatted name (900).
- The multiple file name referencing system according to claim 27 wherein the generating means modifies the leading name in the operating system formatted name (900) upon a conflict with an existing file name until the operating system formatted name (900) is unique.
- The multiple file name referencing system according to one of claims 24 to 28 wherein the storing means stores an address of the file in both the operating system entry and the application entry in the B-tree, and wherein the converting means searches the B-tree based on a location of the operating system formatted name (900) for an application entry storing the address of the same file.
- The multiple file name referencing system according to one of claims 24 to 29 further comprising file name storing means for storing in the file (904) both the operating system formatted name (900) and the application formatted name (902).
- The multiple file name referencing system according to one of claims 24 to 30 wherein the converting means searches all entries in a leaf node in which the operating system entry is stored.
- The multiple file name referencing system according to one of claims 24 to 31 wherein the converting means searches all entries in the B-tree having common characters with the operating system formatted name (900).
- The multiple file name referencing system according to one of claims 24 to 32 wherein the converting means random searches all entries in the B-tree until the address of the file as stored in the operating system entry is located.
- A multiple file name referencing system for referencing a file (904) stored by a computer (102), the computer (102) having an operating system (110) using an operating system file name format and an application (100) using an application file name format, the multiple file name referencing system comprising:generating means for generating, upon creation of an application formatted name (902) having the application file name format, an operating system formatted name (900) having the operating system file name format;storing means (104) for storing an operating system entry for the operating system formatted name (900) and an application entry for the application formatted name (902) in a B-tree (Fig. 8); andconverting means for converting the application formatted name (902) to the operating system formatted name (900) by accessing the B-tree with reference to the application formatted name (902).
- The multiple file name referencing system according to claim 34 wherein the generating means generates the operating system formatted name (900) having a same file extension as the application formatted name (902).
- The multiple file name referencing system according to claim 34 or 35 wherein the generating means generates a basis derived from the application formatted name (902) and then modifies a portion of the basis other than a file extension to produce the operating system formatted name (900).
- The multiple file name referencing system according to claim 35 wherein the generating means sets the basis equal to the application formatted name (902) and then appends a leading name in the application formatted name (902) to produce the operating system name (900).
- The multiple file name referencing system according to one of claims 34 to 37 wherein the storing means (104) stores an address of the file in both the operating system entry and the application entry in the B-tree, and wherein the converting means searches the B-tree, based on a location of the application formatted name (902), for an operating system entry storing the address of the same file.
- The multiple file name referencing system according to one of claims 34 to 38 further comprising file name storing means for storing in the file (904) both the operating system formatted name and the application formatted name (902).
- The multiple file name referencing system according to one of claims 34 to 39 wherein the converting means searches all entries in a leaf node in which the application entry is stored.
- The multiple file name referencing system according to one of claims 34 to 40 wherein the converting means searches all entries in the B-tree having common characters with the application formatted name (902).
- The multiple file name referencing system according to one of claims 34 to 41 wherein the converting means random searches all entries in the B-tree until the address of the file as stored in the application entry is located.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US909984 | 1992-07-06 | ||
US07/909,984 US5745902A (en) | 1992-07-06 | 1992-07-06 | Method and system for accessing a file using file names having different file name formats |
Publications (3)
Publication Number | Publication Date |
---|---|
EP0578205A2 EP0578205A2 (en) | 1994-01-12 |
EP0578205A3 EP0578205A3 (en) | 1994-05-18 |
EP0578205B1 true EP0578205B1 (en) | 2000-03-15 |
Family
ID=25428142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP93110797A Expired - Lifetime EP0578205B1 (en) | 1992-07-06 | 1993-07-06 | Multiple file name referencing system |
Country Status (7)
Country | Link |
---|---|
US (1) | US5745902A (en) |
EP (1) | EP0578205B1 (en) |
JP (1) | JP3548197B2 (en) |
KR (1) | KR940006029A (en) |
AT (1) | ATE190738T1 (en) |
CA (1) | CA2099915C (en) |
DE (1) | DE69328053T2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8676178B2 (en) | 2002-02-01 | 2014-03-18 | Microsoft Corporation | Method and system for managing changes to a contact database |
US8972348B2 (en) | 1999-10-04 | 2015-03-03 | Microsoft Corporation | Method and system for supporting off-line mode of operation and synchronization |
US8990695B2 (en) | 2003-10-23 | 2015-03-24 | Microsoft Technology Licensing, Llc | Flexible architecture for notifying applications of state changes |
Families Citing this family (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6230211B1 (en) * | 1993-01-19 | 2001-05-08 | Canon Kabushiki Kaisha | Container-based method for exchanging information between computer processes |
US6286013B1 (en) | 1993-04-01 | 2001-09-04 | Microsoft Corporation | Method and system for providing a common name space for long and short file names in an operating system |
EP0618540B1 (en) * | 1993-04-01 | 2001-12-12 | Microsoft Corporation | Common name space for long and short filenames |
JP3402659B2 (en) * | 1993-05-13 | 2003-05-06 | オリンパス光学工業株式会社 | Image handling equipment |
SE503021C2 (en) * | 1994-06-13 | 1996-03-11 | Ericsson Telefon Ab L M | Operating support networks for a telecommunications network comprising network elements, telecommunications networks comprising network elements, network elements and ways of structuring software in a network element |
EP0821309A4 (en) * | 1996-02-09 | 2008-02-27 | Sony Corp | Information processor, file name changing method and recording medium on which file name changing program is stored |
JP3952518B2 (en) * | 1996-03-29 | 2007-08-01 | 株式会社日立製作所 | Multidimensional data processing method |
JPH09330259A (en) * | 1996-06-10 | 1997-12-22 | Toshiba Corp | Computer system and file access method for the same |
US5920867A (en) * | 1996-12-06 | 1999-07-06 | International Business Machines Corporation | Data management system having data management configuration |
US6047283A (en) * | 1998-02-26 | 2000-04-04 | Sap Aktiengesellschaft | Fast string searching and indexing using a search tree having a plurality of linked nodes |
US6108649A (en) * | 1998-03-03 | 2000-08-22 | Novell, Inc. | Method and system for supplanting a first name base with a second name base |
KR100539891B1 (en) * | 1998-06-27 | 2006-03-03 | 삼성전자주식회사 | How to suppress same name file creation |
US6216162B1 (en) * | 1998-10-19 | 2001-04-10 | International Business Machines Corp. | Extending alias support to heterogeneous servers |
US6249782B1 (en) * | 1998-12-17 | 2001-06-19 | Apple Computer, Inc. | System and method for reducing file name length and for retrieving the reduced file name entitled files |
US6405325B1 (en) * | 1999-01-30 | 2002-06-11 | Inventec Corp. | Method and tool for restoring crashed operation system of computer |
KR100618734B1 (en) * | 1999-10-19 | 2006-08-31 | 엘지전자 주식회사 | Method for controlling data file |
KR100654023B1 (en) * | 1999-12-10 | 2006-12-04 | 엘지전자 주식회사 | File management method for recorded digital data stream |
US7421395B1 (en) * | 2000-02-18 | 2008-09-02 | Microsoft Corporation | System and method for producing unique account names |
JP2001256296A (en) * | 2000-03-09 | 2001-09-21 | Just Planning:Kk | Process and system for managing data processing for restaurant |
US6424976B1 (en) * | 2000-03-23 | 2002-07-23 | Novell, Inc. | Method of implementing a forward compatibility network directory syntax |
JP2002135692A (en) * | 2000-10-27 | 2002-05-10 | Toshiba Corp | Electronic camera apparatus and file-managing method |
JP2002140219A (en) * | 2000-11-01 | 2002-05-17 | Toshiba Corp | File processing method, file processor and recording medium for file management |
JP4142846B2 (en) * | 2000-12-27 | 2008-09-03 | 株式会社東芝 | Electronic camera device and control method thereof |
US7047420B2 (en) | 2001-01-17 | 2006-05-16 | Microsoft Corporation | Exclusive encryption |
JP2002258853A (en) * | 2001-03-06 | 2002-09-11 | Yamaha Corp | File name display switching apparatus and method, and memory medium |
US7043637B2 (en) * | 2001-03-21 | 2006-05-09 | Microsoft Corporation | On-disk file format for a serverless distributed file system |
US7062490B2 (en) * | 2001-03-26 | 2006-06-13 | Microsoft Corporation | Serverless distributed file system |
US6981138B2 (en) | 2001-03-26 | 2005-12-27 | Microsoft Corporation | Encrypted key cache |
WO2002084999A1 (en) * | 2001-04-06 | 2002-10-24 | Sony Corporation | Digital camera and data transfer method |
US6988124B2 (en) | 2001-06-06 | 2006-01-17 | Microsoft Corporation | Locating potentially identical objects across multiple computers based on stochastic partitioning of workload |
JP4492838B2 (en) * | 2001-08-10 | 2010-06-30 | 理想科学工業株式会社 | Printing information storage method and apparatus |
US7062710B2 (en) * | 2002-01-16 | 2006-06-13 | Vmp Mortgage Solutions, Inc. | File transforming output engine having a decomposer and multiple writers |
US6959309B2 (en) * | 2002-01-31 | 2005-10-25 | Freescale Semiconductor, Inc. | Interface between programming languages and method therefor |
US7370065B1 (en) * | 2002-08-21 | 2008-05-06 | Adobe Systems Incorporated | Renaming multiple files |
JP2004185450A (en) * | 2002-12-05 | 2004-07-02 | Oki Electric Ind Co Ltd | Management method for long file name |
US20040177159A1 (en) * | 2003-03-04 | 2004-09-09 | Webpost Enterprises Ltd. | Systems for uploading and automatically processing computer files |
JP2004280283A (en) | 2003-03-13 | 2004-10-07 | Hitachi Ltd | Distributed file system, distributed file system server, and access method to distributed file system |
EP1616331A1 (en) * | 2003-04-14 | 2006-01-18 | Koninklijke Philips Electronics N.V. | Format mapping scheme for universal drive device |
US7149728B1 (en) * | 2003-04-28 | 2006-12-12 | Microsoft Corporation | Recursive file backup |
US20050102258A1 (en) * | 2003-11-12 | 2005-05-12 | Tecu Kirk S. | Saving a file as multiple files |
US8996420B2 (en) * | 2003-11-21 | 2015-03-31 | Intel Corporation | System and method for caching data |
US8738537B2 (en) * | 2003-11-21 | 2014-05-27 | Intel Corporation | System and method for relicensing content |
US20060259436A1 (en) * | 2003-11-21 | 2006-11-16 | Hug Joshua D | System and method for relicensing content |
US20060265329A1 (en) * | 2003-11-21 | 2006-11-23 | Realnetworks | System and method for automatically transferring dynamically changing content |
US7451153B2 (en) | 2004-01-26 | 2008-11-11 | Nokia Corporation | Method and apparatus for symmetrical filename encoding |
US7907492B1 (en) | 2004-03-17 | 2011-03-15 | Doug Carson & Associates, Inc. | Data storage medium with improved multi-session recording format |
US7509343B1 (en) * | 2004-06-09 | 2009-03-24 | Sprint Communications Company L.P. | System and method of collecting and reporting system performance metrics |
US7617501B2 (en) | 2004-07-09 | 2009-11-10 | Quest Software, Inc. | Apparatus, system, and method for managing policies on a computer having a foreign operating system |
JP4275611B2 (en) * | 2004-12-02 | 2009-06-10 | ソニー株式会社 | REPRODUCTION DEVICE, REPRODUCTION METHOD AND REPRODUCTION PROGRAM, RECORDING MEDIUM, AND DATA STRUCTURE |
US7873596B2 (en) * | 2006-05-23 | 2011-01-18 | Microsoft Corporation | Extending cluster allocations in an extensible file system |
US8321439B2 (en) * | 2004-12-17 | 2012-11-27 | Microsoft Corporation | Quick filename lookup using name hash |
US8606830B2 (en) | 2004-12-17 | 2013-12-10 | Microsoft Corporation | Contiguous file allocation in an extensible file system |
US9639554B2 (en) * | 2004-12-17 | 2017-05-02 | Microsoft Technology Licensing, Llc | Extensible file system |
US7493314B2 (en) * | 2005-01-10 | 2009-02-17 | Cyberlink Corp. | System and method for providing access to computer files across computer operating systems |
US7676797B2 (en) * | 2005-01-31 | 2010-03-09 | Computer Associates Think, Inc. | System and method for managing long names in an application programming interface |
US8516093B2 (en) | 2005-04-22 | 2013-08-20 | Intel Corporation | Playlist compilation system and method |
US20070058832A1 (en) | 2005-08-05 | 2007-03-15 | Realnetworks, Inc. | Personal media device |
US7904949B2 (en) | 2005-12-19 | 2011-03-08 | Quest Software, Inc. | Apparatus, systems and methods to provide authentication services to a legacy application |
US8156090B1 (en) * | 2005-12-22 | 2012-04-10 | Unisys Corporation | Maintaining file name uniqueness in an application development environment of a computing system |
EP1814046A3 (en) * | 2006-01-25 | 2008-12-24 | Océ-Technologies B.V. | System and method providing a file list display function and a file name generation function |
US8087075B2 (en) | 2006-02-13 | 2011-12-27 | Quest Software, Inc. | Disconnected credential validation using pre-fetched service tickets |
JP2007249754A (en) * | 2006-03-17 | 2007-09-27 | Internatl Business Mach Corp <Ibm> | Information processor, information processing method, and program |
US8429712B2 (en) * | 2006-06-08 | 2013-04-23 | Quest Software, Inc. | Centralized user authentication system apparatus and method |
JP2010503063A (en) * | 2006-08-28 | 2010-01-28 | トムソン ライセンシング | Method and apparatus for multi-format data exchange |
US8086710B2 (en) | 2006-10-30 | 2011-12-27 | Quest Software, Inc. | Identity migration apparatus and method |
US7895332B2 (en) * | 2006-10-30 | 2011-02-22 | Quest Software, Inc. | Identity migration system apparatus and method |
US7769779B2 (en) * | 2006-11-02 | 2010-08-03 | Microsoft Corporation | Reverse name mappings in restricted namespace environments |
US20080109466A1 (en) * | 2006-11-02 | 2008-05-08 | Microsoft Corporation | Virtual Deletion In Merged Registry keys |
KR20080047129A (en) * | 2006-11-24 | 2008-05-28 | 삼성전자주식회사 | Apparatus and method for shortening file name |
US8212819B2 (en) | 2007-05-22 | 2012-07-03 | Yamaha Corporation | Display control apparatus |
CN101169796B (en) * | 2007-11-20 | 2012-01-11 | 中兴通讯股份有限公司 | Method for storing document name and judging file name overlength |
GB2455983A (en) * | 2007-12-24 | 2009-07-01 | Symbian Software Ltd | Assigning and locating directory names or file names for in a file system |
JP4999791B2 (en) * | 2008-06-30 | 2012-08-15 | キヤノン株式会社 | Information processing apparatus, control method thereof, and program |
US8024719B2 (en) * | 2008-11-03 | 2011-09-20 | Advanced Micro Devices, Inc. | Bounded hash table sorting in a dynamic program profiling system |
US8341652B2 (en) * | 2009-02-26 | 2012-12-25 | Red Hat, Inc. | Method for programmatic editing of configuration files |
US9298480B2 (en) * | 2009-02-26 | 2016-03-29 | Red Hat, Inc. | Programmatic editing of text files |
US9171004B2 (en) * | 2009-03-09 | 2015-10-27 | Sandisk Il Ltd. | System and method to respond to a data file deletion instruction |
FR2946211B1 (en) * | 2009-05-28 | 2011-05-27 | Sagem Comm | METHOD FOR PROCESSING DOCUMENT BY REMOTE COMPUTER, SYSTEM AND HOT CONNECTABLE REMOVABLE DEVICE FOR IMPLEMENTING SAID METHOD |
US8255984B1 (en) | 2009-07-01 | 2012-08-28 | Quest Software, Inc. | Single sign-on system for shared resource environments |
JP5599327B2 (en) * | 2011-01-20 | 2014-10-01 | 日置電機株式会社 | Measuring apparatus and short file name determination method |
JP5594269B2 (en) * | 2011-09-29 | 2014-09-24 | コニカミノルタ株式会社 | File name creation device, image forming device, and file name creation program |
GB2507751A (en) | 2012-11-07 | 2014-05-14 | Ibm | Storing data files in a file system which provides reference data files |
US20140157324A1 (en) * | 2012-11-30 | 2014-06-05 | Comcast Cable Communications, Llc | Content Identification and Management |
CN103064934B (en) * | 2012-12-24 | 2016-08-17 | 珠海市君天电子科技有限公司 | Android file management method and device |
CN104572059B (en) * | 2013-10-29 | 2020-04-10 | 中兴通讯股份有限公司 | Processing method and device for modifying application name |
CN103593330A (en) * | 2013-11-01 | 2014-02-19 | 深圳报业集团印务有限公司 | Method for formatting outer newspaper filenames |
CN105808246A (en) * | 2016-03-01 | 2016-07-27 | 宇龙计算机通信科技(深圳)有限公司 | Method and device for switching names of desktop icon folders and electronic apparatus |
US10706101B2 (en) | 2016-04-14 | 2020-07-07 | Advanced Micro Devices, Inc. | Bucketized hash tables with remap entries |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4945475A (en) * | 1986-10-30 | 1990-07-31 | Apple Computer, Inc. | Hierarchical file system to provide cataloging and retrieval of data |
JP2606222B2 (en) * | 1987-08-06 | 1997-04-30 | 富士ゼロックス株式会社 | File name length extension method |
US5307494A (en) * | 1987-08-05 | 1994-04-26 | Fuji Xerox Co., Ltd. | File name length augmentation method |
US5179703A (en) * | 1987-11-17 | 1993-01-12 | International Business Machines Corporation | Dynamically adaptive environment for computer programs |
US5129088A (en) * | 1987-11-30 | 1992-07-07 | International Business Machines Corporation | Data processing method to create virtual disks from non-contiguous groups of logically contiguous addressable blocks of direct access storage device |
US4945476A (en) * | 1988-02-26 | 1990-07-31 | Elsevier Science Publishing Company, Inc. | Interactive system and method for creating and editing a knowledge base for use as a computerized aid to the cognitive process of diagnosis |
US4999766A (en) * | 1988-06-13 | 1991-03-12 | International Business Machines Corporation | Managing host to workstation file transfer |
JPH028943A (en) * | 1988-06-27 | 1990-01-12 | Fuji Electric Co Ltd | System for dynamically changing file name |
JPH02165241A (en) * | 1988-12-19 | 1990-06-26 | Toshiba Corp | File access system |
CA2014799A1 (en) * | 1989-05-08 | 1990-11-08 | John W. Whisler | System and method for reading and writing disks formatted for an operating system foreign to the host computer |
US5291595A (en) * | 1989-05-22 | 1994-03-01 | Martins Augusto B | Batch/application program processing |
JPH0317753A (en) * | 1989-06-14 | 1991-01-25 | Fuji Xerox Co Ltd | File access system |
US5485606A (en) * | 1989-07-10 | 1996-01-16 | Conner Peripherals, Inc. | System and method for storing and retrieving files for archival purposes |
JPH0368042A (en) * | 1989-08-07 | 1991-03-25 | Nec Corp | File access system |
US5317733A (en) * | 1990-01-26 | 1994-05-31 | Cisgem Technologies, Inc. | Office automation system for data base management and forms generation |
US5202982A (en) * | 1990-03-27 | 1993-04-13 | Sun Microsystems, Inc. | Method and apparatus for the naming of database component files to avoid duplication of files |
US5359724A (en) * | 1992-03-30 | 1994-10-25 | Arbor Software Corporation | Method and apparatus for storing and retrieving multi-dimensional data in computer memory |
-
1992
- 1992-07-06 US US07/909,984 patent/US5745902A/en not_active Expired - Lifetime
-
1993
- 1993-07-06 KR KR1019930012599A patent/KR940006029A/en not_active Application Discontinuation
- 1993-07-06 JP JP16714093A patent/JP3548197B2/en not_active Expired - Lifetime
- 1993-07-06 EP EP93110797A patent/EP0578205B1/en not_active Expired - Lifetime
- 1993-07-06 AT AT93110797T patent/ATE190738T1/en active
- 1993-07-06 DE DE69328053T patent/DE69328053T2/en not_active Expired - Lifetime
- 1993-07-06 CA CA002099915A patent/CA2099915C/en not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
Ada Letters, vol. 10, no. 1, January 1990, pages 111 - 117; Wang Y. E. G.: "Universal_File_Names for Ada" * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8972348B2 (en) | 1999-10-04 | 2015-03-03 | Microsoft Corporation | Method and system for supporting off-line mode of operation and synchronization |
US8676178B2 (en) | 2002-02-01 | 2014-03-18 | Microsoft Corporation | Method and system for managing changes to a contact database |
US9065902B2 (en) | 2002-02-01 | 2015-06-23 | Microsoft Technology Licensing, Llc | Method and system for managing changes to a contact database |
US8990695B2 (en) | 2003-10-23 | 2015-03-24 | Microsoft Technology Licensing, Llc | Flexible architecture for notifying applications of state changes |
Also Published As
Publication number | Publication date |
---|---|
ATE190738T1 (en) | 2000-04-15 |
DE69328053T2 (en) | 2000-07-13 |
EP0578205A2 (en) | 1994-01-12 |
DE69328053D1 (en) | 2000-04-20 |
KR940006029A (en) | 1994-03-22 |
CA2099915A1 (en) | 1994-01-07 |
CA2099915C (en) | 2003-09-16 |
JPH06187211A (en) | 1994-07-08 |
JP3548197B2 (en) | 2004-07-28 |
EP0578205A3 (en) | 1994-05-18 |
US5745902A (en) | 1998-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0578205B1 (en) | Multiple file name referencing system | |
US7228299B1 (en) | System and method for performing file lookups based on tags | |
US10515052B2 (en) | File system that supports both case sensitive and case insensitive directory lookup | |
US8060521B2 (en) | Systems and methods of directory entry encodings | |
US6370549B1 (en) | Apparatus and method for searching for a file | |
JP2708331B2 (en) | File device and data file access method | |
US5787452A (en) | Client/server database system with methods for multi-threaded data processing in a heterogeneous language environment | |
CA2099916C (en) | Method and system for organizing internal structure of a file | |
US6895550B2 (en) | Computer-implemented PDF document management | |
US5754844A (en) | Method and system for accessing chunks of data using matching of an access tab and hashing code to generate a suggested storage location | |
US7769779B2 (en) | Reverse name mappings in restricted namespace environments | |
EP0760500B1 (en) | Partitioning within a partition in a disk file storage system | |
WO1995016241A1 (en) | Extended attributes file system | |
US20080281788A1 (en) | Hierarchical structured abstract file system | |
JP2000089989A (en) | Method for starting service using property imparted to document | |
JPH1097449A (en) | Multivalued localized string | |
US8086638B1 (en) | File handle banking to provide non-disruptive migration of files | |
US20080177701A1 (en) | System and method for searching a volume of files | |
KR101828466B1 (en) | Method and apparatus for providing an object-based storage interface on the storage device based on file system | |
US6618724B1 (en) | Human-natural string compare for filesystems | |
US9020995B2 (en) | Hybrid relational, directory, and content query facility | |
Zboray | dBase III plus and the MARC AMC format: problems and possibilities | |
EP1244032A1 (en) | Management and distribution of electronic media | |
EP1244031A1 (en) | Management and distribution of electronic media | |
CA2398031A1 (en) | Collection storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LI LU MC NL PT SE |
|
PUAL | Search report despatched |
Free format text: ORIGINAL CODE: 0009013 |
|
AK | Designated contracting states |
Kind code of ref document: A3 Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LI LU MC NL PT SE |
|
17P | Request for examination filed |
Effective date: 19941115 |
|
17Q | First examination report despatched |
Effective date: 19981104 |
|
GRAG | Despatch of communication of intention to grant |
Free format text: ORIGINAL CODE: EPIDOS AGRA |
|
RIC1 | Information provided on ipc code assigned before grant |
Free format text: 6G 06F 17/30 A |
|
GRAG | Despatch of communication of intention to grant |
Free format text: ORIGINAL CODE: EPIDOS AGRA |
|
GRAH | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOS IGRA |
|
GRAH | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOS IGRA |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LI LU MC NL PT SE |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SE Free format text: THE PATENT HAS BEEN ANNULLED BY A DECISION OF A NATIONAL AUTHORITY Effective date: 20000315 Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20000315 Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED. Effective date: 20000315 Ref country code: GR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20000315 Ref country code: ES Free format text: THE PATENT HAS BEEN ANNULLED BY A DECISION OF A NATIONAL AUTHORITY Effective date: 20000315 |
|
REF | Corresponds to: |
Ref document number: 190738 Country of ref document: AT Date of ref document: 20000415 Kind code of ref document: T |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: NV Representative=s name: BOVARD AG PATENTANWAELTE |
|
REF | Corresponds to: |
Ref document number: 69328053 Country of ref document: DE Date of ref document: 20000420 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D |
|
ET | Fr: translation filed | ||
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20000615 Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20000615 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: THE PATENT HAS BEEN ANNULLED BY A DECISION OF A NATIONAL AUTHORITY Effective date: 20000731 |
|
NLV1 | Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents act | ||
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed | ||
REG | Reference to a national code |
Ref country code: GB Ref legal event code: IF02 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PFA Owner name: MICROSOFT CORPORATION Free format text: MICROSOFT CORPORATION#ONE MICROSOFT WAY#REDMOND, WASHINGTON 98052-6399 (US) -TRANSFER TO- MICROSOFT CORPORATION#ONE MICROSOFT WAY#REDMOND, WASHINGTON 98052-6399 (US) |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: CH Payment date: 20110712 Year of fee payment: 19 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: LU Payment date: 20120713 Year of fee payment: 20 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: IE Payment date: 20120710 Year of fee payment: 20 Ref country code: GB Payment date: 20120704 Year of fee payment: 20 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: BE Payment date: 20120713 Year of fee payment: 20 Ref country code: FR Payment date: 20120719 Year of fee payment: 20 Ref country code: DE Payment date: 20120704 Year of fee payment: 20 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: AT Payment date: 20120626 Year of fee payment: 20 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R071 Ref document number: 69328053 Country of ref document: DE |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
BE20 | Be: patent expired |
Owner name: *MICROSOFT CORP. Effective date: 20130706 |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: PE20 Expiry date: 20130705 |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: MK07 Ref document number: 190738 Country of ref document: AT Kind code of ref document: T Effective date: 20130706 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DE Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION Effective date: 20130709 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION Effective date: 20130705 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: MK9A |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IE Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION Effective date: 20130706 |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: 732E Free format text: REGISTERED BETWEEN 20150312 AND 20150318 |