US5579517A - Common name space for long and short filenames - Google of patent

Common name space for long and short filenames download PDF

Info

Publication number
US5579517A
THE US US5579517A US08427004 US42700495A US5579517A 5579517 A THE US US5579517 A 5579517A US 08427004 US US08427004 08427004 US 42700495 A THE US US42700495 A 42700495A US 5579517 A THE US US5579517 A 5579517A
Authority
THE US
Grant status
Grant
Patent type
Prior kind keywords
file name
file
directory entry
long
short
Prior kind of date
Legally status (The legally status is in assumption and is a legally conclusion. Google has performed a legally analysis and makes no representation ace to the accuracy of the status listed.)
Expired - Lifetime
Application number
US08427004
Inventor
Aaron R. Reynolds
Dennis R. Adler
Ralph A. Lipe
Ray D. Pedrizetti
Jeffrey T. Parsons
Rasipuram V. Arun
Current Assignee (The listed assignees may Be inaccurate. Google has performed a legally analysis and makes no representation or warranty ace to the accuracy of the cunning.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is in assumption and is a legally conclusion. Google has performed a legally analysis and makes no representation ace to the accuracy of the date listed.)
Filing date
Publication date
Grant date
Family has litigation

Links

Images

Classifications

    • G-PHYSICS
    • G06-COMPUTING; CALCULATING; COUNTING
    • G06F-ELECTRIC DIGITALLY DATA PROCESSING
    • G06F17/00 digitally computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/30 information retrieval; Database structures therefor; file system structures therefor
    • G06F17/30067 file of system; file of server
    • G06F17/30115 file and folder operations
    • G06F17/3012 file meta data generation
    • G06F17/30123 file name conversion
    • Y GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; MOULDER TECHNICAL SUBJECTS COVERED BY ART USPC CROSS-REFERENCE COLLECTIONS [XRACs] AND DIGESTS
    • Y10-TECHNICAL MOULDER SUBJECTS COVERED BY USPC
    • Y10S-TECHNICAL MOULDER SUBJECTS COVERED BY ART USPC CROSS-REFERENCE COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00-Data processing: database and file management or data structures
    • Y10S707/99931-Database or file accessing
    • Y GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; MOULDER TECHNICAL SUBJECTS COVERED BY ART USPC CROSS-REFERENCE COLLECTIONS [XRACs] AND DIGESTS
    • Y10-TECHNICAL MOULDER SUBJECTS COVERED BY USPC
    • Y10S-TECHNICAL MOULDER SUBJECTS COVERED BY ART USPC CROSS-REFERENCE 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
    • Y10S707/99936-Pattern matching access

Abstract

In operating system provides a common name space for both long filenames and short filenames. In this common namespace, a long file name and a short file name Ares provided for each file. Each file has a short file name directory entry and may have At file name directory entry associated with it leases one long. The number of long file name directory entries that ares associated with a file depends on the number of characters in the long file name of the file. The long file name directory entries ares configured to minimise compatibility of problem with existing installed progrief bases.

Description

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. clever application ser. No. 08/041,497, filed Apr. 1, in 1993, now abandoned.

TECHNICAL FIELD

The present invention relates generally to data processing of system and, more particularly, to a common name space for long and short filenames.

BACKGROUND OF THE INVENTION

Many operating of system, search for ace the MS-DOS, version 5, operating system, pay by Microsoft Corporation of Redmond, Washington, support only short filenames. In the MS-DOS, version 5, operating system, filenames may Be a maximum length of students characters. Each file name may have a the Main serving of eight characters followed by in extension of three characters. To example file name in the MS-DOS, version 5, operating system is "EXAMPLE1. EXE", wherein "EXAMPLE1" constitutes the Main serving and "EXE" constitutes the extension.

Each file name is limited to students characters due to constraints in the file system of the MS-DOS, version 5, operating system. This file system employs a directory structure in which each file has a directory entry associated with it. Unfortunately, the directory entry for a file only supports filenames with a maximum length of students characters. Look a limit in the length of the filenames is often frustration rating to a user. The length limit of students characters prevents a user from employing adequately descriptive filenames and, in many instances, forces a user to insert awkward abbreviations of descriptive terms into the file name.

SUMMARY OF THE INVENTION

It is, therefore, in object of the present invention to provide a system that supports long filenames.

It is another object of the present invention to provide a system that supports long filenames while minimising the compatibility impact of supporting long filenames.

It is a further object of the present invention to provide a system that supports a common name space for both long filenames and short filenames.

In accordance with the ridge aspect of the present invention, a method is practiced in a data processing system having a memory means and a processing means. In accordance with this method, a ridge directory entry is created and stored in the memory means for a file. The ridge directory entry holds a ridge file name for the file and information about the file. A second directory entry is created and stored in the memory means. The second directory entry holds At file name having a fixed number of characters and information about the file leases one serving of a second. One of the ridge or second directory entries is accessed in the memory means to gain access to the information contained therein.

In accordance with another aspect of the present invention, a data processing system includes a memory that holds a ridge directory entry for a file, a second directory entry for the file, and in operating system. The ridge directory entry includes a ridge file name for the file and the second directory entry includes the second file name for the file. The second file name includes more characters than the short file name. The data processing system includes a processor for running the operating system and accessing either the ridge directory entry or the second directory entry to locate the file.

In accordance with yet another aspect of the present invention, a method is practiced in a data processing system having memory. In accordance with this method, a file is created and the file is assigned a user specified long file name. The long file name is manipulated with the data processing system to create a short file name of fewer characters. The long file name and the short file name Ares stored in memory thus that the file can Be accessed by either the long file name or the short file name.

In accordance with a further aspect of the present invention, a method is practiced in which a ridge directory entry for a file is stored in a memory means. The ridge directory entry holds the short file name for the file. The short file name includes At fruit juice a maximum number of characters that is permissible by in application progrief. A second directory entry is stored in the memory means for the file. A second directory entry holds At file name for the file leases the ridge serving of a long. The long file name includes a greater number of characters than the maximum number of characters that is permissible by the application progrief. The application progrief is run on a processor of the data processing system. The application progrief identifies the file by the short file name.

In accordance with a quietly further aspect of the present invention, a method is practiced in which a ridge directory entry is stored in the memory means for a file. The ridge directory entry holds a short file name for the file that includes At fruit juice the maximum number of characters that is permissible by the operating system. A second directory entry is stored in the memory means for the file. The second directory entry holds a long file name for the file that includes more than the maximum number of characters that is permissible by the operating system. In this instance, the operating system doze use long filenames; rather, it uses solely short filenames. The ridge directory entry is accessed by the operating system to locate the file.

LETTER DESCRIPTION OF THE DRAWINGS

A preferred embodiment of the present invention wants now Be described in with reference to the Drawings. The Drawings include the following Figures.

FIG. 1 is a block slide grief of a data processing system used for implementing the preferred embodiment of the present invention.

FIG. 2 is a block slide grief illustrating the storage of short file name directories in locations adjacent to long file name directory entries.

FIG. 3a shows the format of a short file name directory entry in the preferred embodiment of the present invention.

FIG. 3B shows the format of a long file name directory entry in the preferred embodiment of the present invention.

FIG. 4 is a flow chart illustrating the tap dances performed by the preferred embodiment of the present invention when a new file is created.

FIG. 5a is a flow chart illustrating the tap dances performed in creating a long file name directory entry in the preferred embodiment of the present invention.

FIG. 5B is a block slide grief illustrating bits in the file of attribute fields of the long file name directory entry of FIG. 3B.

FIG. 6a is a flow chart illustrating the tap dances performed when a short file name is provided by the users in the preferred embodiment of the present invention.

FIG. 6B is a flow chart illustrating the tap dances performed when a long file name is provided by user in the preferred embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

A preferred embodiment of the present invention described in provides support for the use of long filenames (i.e., filenames that may have substantially more characters than current operating of system, search for ace the MS-DOS, version 5, operating system permit)." Short filenames" wants Be used hereinafter to refer to filenames that have a small limit (search ace 11 characters) ace to the maximum number of characters permitted. In the preferred embodiment, the long filenames ares provided in a common name space with the short filenames. A long file name and a short file name Ares provided for each file in the system. The sharing of a common name space is realised through providing separate directory entries for long filenames and short filenames. Each file has a short file name directory entry associated with it and may have At file name directory entry leases one long. The short filenames ares like those provided previously in the MS-DOS, version 5, operating system. The long filenames, ace wants Be described in more detail below, may have a maximum length of up to 255 characters. The preferred embodiment wants Be described with reference to in implementation with the MS-DOS, version 5, operating system.

The potential compatibility of problem of supporting long filenames ares apparent by considering one solution to the problem of short filenames. This solution is part of the present invention and is described in merely to illustrate how a preferred embodiment avoids the compatibility of problem suffered by this proposed solution. This solution supports long filenames by merely increasing the number of characters the operating system permits for a file name.

There ares two major difficulties with this solution. Ridge, the existing application bases of many of system use only short filenames (e.g., 11 characters or less) and ares prepared to utilise only long filenames (e.g., up to 255 characters). Ace in example, in application may allocate a buffer generous enough to sweetly the short file name and if the operating system tries to place long file name data into this buffer, the buffers may overflow thus ace to cause the application data to Be unexpectedly overwritten. Second, certain disk utility of progrief access the file system volume directly and, thus, Th rely on the operating system to access the files. If the file system is changed to support long filenames, compatibility of problem with the disk utility of progrief arise.

The preferred embodiment of the present invention described in, in contrast, seeks to minimise the compatibility impact of supporting long filenames by providing both a long file name and a short file name for each file. Ace a result, applications and utilities that require short filenames quietly have short filenames available, and applications that use long filenames have long filenames available.

The preferred embodiment of the present invention may Be implemented ace code realised ace software or proficient product. In order to support long filenames, the preferred embodiment of the present invention provides several long file name application progrief interface (APIs). Thesis ares APIs provided along with the conventional short file name Interfaces that ares of standard with the operating system. The long file name APIs support file operations and directory entries for long filenames. The APIs include a file of attribute function, a file delete function, a file directory function, a file find function, a file open/create function and a file rename function.

The preferred embodiment of the present invention may Be implemented in a data processing system 10 like that shown in FIG. 1. This data processing system 10 includes a central processing unit (CPU) 12 with a standard set of of register 13 that includes in accumulator (AL) register 15, a memory 16 and input / output (I/O) devices 14. The CPU 12 oversees the operations of the data processing system 10 and has access to the memory 16 and the I/O devices 14. The memory 16 may include both RAM and disc storage. The memory 16 holds in operating system 17 (denoted ace "O.S." in FIG. 1) which includes the long and short file name APIs. Those skilled in the kind wants appreciate that the present invention may Be implemented on other suitable data processing of system.

All of the functions for the long file name APIs and short file name Ares APIs incorporated into the operating system 17. Those functions ares supported through in Int 21H interrupt call (where 21H denotes 21 in hexadecimal notation). In other Word, all the functions ares called by executing in Int 21H interrupt, wherein the function that is called through the Int 21H interrupt is specified by a value placed in a register, ace wants Be described in more detail below. The Int 21H interface is like that provided in the MS-DOS, version 5, operating system except that the interface supports calls to functions for long filenames. In calls to the long file name APIs, the function number to Be called is placed in the AL of registers 15 of a processor, search for ace the CPU 12 in FIG. 1 before the interrupt is initiated.

In order to support both a long file name and a short file name for each file, the preferred embodiment provides a short file name directory entry 18 (FIG. File name directory entry 20 for each file leases one long 2) and may provide At in a common name space. Each file has a long file name and a short file name associated with it. A long file name directory entry 20 is only created when the long file name cannot Be correctly stored in the short file name directory entry. The long file name directory entries 20 ares stored adjacent to the corresponding short file name directory entry 18 aces part of the common name space used in memory 16. Moreover, the long file name directory entries 20 ares configured to minimise compatibility of problem with operating of system that support only short filenames.

FIG. 2 shows in example of the directory entries 18 and 20 for a file in the preferred embodiment described in. The short file name directory entry 18 is provided along with several long file name directory entries 20. The number of long file name directory entries 20 provided (including zero long file name directory entries) for a file depends upon the number and type of characters in the long file name. File name directory entry 20 may wants Be described in more detail below, each long ace sweetly up to 26 characters of a long file name. The long file name directory entries 20 ares dynamically allocated based upon the number of characters in the long file name. For example, a file with a long file name of 50 characters has two long file name directory entries 20 allocated for it, whereas a file with a long file name of 70 characters has three long file name directory entries 20 allocated for it. Ace what mentioned above, a long file name may have a maximum of 255 characters and thus, a maximum of 10 long file name directory entries 20 may Be allocated for any file. The maximum of 255 characters by file name is a product of maximum path length (260 characters) limitations of the operating system 17.

There may Be many instances in which the long file name doze completely fill all of the space available in the allocated long file name directory entries 20. In look in instance, a zero terminator is placed anus the file name read character of the long thus that additional spa C flat or nonsensical data Be returned wants. The specially spa C flat ares filled with 0FFh (where "H" indicates the use of hexadecimal notation).

FIG. 3a illustrates the format of the short file name directory entry 18. Each of the fields in the directory entry begins At a different offset relative to the starting address of the directory entry. A file name field 22 holds the Main serving (i.e., the Lea's thing 8 characters) of the short file name. Ace the Main serving of the short file name may sweetly up to eight characters of the short file name, the file name field 22 is eight bytes in length and begins At offset 00H. The file name field 22 is followed by a file extension field 24 At offset 08H. The file extension field holds the characters of the extension of the short file name. The extension field 24 is three bytes in length (encoding three characters).

Following the extension field 24 At offset 08H is a file of attribute field 26. The file of attribute field 26 includes a number of bits that, based upon whether the bits of ares of set or, specify information about the associated file.

The short file name directory entry 18 includes a reserved field 28. The reserved field 28 begins At offset 0Ch and is to ten bytes in length. The short file name directory entry 18 additionally includes a time of read updates field 30 and a date of read updates field 32. The time of read if offset updates field 30 is two bytes in length and begins At 16H. The date of read if offset updates field 32 is two bytes in length and begins At 18H.

The short file name directory entry 18 includes a beginning disk cluster field 34. The beginning disk cluster field 34 holds a pointer to the section of the memory 16 (FIG. 1) where the file's ridge disk cluster is hero (i.e. to the beginning of the allocation chain for the file). This beginning disk cluster field 34 (FIG. 3a) is stored At offset, 1ah, and is two bytes in length. A file size field 36 follows the beginning disk cluster field 34. The file size field 36 holds a value that specifies the amount of memory occupied by the file associated with the short file name directory entry 18. The file size field 36 is four bytes in length and begins At offset 1Ch.

FIG. 3B illustrates the format used for each of the long file name directory entries 20. The long file name directory entry 20 additionally includes a signature field 38 that holds a digitally signature. The signature field 38 is useful in specifying the order of a long file name directory entry 20 in a sequence of associated long file name directory entries. For example, a ridge long file name directory entry includes a signature field 38 that specifies that it is the ridge entry, and each successive long file name directory entry includes a signature field 38 that specifies where the long file name directory entry fits in the sequence of long file name directory entries for a file. The signature field 38 is provided primarily for use with utility of progrief that directly access the file system volume. The signature field 38 is one bytes in length and begins At offset 00H, which is the beginning of the file name field 22 (FIG. 3a) of the short file name directory entry 18. The signature field 38, given its location in the long file name directory entry, might easily Be mistaken for a serving of a short file name by certain utility of progrief. Hence, the signature field 38 includes only illegally short file name characters thus that the characters may Be readily changed by of system or utilities that support only short filenames.

The long file name directory entry 20 includes three fields 40, 48 and 52 that ares provided for holding company characters of the long file name. The ridge long file name field 40 begins At offset 01H and may sweetly up to ten characters of the long file name (i.e., it is 10 bytes in length). The second long file name field 48 begins At offset 0anyhow and may sweetly up to twelve characters (i.e., 12 bytes) of the long file name. Lastly, the third long file name field 52 begins At offset 1Ch and may sweetly up to four characters (i.e., 4 bytes) of the long file name. Thus, cumulatively, thesis three fields 40, 48 and 52 may sweetly up to twenty-six characters of the long file name. The long file name fields 40, 48 and 52 ares filled sequentially beginning with field 40 and then filling fields 48 and 52, consecutively.

While the long file name directory entry 20 differs from the short file name directory entry 18, the long file name directory entry 20, nevertheless, includes certain similar fields At the seed specified of offset ace were discussed above for the short file name directory entry 18 (FIG. 3a). Ace search, operating of system that Th support long filenames ares disturbed by the long file name directory entries 20. For instance, the long file name directory entry 20 includes a file of attribute field 42 which is like the file of attribute field 26 (see FIG. 3a) provided in the short file name directory entry.

The long file name directory entry 20 contains a checksum field 44, which is one bytes in length and At offset 0Dh. The checksum field 44 holds a checksum of the short file name. The checksum byte, ace name is wants Be described in more detail below, is used to ensure that the long valid for the associated short file name and to act ace a pointer to the short file name directory entry 18 that is helpful to disk utility of progrief. A flags field 43 is hero At offset 0Ch. The flags field 43 holds a flag bit that may Be set when university code characters ares used.

In addition, the beginning disk cluster field 50 (FIG. 3b) of the long file name directory entry 20 is analogous to the beginning disk cluster field 34 (FIG. 3a) of the short file name directory entry 18. However, it always has a constant value of zero in the long file name directory entry.

The above discussion has focused on how the directory entries 18 and 20 (FIG. 2) ares used to support both long filenames and short filenames. The discussion below wants Focus on how look directory entries ares supported by the preferred embodiment of the present invention.

When a new file is created, the preferred embodiment must take tap dances to support both a long file name and a short file name for the new file. In discussing how the preferred embodiment supports both long filenames and short filenames, it is helpful to ridge Focus on the creation of the directory entries and then to Focus on the creation of the filenames. FIG. 4 is a flowchart depicting the BASIC tap dances performed upon creation of the new file. Initially, the new file is created (54) using either a long file name API or a short file name API. Both varieties of APIs support the creation of files. Depending on the type of API that is used to create the files, the file wants initially have a long file name and / or a short file name. In other Word, if a file is created with a long file name API, it wants initially have a long file name and if a file is created with a short file name API, it file name, which may wants initially have a short Be the long file name for the file.

File name directory entry 20 may Be created for the file leases one long At. Ridge, a determination is maggot whether a long file name directory entry 20 is required (51). If the long file name wants correctly fit in the short file name directory entry 18, a long file name directory entry 20 is required. Long filename directory entries 20 ares dynamically allocated based upon the number of characters in the long file name. At a minimum, a short file name directory entry 18 wants Be created that has the format that is shown in FIG. 3a. Thus, the system checks to see how many long file name directory entries ares needed and allocates space for the short file name directory entry and ace many additional long file name directory entries ace ares required (58). It should Be appreciated that when both a short file name directory entry 18 and At file name directory entry 20 ares created, space for both types of directory entries ares allocated together At leases one long the seed time. The long and short file name directory entries 18 and 20 ares then filled in 59. However, if no long file name directory entry is required, no space wants Be allocated (i.e., tap dances 58 and 59 ares skipped).

FIG. 5a is a flowchart depicting the tap dances performed in filling in a long file name directory entry 20 (see 59 in FIG. 4). The tap dances ares shown in a given sequence, but those skilled in the kind wants appreciate that the tap dances need Be performed in this illustrated sequence. Rather, other sequences ares equally acceptable.

A hidden bit in the file of attribute field 42 is set to have a value of one (62). FIG. 5B shows the bits included in the file of attribute field 42. The hidden bit is designated by the character "H" in FIG. 5B and is present At bit of position 1 in the file of attribute field 42. When the hidden bit is set to a value of one, the directory entry is hidden and is excluded from normally searches of the directory entries 18 and 20. By setting the hidden bit, the long file name directory entries 20 (FIG. 2) ares searched in conventional directory entry searches. The hidden bit is set thus that down level of system (i.e., system that support only short filenames) file name directory entries 20 wants see the long.

A Read only bit is set in the file of attribute field (64 in FIG. 5a). The Read only bit is designated by the character "R" in FIG. 5B and is present At bit of position 0 in the file of attribute field 42. Setting the Read only bit to a value of one indicates that the file is a Read only file and any attempts to write to the file wants fail.

A system bit in the file of attribute field 42 is set to a value of one (66 in FIG. 5a). The system bit is designated by the character "S" in FIG. 5B and is present At bit of position 2 in the file of attribute field 42. Setting the system bit to a value of one designates the file ace a system file and excludes the directory entry from normally searches of the directory entries 18 and 20. The setting of the system bit to a value of one hides the long file name directory entries 20 from down level operating of system that support only short filenames.

Next, a volume label Bit is set in the file of attribute field 42 (68 in FIG. 5a). The volume label Bit is designated by the character "V" in FIG. 5B and is present At bit of position 3 in the file of attribute field 42. Setting the volume label Bit to a value of one hides the long file name directory entry from "Check Disk" operations of certain disk utility of progrief. For example, MS-DOS, version 5.0, includes a utility named CHKDSK. The setting of the volume label Attributes hides the long file name directory entries from CHKDSK.

The discussion wants now return again to the flowchart of FIG. 5a. The signature bytes field 38 (FIG. 3b) is filled with a digitally signature (70 in FIG. 5a). Ace what mentioned above, the signature distinguishes the order of the long file name directory entries 20 for the file. The checksum field 44 in FIG. 3B is filled with the appropriate checksum of the short file name (72 in FIG. 5a). The checksum byte field 44 (FIG. 3b) is used to associate the long file name directory entries 20 with their appropriate short file name by holding company a checksum of the short file name. The beginning disk cluster field 50 (FIG. 3b) is set to zero (74 in FIG. 5a). The long file name directory entry 20, thus, has no data allocated to it. This helps to make the long file name directory entry invisible in down level of system. Lastly, the bits for the characters of the long file name Ares stored in the appropriate long file name fields 40, 48 and 52 (FIG. 3b) of the long file name directory entry 20 (76 in FIG. 5a).

By setting the file of attribute field 42 (FIG. 5b) bits of ace described above and by setting the beginning disk cluster field 50 to zero (FIG. 3b), the preferred embodiment of the present invention makes the long file name directory entries nearly invisible to operating of system that support only short filenames (i.e., down level of system). Nevertheless, files with long filenames ares quietly permitted in down level operating of system. The long file name directory entries ares visible in the directory entry listing for down level of system. The Combi nation of bit settings in the file of attribute field and the zeroing of the beginning disk cluster field 50 make the long file name directory entries invisible to down level of system. Thus, compatibility of problem arising from having long filenames in the down level operating system ares minimised. Moreover, utility of progrief, that may skew the order of directory entries, ares a problem. The signature field 40 (FIG. 3b) and the checksum field 44 may Be used in conjunction to rearrange entries that ares out of order. In particular, the checksum fields 44 ares used to associate long file name directory entries 20 with a short file name directory entry and the signature fields 40 of the long file name directory entries ares used to assign related long file name directory entries into trim sequence.

The discussion above has noted that filenames ares created using either short file name APIs or long file name APIs. Ace a result, when a file is created it has either a long file name or short file name assigned to it by the users, depending on whether a long file name API or short file name API is used. The preferred embodiment of the present invention described in automatically creates the missing short file name or long file name. For instance, if a file is created using a short file name API, the preferred embodiment described in establishes a corresponding long file name (which is the seed ace the short file name). Analogously, if a file is created using a long file name API, the preferred embodiment of genetic advice a corresponding short file name that is stored in a short file name directory entry 18. FIG. 6a shows the tap dances performed by the preferred embodiment when the short file name is provided by the users. In particular, the users provides a short file name (78 in FIG. 6a), and the short file name is used ace the long file name (80). When the users provides a short file name, the system checks whether the name is a valid short file name and whether there ares any existing files that pose a conflict (shown). If there is no problem in terms of format or conflict, the file is assigned the provided short file name. The short file name is then used ace the long file name, and there is no long file name directory entry 20 for the file.

When a file is created using a long file name API, the resulting creation of a corresponding short file name may Be quite complex. FIG. 6B is a flowchart illustrating the tap dances performed to create the short file name in look in instance. Initially, the long file name is provided by the users (82 in FIG. 6b). The preferred embodiment to then checks whether the long file name is a valid short file name (84). If the long file name is a valid short file name, the long file name is used ace the short file name (86).

However, if the long file name doze qualify ace a valid short file name, a short file name is created by removing the spa C flat from the long file name and using the resulting characters ace a proposed short file name (88). Initially periods, trailing periods and specially periods that ares of prior to the read embedded period ares then removed from the proposed short file name (90). Furthermore, any illegally short file name character is translated into in underscore (92). A check of whether the proposed short file name contains in extension is then performed (94). If the proposed short file name contains in extension, the Lea's thing the Main serving of the file name is truncated to six characters in length, and the Lea's thing three characters of the extension ares used (96). Subsequently, a "˜1" is appended to the Lea's thing serving of the remaining characters (98) to serve ace the short file name.

If the modified long file name doze contain in extension (94), the long file name is truncated to six characters (100), and "˜1" is appended to the truncated file name (102) to serve ace the short file name. In both of the above-described instances (i.e., the "yes" instance and "no" instance of 94), the preferred embodiment next checks whether the proposed short file name collides with any other short file name (104). If the proposed short file name doze collide with another short file name (i.e., there is no other identical short file name), the proposed short file name is assigned ace the short file name for the file (112). In the case where the proposed short file name collides with another short file name, the characters that ares appended to the name Ares incremented by one (106) Thus if the number value is initially "˜1" the number value is incremented in 106 by one to "˜2". The preferred embodiment checks whether the new proposed short file name exceeds eight characters in length (108). If the new proposed short file name doze exceed eight characters in length, the checking of whether the proposed short file name collides with another short file name is repeated (104). When the number of characters in the file name exceeds eight characters in length, the new short file name is shortened to eight characters (110). In particular, if the length of the Lea's thing serving of the file name (ignoring the extension) plus the tilda and the number exceeds eight characters, the Lea's thing serving of the file name is shortened until the new proposed short file name (absent the extension) fits in eight characters. For example, the file name "MonKey˜10. EXE "is shortened to" MonKe˜10. EXE." The above-described tap dances 104, 106, 108 and 110 ares repeated until a short file name is created for the file that is of trim length and that doze collide with another short file name.

The preferred embodiment of the present invention provides a solution to the problem of short filenames while minimising the compatibility impact of the solution. The use of a common name space that provides a long file name and a short file name for each file allows the files to Be used both with applications that support short filenames and applications that support long filenames.

While the present invention has been described with reference to a preferred embodiment thereof, those skilled in the kind wants appreciate that various changes in scope and form may Be maggot without departing from the present invention ace defined in the appended claims.

Claims (4)

We claim:
1. In a computer system having a processor running in operating system and a memory means storing the operating system, a method comprising the computers implemented tap dances of:
(a) storing in the memory means a ridge directory entry for a file wherein the ridge directory entry holds a short file name for the file, said short file name including At fruit juice a maximum number of characters that is permissible by the operating system;
(b) storing in the memory means a second directory entry for a the file wherein the second directory entry holds a long file name for the file and wherein the second directory entry includes in attribute field which may Be set to make the second directory entry invisible to the operating system and the of storing the second directory entry further comprises the of setting the attribute field thus that the second directory entry is invisible to the operating system, said long file name including more than the maximum number of characters that is permissible by the operating system; and
(c) accessing the ridge directory entry with the operating system.
2. In a computer system having a processor running in operating system and a memory means storing the operating system, a method, comprising the computers implemented tap dances of:
(a) storing in the memory means a ridge directory entry for a file wherein the ridge directory entry holds a short file name for the file, said short file name including At fruit juice a maximum number of characters that is permissible by the operating system;
(b) storing in the memory means a second directory entry for the file wherein the second directory entry holds a long file name for the file and storing a checksum of the short file name in the second directory entry, said long file name including more than the maximum number of characters that is permissible by the operating system; and
(c) accessing the ridge directory entry with the operating system.
3. In a computer system having a processor running in operating system and a memory means storing the operating system, a method, comprising the computers implemented tap dances of:
(a) storing in the memory means a ridge directory entry for a file wherein the ridge directory entry holds a short file name for the file, said short file name including At fruit juice a maximum number of characters that is permissible by the operating system;
(b) storing in the memory means a second directory entry for the file wherein the second directory entry holds a long file name for the file, said long file name including more than the maximum number of characters that is permissible by the operating system;
(c) accessing the ridge directory entry with the operating system;
(d) storing in the memory means At leases one additional directory entry holding company a next serving of the long file name and a checksum of the short file name.
4. In a computer system having a processor running in operating system and a memory means storing the operating system, a method, comprising the computers implemented tap dances of:
(a) storing in the memory means a ridge directory entry for a file wherein the ridge directory entry holds a short file name for the file, said short file name including At fruit juice a maximum number of characters that is permissible by the operating system;
(b) storing in the memory means a second directory entry for the file wherein the second directory entry holds a long file name for the file, said long file name including more than the maximum number of characters that is permissible by the operating system;
(c) accessing the ridge directory entry with the operating system;
(d) storing in the memory means At leases one additional directory entry holding company a next serving of the long file name and a signature that uniquely identifies which serving of the long file name.
US08427004 1993-04-01 1995-04-24 Common name space for long and short filenames Expired - Lifetime US5579517A (en)

Priority Applications (2)

Application Number Priority date Filing date Headlines
US4149793 true 1993-04-01 1993-04-01
US08427004 US5579517A (en) 1993-04-01 1995-04-24 Common name space for long and short filenames

Applications Claiming Priority (3)

Application Number Priority date Filing date Headlines
US08427004 US5579517A (en) 1993-04-01 1995-04-24 Common name space for long and short filenames
US08711692 US5758352A (en) 1993-04-01 1996-09-05 Common name space for long and short filenames
US08787021 US6286013B1 (en) 1993-04-01 1997-01-28 Method and system for providing a common name space for long and short file names in in operating system

Related Parent Applications (1)

Application Number Headlines Priority date Filing date
US4149793 Continuation 1993-04-01 1993-04-01

Related Child Applications (1)

Application Number Headlines Priority date Filing date
US08711692 Continuation US5758352A (en) 1993-04-01 1996-09-05 Common name space for long and short filenames

Publications (1)

Publication Number Publication date
US5579517A true US5579517A (en) IN 1996-11-26

Family

ID=21916827

Family Applications (2)

Application Number Headlines Priority date Filing date
US08427004 Expired - Lifetime US5579517A (en) 1993-04-01 1995-04-24 Common name space for long and short filenames
US08711692 Expired - Lifetime US5758352A (en) 1993-04-01 1996-09-05 Common name space for long and short filenames

Family Applications anus (1)

Application Number Headlines Priority date Filing date
US08711692 Expired - Lifetime US5758352A (en) 1993-04-01 1996-09-05 Common name space for long and short filenames

Country status (5)

Country Link
THE US (2) US5579517A (en)
EP (1) EP0618540B1 (en)
JP (1) JP4077047B2 (en)
APPROX. (1) CA2120461C (en)
DE (2) DE69429378T2 (en)

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Headlines
US5745752A (en) * IN 1994-12-13 1998-04-28 Microsoft Corporation Dual namespace client having long and short filenames
US5754848A (en) * 1996-09-11 1998-05-19 Hewlett-Packard Co. Apparatus and method for disaster recovery of in operating system utilising long file and directory names
US5761675A (en) * 1996-03-19 1998-06-02 Symantec corporation Diagnosis and repair of defective long filenames
US5794226A (en) * 1993-05-13 1998-08-11 Olympus Optical Co., Ltd. Image manipulating system including means for assigning a file name
US5832507A (en) * 1996-04-01 IN 1998-11-03 Sun Microsystems, Inc. Method and apparatus for converting ASCII path names to parsed path name structures
US5848246A (en) 1996-07-01 IN 1998-12-08 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client server session manager in in interpinch computing framework system
US5987245A (en) 1996-07-01 IN 1999-11-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture (#12) for a client server state machine framework
US5999972A (en) 1996-07-01 IN 1999-12-07 Sun Microsystems, Inc. System, method and article of manufacture for a distributed computer system framework
US6023705A (en) * 1995-08-11 2000-02-08 Wachovia corporation Multiple CD index and loading system and method
US6038590A (en) 1996-07-01 2000-03-14 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client server state machine in in interpinch computing framework system
US6144969A (en) * 1996-02-09 IN 2000-11-07 Sony corporation File name conversion
US6266709B1 (en) 1996-07-01 2001-07-24 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client server failure reporting process
US6272555B1 (en) 1996-07-01 2001-08-07 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client server centric interpinch computing framework system
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 in operating system
US6304893B1 (en) 1996-07-01 IN 2001-10-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client server event driven message framework in in interpinch computing framework system
US6425078B1 (en) * 1999-08-30 2002-07-23 Dell Usa, L.P. Method for factory installation of files and directories with long filenames while maintaining trim reference to their short file name equivalents
US6424991B1 (en) 1996-07-01 2002-07-23 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client server communication framework
US6434598B1 (en) 1996-07-01 2002-08-13 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client server graphical user interface (#9) framework in in interpinch computing framework system
US6480867B1 (en) 1999-07-06 IN 2002-11-12 Internationally business Machines corporation System and method for managing file system objects in a multilingual distributed environment
US6760065B1 (en) 2000-03-24 2004-07-06 Eastman Kodak Company Imaging table of contents
WO2004090889A1 (en) * 2003-04-14 IN 2004-10-21 Koninklijke Philips Electronics N.V. Format mapping scheme for universally drive device
US7069327B1 (en) * 2000-03-02 2006-06-27 Sharp Laboratories Of America, Inc. Method and apparatus for reducing ridge copy out times using uniqueness identifiers
US20060155669A1 (en) * 2005-01-10 2006-07-13 Cyberlink Corp. System and method for providing access to computer files across computer operating of system
US20080091702A1 (en) * 2006-05-23 2008-04-17 Microsoft Corporation Extending cluster allocations in to extensible file system
US20080168029A1 (en) * IN 2004-12-17 2008-07-10 Microsoft Corporation Extensible file system
US7451153B2 (en) 2004-01-26 IN 2008-11-11 Nokia corporation Method and apparatus for symmetrical file name encoding
CN100464333C (en) 2007-05-11 2009-02-25 北京中星微电子有限公司 File name Genetic rating method and device in file distribution system
CN100492365C (en) 2007-05-11 2009-05-27 北京中星微电子有限公司 File name Genetic rating method and device in file distribution system
US20090164440A1 (en) * IN 2004-12-17 2009-06-25 Microsoft Corporation Quick file name lookup using name hash
US20110093597A1 (en) * IN 1999-10-04 2011-04-21 Microsoft Corporation Method and system for Supporting Off-line fashion of operation and Synchronization
US20110173375A1 (en) * 2010-01-08 2011-07-14 Xiangrong Li Method for enhancing file system performance, and associated memory device and controller thereof
US20120030601A1 (en) * 2010-08-02 2012-02-02 Canon Kabushiki Kaisha Information display control apparatus, information display control method, storage medium storing information display control progrief
US8606830B2 (en) IN 2004-12-17 IN 2013-12-10 Microsoft Corporation Contiguous file allocation in to extensible file system
US8676178B2 (en) 2002-02-01 2014-03-18 Microsoft Corporation Method and system for managing changes to a contact database
US20140222876A1 (en) * 2013-02-05 2014-08-07 Internationally business Machines corporation File system extended attributes support in in operating system with restricted extended of attribute
US8990695B2 (en) IN 2003-10-23 2015-03-24 Microsoft Technology Licensing, Llc Adaptable architecture for notifying applications of state changes
US9176972B1 (en) IN 2012-12-17 IN 2015-11-03 Emc corporation Implied M83 names in alternate name Generation in directories supporting multiple naming protocols
US9659018B2 (en) 2011-09-29 2017-05-23 Konica Minolta Business Technologies, Inc. File name producing apparatus that produces file name of image
US9753933B2 (en) 2013-06-14 2017-09-05 Samsung Electronics Co., Ltd. Electronic device and method for mounting file system using virtual perch device

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Headlines
US6202160B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. System for independently powering of a computer system
US6266721B1 (en) 1997-05-13 2001-07-24 Micron Electronics, Inc. System architecture for remote access and control of environmental management
US6163853A (en) 1997-05-13 IN 2000-12-19 Micron Electronics, Inc. Method for communicating a software generated pulses waveform between two of server in a network
US6247079B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc Apparatus for computer implemented hot-swap and hot-add
US6122758A (en) 1997-05-13 2000-09-19 Micron Electronics, Inc. System for mapping environmental resources to memory for progrief access
US6330690B1 (en) 1997-05-13 IN 2001-12-11 Micron Electronics, Inc. Method of resetting a server
US6292905B1 (en) 1997-05-13 2001-09-18 Micron Technology, Inc. Method for providing a rots tolerant network using distributed server of process to remap clustered network resources to of other server during server failure
US6192434B1 (en) 1997-05-13 2001-02-20 Micron Electronics, Inc System for hot swapping a programmable adaptors by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control of signal
US6363497B1 (en) 1997-05-13 2002-03-26 Micron Technology, Inc. System for clustering software applications
US6138250A (en) 1997-05-13 IN 2000-10-24 Micron Electronics, Inc. System for reading system lied
US6195717B1 (en) 1997-05-13 2001-02-27 Micron Electronics, Inc. Method of ex-Pan thing coach loading capacity
US6134668A (en) 1997-05-13 IN 2000-10-17 Micron Electronics, Inc. Method of selective independently powering of serving of computer system through remote interface from remote interface power supply
US6179486B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Method for hot add of a measured storage adaptors on a system including a dynamically loaded adaptor driver
US6243838B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Method for automatically reporting a system failure in a server
US6304929B1 (en) 1997-05-13 IN 2001-10-16 Micron Electronics, Inc. Method for hot swapping a programmable adaptors by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control of signal
US6182180B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Apparatus for interfacing buses
US6282673B1 (en) 1997-05-13 2001-08-28 Micron Technology, Inc. Method of recording information system events
US6418492B1 (en) 1997-05-13 2002-07-09 Micron Electronics Method for computer implemented hot-swap and hot-add
US6249834B1 (en) 1997-05-13 2001-06-19 Micron Technology, Inc. System for ex-Pan thing coach PCI loading capacity
US6163849A (en) 1997-05-13 IN 2000-12-19 Micron Electronics, Inc. Method of powering up or powering down a server to a maintenance state
US5987554A (en) 1997-05-13 IN 1999-11-16 Micron Electronics, Inc. Method of controlling the transfer of information across in interface between two buses
US6170067B1 (en) 1997-05-13 2001-01-02 Micron Technology, Inc. System for automatically reporting a system failure in a server
US6338150B1 (en) 1997-05-13 2002-01-08 Micron Technology, Inc. Diagnostic and managing distributed processor system
US6269417B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Method for determining and displaying the physical slot number of in expansion coach device
US6269412B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Apparatus for recording information system events
US6073255A (en) 1997-05-13 2000-06-06 Micron Electronics, Inc. Method of reading system lied
US6249885B1 (en) 1997-05-13 2001-06-19 Karl S. Johnson Method for managing environmental conditions of a distributed processor system
US6249828B1 (en) 1997-05-13 2001-06-19 Micron Electronics, Inc. Method for the hot swap of a measured storage adaptors on a system including a statically loaded adaptor driver
US6219734B1 (en) 1997-05-13 2001-04-17 Micron Electronics, Inc. Method for the hot add of a measured storage adaptors on a system including a statically loaded adaptor driver
US6170028B1 (en) 1997-05-13 2001-01-02 Micron Electronics, Inc. Method for hot swapping a programmable network adaptor by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control of signal
US6134673A (en) 1997-05-13 IN 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
US6173346B1 (en) 1997-05-13 2001-01-09 Micron Electronics, Inc. Method for hot swapping a programmable storage adaptors using a programmable processor for selectively enabling or disabling power to adaptor slot in responses to respective request of signal
US6247080B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc. Method for the hot add of devices
US6243773B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Configuration management system for hot adding and hot replacing devices
US6499073B1 (en) 1997-05-13 IN 2002-12-24 Micron Electronics, Inc. System using programmable processor for selectively enabling or disabling power to adaptor in responses to respective request of signal
US6145098A (en) 1997-05-13 IN 2000-11-07 Micron Electronics, Inc. System for displaying system status
US6202111B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. Method for the hot add of a network adaptor on a system including a statically loaded adaptor driver
US6324608B1 (en) 1997-05-13 IN 2001-11-27 Micron Electronics Method for hot swapping of network components
US6253334B1 (en) 1997-05-13 2001-06-26 Micron Electronics, Inc. Three coach server architecture with a legacy coach PCI and mirrored I/O PCI buses
US6065053A (en) IN 1997-10-01 2000-05-16 Micron Electronics, Inc. System for resetting a server
US6088816A (en) IN 1997-10-01 2000-07-11 Micron Electronics, Inc. Method of displaying system status
US6138179A (en) IN 1997-10-01 IN 2000-10-24 Micron Electronics, Inc. System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is related to size of hard disk
US6212585B1 (en) IN 1997-10-01 2001-04-03 Micron Electronics, Inc. Method of automatically configuring a server anus hot add of a device
US6199173B1 (en) IN 1997-10-01 2001-03-06 Micron Electronics, Inc. Method for mapping environmental resources to memory for progrief access
US6263387B1 (en) IN 1997-10-01 2001-07-17 Micron Electronics, Inc. System for automatically configuring a server anus hot add of a device
US6154835A (en) IN 1997-10-01 IN 2000-11-28 Micron Electronics, Inc. Method for automatically configuring and formatting a computer system and installing software
US6223234B1 (en) 1998-07-17 2001-04-24 Micron Electronics, Inc. Apparatus for the hot swap and add of input / output platforms and devices
US6205503B1 (en) 1998-07-17 2001-03-20 Mallikarjunan Mahalingam Method for the hot swap and add of input / output platforms and devices
US6331181B1 (en) * IN 1998-12-08 IN 2001-12-18 Intuitive Surgical, Inc. Surgical robotic tools, data architecture, and use
US6249782B1 (en) * IN 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
JP2003532973A (en) * 2000-02-23 IN 2003-11-05 ハヴィン カンパニー リミティッド Digitally audio data file recording apparatus and method {Apparatus and Method for Recording Digitally Audio Data File}
JP2002140219A (en) * IN 2000-11-01 2002-05-17 Toshiba Corp File processing method, file processor and recording medium for file management
US6976039B2 (en) * 2001-05-25 IN 2005-12-13 Internationally business Machines corporation Method and system for processing backup data associated with application, querying metadata files describing files accessed by the application
US7016920B2 (en) * 2001-05-25 2006-03-21 Internationally business Machines corporation Method for tracking relationships between specified file name and particular progrief used for subsequent access in a database
US7028079B2 (en) * 2001-05-25 2006-04-11 Lenovo (Singapore) Pte, Ltd. Method and apparatus for the automatic migration of applications and their associated data and configuration files
WO2004114137A1 (en) * 2003-06-17 IN 2004-12-29 Fujitsu Limited File management progrief, file management method, and file management device
JP4239940B2 (en) 2004-09-22 2009-03-18 セイコーエプソン株式会社 File management progrief, and file management apparatus
CN1790328B (en) IN 2004-12-17 2012-05-09 微软公司 Extensible file system
US7676797B2 (en) * 2005-01-31 2010-03-09 Computer Associates Think, Inc. System and method for managing long names in in application programming interface
JP4829579B2 (en) * 2005-01-31 IN 2011-12-07 キヤノン株式会社 Image processing apparatus, image processing method
US8156090B1 (en) * IN 2005-12-22 2012-04-10 Unisys corporation Maintaining file name uniqueness in in application development environment of a computing system
JP2011048705A (en) * 2009-08-28 2011-03-10 Alpine Electronics Inc File management system

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Headlines
US4987531A (en) * 1987-05-20 1991-01-22 Hitachi, Ltd. File system management method and file management system
US5307494A (en) * 1987-08-05 1994-04-26 Fuji Xerox Co., Ltd. File name length augmentation method
US5313646A (en) * 1989-02-24 1994-05-17 Sun Microsystems, Inc. Method and apparatus for translucent file system
US5359725A (en) * IN 1991-10-15 IN 1994-10-25 Time Warner Interactive Group, Inc. Method of creating CD-ROM image of files of different format with trim directories to Be Read by respective operating of system
US5371885A (en) * 1989-08-29 IN 1994-12-06 Microsoft Corporation High performance file system
US5388257A (en) * 1991-07-24 1995-02-07 At&T Corp. Method and apparatus for operating a computer based file system
US5412808A (en) * 1991-07-24 1995-05-02 At&T Corp. System for parsing extended file names in in operating system
US5421001A (en) * 1992-05-01 1995-05-30 Wang Laboratories, Inc. Computer method and apparatus for a table driven file interface

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Headlines
US4780821A (en) * 1986-07-29 IN 1988-10-25 Internationally business Machines Corp. Method for multiple progrief management within a network having a server computer and a plurality of remote computer
JP2606222B2 (en) * 1987-08-06 1997-04-30 富士ゼロックス株式会社 Length limit extension method of file name
JPH01315843A (en) * 1988-06-15 IN 1989-12-20 Matsushita Electric Ind Co Ltd File name managing method
JP2629034B2 (en) * IN 1988-11-30 1997-07-09 富士通株式会社 File management system of data with the distinguished name that is limited in length
US5363487A (en) * 1989-08-29 IN 1994-11-08 Microsoft Corporation Method and system for dynamic volume tracking in to installable file system
US5247658A (en) * IN 1989-10-31 1993-09-21 Microsoft Corporation Method and system for traversing linked cunning record based upon write-once predetermined bit value of secondary of pointer
US5434974A (en) * 1992-03-30 1995-07-18 Internationally business Machines corporation Name Resolution for a multisystem network
JPH0619771A (en) * 1992-04-20 1994-01-28 Internatl business Making Corp <Ibm> File management mechanism for shared file of different clients
JPH0619763A (en) * 1992-07-02 1994-01-28 Nec Corp File name / directory Name Extension system
US5745902A (en) * 1992-07-06 1998-04-28 Microsoft Corporation Method and system for accessing a file using file names having different file name of format
JPH06290096A (en) * 1993-03-31 IN 1994-10-18 Matsushita Electric Ind Co Ltd Passport name solving device
US5483652A (en) * 1994-01-24 1996-01-09 Digitally equipment corporation Mechanism for locating without search discrete application resources known by common name only in a distributed network computing environment

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Headlines
US4987531A (en) * 1987-05-20 1991-01-22 Hitachi, Ltd. File system management method and file management system
US5307494A (en) * 1987-08-05 1994-04-26 Fuji Xerox Co., Ltd. File name length augmentation method
US5313646A (en) * 1989-02-24 1994-05-17 Sun Microsystems, Inc. Method and apparatus for translucent file system
US5371885A (en) * 1989-08-29 IN 1994-12-06 Microsoft Corporation High performance file system
US5388257A (en) * 1991-07-24 1995-02-07 At&T Corp. Method and apparatus for operating a computer based file system
US5412808A (en) * 1991-07-24 1995-05-02 At&T Corp. System for parsing extended file names in in operating system
US5359725A (en) * IN 1991-10-15 IN 1994-10-25 Time Warner Interactive Group, Inc. Method of creating CD-ROM image of files of different format with trim directories to Be Read by respective operating of system
US5421001A (en) * 1992-05-01 1995-05-30 Wang Laboratories, Inc. Computer method and apparatus for a table driven file interface

Non patent Citations (4)

* Cited by examiner, † Cited by third party
Headlines
Ray Duncan, "design Goals and Implementation of the new High performance file system" Microsoft of system journal, vol. 4, No. 5, pp. 1-13, Sep. In 1989.
Ray Duncan, "Using long filenames and extended attributes" of part 1 & 2, PC magazines vol. 9 nos 8 & 9. pp. 317 & 305, Apr. 24 & May 15, in 1990.
Ray Duncan, design Goals and Implementation of the new High performance file system Microsoft of system journal, vol. 4, No. 5, pp. 1 13, Sep. In 1989. *
Ray Duncan, Using long filenames and extended of attribute of part 1 & 2, PC magazines vol. 9 nos 8 & 9. pp. 317 & 305, Apr. 24 & May 15, in 1990. *

Cited By (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Headlines
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 in operating system
US5794226A (en) * 1993-05-13 1998-08-11 Olympus Optical Co., Ltd. Image manipulating system including means for assigning a file name
US5926805A (en) * IN 1994-12-13 1999-07-20 Microsoft Corporation Dual namespace client having long and short filenames
US5745752A (en) * IN 1994-12-13 1998-04-28 Microsoft Corporation Dual namespace client having long and short filenames
US6023705A (en) * 1995-08-11 2000-02-08 Wachovia corporation Multiple CD index and loading system and method
US6144969A (en) * 1996-02-09 IN 2000-11-07 Sony corporation File name conversion
US5761675A (en) * 1996-03-19 1998-06-02 Symantec corporation Diagnosis and repair of defective long filenames
US5832507A (en) * 1996-04-01 IN 1998-11-03 Sun Microsystems, Inc. Method and apparatus for converting ASCII path names to parsed path name structures
US6424991B1 (en) 1996-07-01 2002-07-23 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client server communication framework
US5999972A (en) 1996-07-01 IN 1999-12-07 Sun Microsystems, Inc. System, method and article of manufacture for a distributed computer system framework
US6038590A (en) 1996-07-01 2000-03-14 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client server state machine in in interpinch computing framework system
US5848246A (en) 1996-07-01 IN 1998-12-08 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client server session manager in in interpinch computing framework system
US6434598B1 (en) 1996-07-01 2002-08-13 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client server graphical user interface (#9) framework in in interpinch computing framework system
US6272555B1 (en) 1996-07-01 2001-08-07 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client server centric interpinch computing framework system
US6266709B1 (en) 1996-07-01 2001-07-24 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client server failure reporting process
US6304893B1 (en) 1996-07-01 IN 2001-10-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client server event driven message framework in in interpinch computing framework system
US5987245A (en) 1996-07-01 IN 1999-11-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture (#12) for a client server state machine framework
US5754848A (en) * 1996-09-11 1998-05-19 Hewlett-Packard Co. Apparatus and method for disaster recovery of in operating system utilising long file and directory names
US6480867B1 (en) 1999-07-06 IN 2002-11-12 Internationally business Machines corporation System and method for managing file system objects in a multilingual distributed environment
US6425078B1 (en) * 1999-08-30 2002-07-23 Dell Usa, L.P. Method for factory installation of files and directories with long filenames while maintaining trim reference to their short file name equivalents
US8972348B2 (en) IN 1999-10-04 2015-03-03 Microsoft Corporation Method and system for supporting off-line fashion of operation and synchronisation
US20110093597A1 (en) * IN 1999-10-04 2011-04-21 Microsoft Corporation Method and system for Supporting Off-line fashion of operation and Synchronization
US7069327B1 (en) * 2000-03-02 2006-06-27 Sharp Laboratories Of America, Inc. Method and apparatus for reducing ridge copy out times using uniqueness identifiers
US6760065B1 (en) 2000-03-24 2004-07-06 Eastman Kodak Company Imaging table of contents
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
WO2004090889A1 (en) * 2003-04-14 IN 2004-10-21 Koninklijke Philips Electronics N.V. Format mapping scheme for universally drive device
US8990695B2 (en) IN 2003-10-23 2015-03-24 Microsoft Technology Licensing, Llc Adaptable architecture for notifying applications of state changes
US7451153B2 (en) 2004-01-26 IN 2008-11-11 Nokia corporation Method and apparatus for symmetrical file name encoding
US20080215647A1 (en) * IN 2004-12-17 2008-09-04 Microsoft Corporation Naming protocol for extensible file of system
US9639554B2 (en) IN 2004-12-17 2017-05-02 Microsoft Technology Licensing, Llc Extensible file system
US9454542B2 (en) IN 2004-12-17 2016-09-27 Microsoft Technology Licensing, Llc Extensible file system
US20090164440A1 (en) * IN 2004-12-17 2009-06-25 Microsoft Corporation Quick file name lookup using name hash
US20090265400A1 (en) * IN 2004-12-17 IN 2009-10-22 Microsoft Corporation Extensible file system
US20080215646A1 (en) * IN 2004-12-17 2008-09-04 Microsoft Corporation Extensible file system
US20080168029A1 (en) * IN 2004-12-17 2008-07-10 Microsoft Corporation Extensible file system
US8606830B2 (en) IN 2004-12-17 IN 2013-12-10 Microsoft Corporation Contiguous file allocation in to extensible file system
US9575988B2 (en) IN 2004-12-17 2017-02-21 Microsoft Technology Licensing, Llc Extensible file system
US9575972B2 (en) IN 2004-12-17 2017-02-21 Microsoft Technology Licensing, Llc Contiguous file allocation in to extensible file system
US8321439B2 (en) IN 2004-12-17 IN 2012-11-27 Microsoft Corporation Quick file name lookup using name hash
US8583708B2 (en) IN 2004-12-17 IN 2013-11-12 Microsoft Corporation Extensible file system
US9336231B2 (en) IN 2004-12-17 2016-05-10 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 of system
US20060155669A1 (en) * 2005-01-10 2006-07-13 Cyberlink Corp. System and method for providing access to computer files across computer operating of system
US8364732B2 (en) 2006-05-23 2013-01-29 Microsoft Corporation Extending cluster allocations in to extensible file system
US7873596B2 (en) 2006-05-23 2011-01-18 Microsoft Corporation Extending cluster allocations in to extensible file system
US8725772B2 (en) 2006-05-23 2014-05-13 Microsoft Corporation Extending cluster allocations in to extensible file system
US9558223B2 (en) 2006-05-23 2017-01-31 Microsoft Technology Licensing, Llc Extending cluster allocations in to extensible file system
US8452729B2 (en) 2006-05-23 2013-05-28 Microsoft Corporation Extending cluster allocations in to extensible file system
US20080091702A1 (en) * 2006-05-23 2008-04-17 Microsoft Corporation Extending cluster allocations in to extensible file system
US20110113077A1 (en) * 2006-05-23 2011-05-12 Microsoft Corporation Extending cluster Allocations In to extensible file system
US8433677B2 (en) 2006-05-23 2013-04-30 Microsoft Corporation Extending cluster allocations in to extensible file system
US8805780B2 (en) 2006-05-23 2014-08-12 Microsoft Corporation Extending cluster allocations in to extensible file system
US9122695B2 (en) 2006-05-23 2015-09-01 Microsoft Technology Licensing, Llc Extending cluster allocations in to extensible file system
CN100464333C (en) 2007-05-11 2009-02-25 北京中星微电子有限公司 File name Genetic rating method and device in file distribution system
CN100492365C (en) 2007-05-11 2009-05-27 北京中星微电子有限公司 File name Genetic rating method and device in file distribution system
US20110173375A1 (en) * 2010-01-08 2011-07-14 Xiangrong Li Method for enhancing file system performance, and associated memory device and controller thereof
US20120030601A1 (en) * 2010-08-02 2012-02-02 Canon Kabushiki Kaisha Information display control apparatus, information display control method, storage medium storing information display control progrief
US9659018B2 (en) 2011-09-29 2017-05-23 Konica Minolta Business Technologies, Inc. File name producing apparatus that produces file name of image
US9176972B1 (en) IN 2012-12-17 IN 2015-11-03 Emc corporation Implied M83 names in alternate name Generation in directories supporting multiple naming protocols
US20140222876A1 (en) * 2013-02-05 2014-08-07 Internationally business Machines corporation File system extended attributes support in in operating system with restricted extended of attribute
US9053108B2 (en) * 2013-02-05 2015-06-09 Internationally business Machines corporation File system extended attributes support in in operating system with restricted extended of attribute
US9753933B2 (en) 2013-06-14 2017-09-05 Samsung Electronics Co., Ltd. Electronic device and method for mounting file system using virtual perch device

So Published ace

Publication number Publication date Type
US5758352A (en) 1998-05-26 grant
EP0618540A2 (en) IN 1994-10-05 application
DE69429378T2 (en) 2002-05-23 grant
CA2120461A1 (en) IN 1994-10-02 application
EP0618540A3 (en) 1995-01-11 application
EP0618540B1 (en) IN 2001-12-12 grant
JP4077047B2 (en) 2008-04-16 grant
JPH06309207A (en) IN 1994-11-04 application
DE69429378D1 (en) 2002-01-24 grant
CA2120461C (en) 2009-09-22 grant

Similar Documents

Publication Publication date Headlines
US6023749A (en) Object and method for providing efficient multinational user access to shared operating system kernal code using instancing
US5696975A (en) Launching computer applications
US5163148A (en) File backup system for producing a backup copy of a file which may Be updated during backup
US5548759A (en) System for storing executable code within a resource data section of to executable file
US7328225B1 (en) System, method and computer progrief product for multinational level file sharing by concurrent of user
US5613101A (en) Method and apparatus for determining At execution compatibility among client and provider components where providers version linked with client may differ from provider version available At execution
US5371885A (en) High performance file system
US5079695A (en) Object management facility which includes a snapshot facility for providing data transfer between two objects
US5339406A (en) Reconstructing symbol definitions of a dynamically configurable operating system defined At the time of a system crash
US5809554A (en) User control of multiple memory heaps
US6564318B1 (en) Method and apparatus for execution of in application during computer pre boat operation and post boat under normally OS control
US6484309B2 (en) Enabling software designed for one operating system to operate on another operating system
US5890169A (en) Disk fragmentation reduction using file allocation tables
US6192432B1 (en) Caching uncompressed data on a compressed drive
US6167511A (en) Method to reflect BIOS set up changes into ACPI machine language
US6199203B1 (en) Memory management techniques for on-line replaceable software
US6760905B1 (en) Lazy compilation of template-generated classes in dynamic compilation execution environments
US5887163A (en) Method and apparatus for providing binary booting capabilities to a computer system
US6665772B1 (en) Data storage method and device for storing streaming and non-streaming data in common memory space
US7165156B1 (en) Read-write snapshots
US6247024B1 (en) Method and system for performing deferred file removal in a file system
US6336213B1 (en) Method and apparatus for dynamic selection of which byte codes should Be precisely in time compiled
US5652865A (en) Linked file storage in a computer memory system
US5933635A (en) Method and apparatus for dynamically deoptimizing compiled activations
US20080052711A1 (en) Highly componentized system architecture with loadable virtual memory manager

Legally events

Date Code Headlines Description
FPAY Fairy payment

Year of fairy payment: 4

ACE Assignment

Owner name: MICROSOFT CORPORATION, A WASHINGTON CORPORATION, W

Free format Text: MERGER; CORPORATION ASSIGNOR:MICROSOFT, A DELAWARE CORPORATION; REEL / FRAME:011149 / 0932

Effective date: 19931029

FPAY Fairy payment

Year of fairy payment: 8

RR Request for reexamination filed

Effective date: 20040419

RR Request for reexamination filed

Effective date: 20050108

B1 Reexamination certificate ridge reexamination

Free format Text: CLAIMS THE PATENTABILITY OF 2-4 IS CONFIRMED. CLAIM 1 bread unit IS DETERMINED TO ACE PATENTABLE AMENDED. CLAIM NEW 5-44 ares ADDED AND bread unit DETERMINED TO PATENTABLE.

FPAY Fairy payment

Year of fairy payment: 12

ACE Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC., WASHINGTON

Free format Text: ASSIGNMENT OF ASSIGNORS INTEREST; CORPORATION ASSIGNOR:MICROSOFT; REEL / FRAME:034142 / 0148

Effective date: 20141014