Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Web History | Sign in

Patents

An operating system provides a common name space for both long filenames and short filenames. In this common namespace, a long filename and a short filename are provided for each file. Each file has a short filename directory entry and may have at least one long filename directory entry associated with it. The number of long filename directory entries that are associated with a file depends on the number of characters in the long filename of the file. The long filename directory entries are configured to minimize compatibility problems with existing installed program bases.

InventorsAaron R. Reynolds, Dennis R. Adler, Ralph A. Lipe, Ray D. Pedrizetti, Jeffrey T. Parsons, Rasipuram V. Arun
Original AssigneeMicrosoft Corporation
Primary Examiner: Cheryl R. Lewis
Current U.S. Classification1/1; 707/999.001; 707/999.006; 707/999.2; 707/E17.01
International Classification: G06F 1730

View patent at USPTO
Search USPTO Assignment Database

Citations

Cited PatentFiling dateIssue dateOriginal AssigneeTitle
US4780821Jul 29, 1986Oct 25, 1988International Business Machines Corp.Method for multiple programs management within a network having a server computer and a plurality of remote computers
US4987531May 18, 1988Jan 22, 1991Hitachi, Ltd.File system management method and file management system
US5307494Feb 26, 1993Apr 26, 1994Fuji Xerox Co., Ltd.File name length augmentation method
US5313646Jun 10, 1991May 17, 1994Sun Microsystems, Inc.Method and apparatus for translucent file system
US5359725Oct 15, 1991Oct 25, 1994Time Warner Interactive Group, Inc.Method of creating CD-ROM image of files of different format with proper directories to be read by respective operating systems
US5363487Aug 29, 1989Nov 8, 1994Microsoft CorporationMethod and system for dynamic volume tracking in an installable file system
US5371885Aug 29, 1989Dec 6, 1994Microsoft CorporationHigh performance file system
US5388257May 23, 1994Feb 7, 1995AT&T Corp.Method and apparatus for operating a computer based file system
US5392427May 18, 1993Feb 21, 1995Microsoft CorporationSystem for updating data stored on a flash-erasable, programmable, read-only memory (FEPROM) based upon predetermined bit value of indicating pointers
US5412808Mar 10, 1993May 2, 1995AT&T Corp.System for parsing extended file names in an operating system
US5421001May 1, 1992May 30, 1995Wang Laboratories, Inc.Computer method and apparatus for a table driven file interface
US5434974Mar 30, 1992Jul 18, 1995International Business Machines CorporationName resolution for a multisystem network
US5437029Mar 30, 1994Jul 25, 1995Matsushita Electric Industrial Co., Ltd.Path name resolution method providing fixed speed of file accessing in computer network
US5483652Jan 24, 1994Jan 9, 1996Digital Equipment CorporationMechanism for locating without search discrete application resources known by common name only in a distributed network computing environment
US5535375Oct 11, 1994Jul 9, 1996International Business Machines CorporationFile manager for files shared by heterogeneous clients

Referenced by

Citing PatentFiling dateIssue dateOriginal AssigneeTitle
US6065053Oct 1, 1997May 16, 2000Micron Electronics, Inc.System for resetting a server
US6073255Oct 1, 1997Jun 6, 2000Micron Electronics, Inc.Method of reading system log
US6088816Oct 1, 1997Jul 11, 2000Micron Electronics, Inc.Method of displaying system status
US6122758Oct 1, 1997Sep 19, 2000Micron Electronics, Inc.System for mapping environmental resources to memory for program access
US6134668Oct 1, 1997Oct 17, 2000Micron Electronics, Inc.Method of selective independent powering of portion of computer system through remote interface from remote interface power supply
US6134673Oct 1, 1997Oct 17, 2000Micron Electronics, Inc.Method for clustering software applications
US6138179Oct 1, 1997Oct 24, 2000Micron Electronics, Inc.System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is not related to size of hard disk
US6138250Oct 1, 1997Oct 24, 2000Micron Electronics, Inc.System for reading system log
US6144969Jan 8, 1998Nov 7, 2000Sony CorporationFile name conversion
US6145098Oct 1, 1997Nov 7, 2000Micron Electronics, Inc.System for displaying system status
US6154835Oct 1, 1997Nov 28, 2000Micron Electronics, Inc.Method for automatically configuring and formatting a computer system and installing software
US6163849Oct 1, 1997Dec 19, 2000Micron Electronics, Inc.Method of powering up or powering down a server to a maintenance state
US6163853Oct 1, 1997Dec 19, 2000Micron Electronics, Inc.Method for communicating a software-generated pulse waveform between two servers in a network
US6170028Oct 1, 1997Jan 2, 2001Micron Electronics, Inc.Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6170067Oct 1, 1997Jan 2, 2001Micron Technology, Inc.System for automatically reporting a system failure in a server
US6173346Oct 1, 1997Jan 9, 2001Micron Electronics, Inc.Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals
US6179486Oct 1, 1997Jan 30, 2001Micron Electronics, Inc.Method for hot add of a mass storage adapter on a system including a dynamically loaded adapter driver
US6182180Oct 1, 1997Jan 30, 2001Micron Electronics, Inc.Apparatus for interfacing buses
US6189109Oct 1, 1997Feb 13, 2001Micron Electronics, Inc.Method of remote access and control of environmental conditions
US6192434Oct 1, 1997Feb 20, 2001Micron Electronics, INCSystem for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6195717Oct 1, 1997Feb 27, 2001Micron Electronics, Inc.Method of expanding bus loading capacity
US6199173Oct 1, 1997Mar 6, 2001Micron Electronics, Inc.Method for mapping environmental resources to memory for program access
US6202111Oct 1, 1997Mar 13, 2001Micron Electronics, Inc.Method for the hot add of a network adapter on a system including a statically loaded adapter driver
US6202160Oct 1, 1997Mar 13, 2001Micron Electronics, Inc.System for independent powering of a computer system
US6205503Jul 17, 1998Mar 20, 2001Method for the hot swap and add of input/output platforms and devices
US6212585Oct 1, 1997Apr 3, 2001Micron Electronics, Inc.Method of automatically configuring a server after hot add of a device
US6219734Oct 1, 1997Apr 17, 2001Micron Electronics, Inc.Method for the hot add of a mass storage adapter on a system including a statically loaded adapter driver
US6223234Jul 17, 1998Apr 24, 2001Micron Electronics, Inc.Apparatus for the hot swap and add of input/output platforms and devices
US6243773Oct 1, 1997Jun 5, 2001Micron Electronics, Inc.Configuration management system for hot adding and hot replacing devices
US6243838Oct 1, 1997Jun 5, 2001Micron Electronics, Inc.Method for automatically reporting a system failure in a server
US6247079Oct 1, 1997Jun 12, 2001Micron Electronics, INCApparatus for computer implemented hot-swap and hot-add
US6247080Oct 1, 1997Jun 12, 2001Micron Electronics, Inc.Method for the hot add of devices
US6249782Dec 17, 1998Jun 19, 2001Apple Computer, Inc.System and method for reducing file name length and for retrieving the reduced file name entitled files
US6249828Oct 1, 1997Jun 19, 2001Micron Electronics, Inc.Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver
US6249834Oct 1, 1997Jun 19, 2001Micron Technology, Inc.System for expanding PCI bus loading capacity
US6249885Oct 1, 1997Jun 19, 2001Method for managing environmental conditions of a distributed processor system
US6253334Oct 1, 1997Jun 26, 2001Micron Electronics, Inc.Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses
US6263387Oct 1, 1997Jul 17, 2001Micron Electronics, Inc.System for automatically configuring a server after hot add of a device
US6266721Oct 1, 1997Jul 24, 2001Micron Electronics, Inc.System architecture for remote access and control of environmental management
US6269412Oct 1, 1997Jul 31, 2001Micron Technology, Inc.Apparatus for recording information system events
US6269417Oct 1, 1997Jul 31, 2001Micron Technology, Inc.Method for determining and displaying the physical slot number of an expansion bus device
US6272648Oct 1, 1997Aug 7, 2001Micron Electronics, Inc.System for communicating a software-generated pulse waveform between two servers in a network
US6282673Oct 1, 1997Aug 28, 2001Micron Technology, Inc.Method of recording information system events
US6286013Jan 28, 1997Sep 4, 2001Microsoft CorporationMethod and system for providing a common name space for long and short file names in an operating system
US6292905Oct 2, 1997Sep 18, 2001Micron Technology, Inc.Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure
US6304929Oct 1, 1997Oct 16, 2001Micron Electronics, Inc.Method for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6324608Oct 1, 1997Nov 27, 2001Micron ElectronicsMethod for hot swapping of network components
US6330690Oct 1, 1997Dec 11, 2001Micron Electronics, Inc.Method of resetting a server
US6332202Oct 11, 2000Dec 18, 2001Micron Technology, Inc.Method of remote access and control of environmental conditions
US6341322Feb 25, 1999Jan 22, 2002Micron Electronics, Inc.Method for interfacing two buses
US6418492Oct 1, 1997Jul 9, 2002Micron ElectronicsMethod for computer implemented hot-swap and hot-add
US6480867Jul 6, 1999Nov 12, 2002International Business Machines CorporationSystem and method for managing filesystem objects in a multilingual distributed environment
US6484226Jun 19, 2001Nov 19, 2002Micron Technology, Inc.System and method for the add or swap of an adapter on an operating computer
US6499073Oct 1, 1997Dec 24, 2002Micron Electronics, Inc.System using programmable processor for selectively enabling or disabling power to adapter in response to respective request signals
US6523131Sep 8, 2000Feb 18, 2003Micron Technology, Inc.Method for communicating a software-generated pulse waveform between two servers in a network
US6598173Oct 11, 2000Jul 22, 2003Micron Technology, Inc.Method of remote access and control of environmental conditions
US6604207Mar 23, 2001Aug 5, 2003Micron Technology, Inc.System architecture for remote access and control of environmental management
US6636844Mar 15, 2000Oct 21, 2003Olympus Optical Co., Ltd.METHOD AND APPARATUS FOR PRODUCING A FILE NAME IN AN IMAGE MANIPULATING SYSTEM HAVING A MEMORY DEVICE IN WHICH A FILE NAME AND A SECOND TRAIN OF CHARACTERS IS PROVIDED WHEREIN A FILE NUMBER IS AUTOMATICALLY GENERATED BY INCREMENTING A FILE NUMBER PREVIOUSLY ASSIGNED AND STORED IN MEMORY
US6697963Nov 7, 2000Feb 24, 2004Micron Technology, Inc.Method of updating a system environmental setting
US6701453Jun 11, 2001Mar 2, 2004Micron Technology, Inc.System for clustering software applications
US6742069Oct 30, 2001May 25, 2004Micron Technology, Inc.Method of providing an interface to a plurality of peripheral devices using bus adapter chips
US6760065Mar 24, 2000Jul 6, 2004Eastman Kodak CompanyImaging table of contents
US6895526Nov 1, 2002May 17, 2005Micron Technology, Inc.System and method for communicating a software-generated pulse waveform between two servers in a network
US6976039May 25, 2001Dec 13, 2005International Business Machines CorporationMethod and system for processing backup data associated with application, querying metadata files describing files accessed by the application
US6985892Aug 26, 2003Jan 10, 2006Olympus CorporationMETHOD AND APPARATUS FOR PRODUCING A FILE NAME IN AN IMAGE MANIPULATING SYSTEM HAVING A MEMORY DEVICE IN WHICH A FILE NAME AND A SECOND TRAIN OF CHARACTERS IS PROVIDED WHEREIN A FILE NUMBER IS AUTOMATICALLY GENERATED BY INCREMENTING A FILE NUMBER PREVIOUSLY ASSIGNED AND STORED IN MEMORY
US7016920May 25, 2001Mar 21, 2006International Business Machines CorporationMethod for tracking relationships between specified file name and particular program used for subsequent access in a database
US7028079May 25, 2001Apr 11, 2006Lenovo (Singapore) Pte, Ltd.Method and apparatus for the automatic migration of applications and their associated data and configuration files
US7065600Mar 23, 2004Jun 20, 2006Micron Technology, Inc.Method of providing an interface to a plurality of peripheral devices using bus adapter chips
US7075570Oct 18, 2001Jul 11, 2006Kabushiki Kaisha ToshibaMethod of processing files and an apparatus thereof
US7263570May 3, 2006Aug 28, 2007Micron Technology, Inc.Method of providing an interface to a plurality of peripheral devices using bus adapter chips
US7370225May 9, 2005May 6, 2008Micron Technology, Inc.System and method for communicating a software-generated pulse waveform between two servers in a network
US7370226May 9, 2005May 6, 2008Micron Technology, Inc.System and method for communicating a software-generated pulse waveform between two servers in a network
US7444537May 9, 2005Oct 28, 2008Micron Technology, Inc.System and method for communicating a software-generated pulse waveform between two servers in a network
US7444550May 9, 2005Oct 28, 2008Micron Technology, Inc.System and method for communicating a software-generated pulse waveform between two servers in a network
US7451153Jan 26, 2004Nov 11, 2008Nokia CorporationMethod and apparatus for symmetrical filename encoding
US7451343May 9, 2005Nov 11, 2008Micron Technology, Inc.System and method for communicating a software-generated pulse waveform between two servers in a network
US7493314Jan 10, 2005Feb 17, 2009Cyberlink Corp.System and method for providing access to computer files across computer operating systems
US7552364Sep 29, 2003Jun 23, 2009Micron Technology, Inc.Diagnostic and managing distributed processor system
US7664783Sep 19, 2005Feb 16, 2010Seiko Epson CorporationFile management program, data structure, and file management device
US7669064Oct 25, 2006Feb 23, 2010Micron Technology, Inc.Diagnostic and managing distributed processor system
US7676797Jan 31, 2005Mar 9, 2010Computer Associates Think, Inc.System and method for managing long names in an application programming interface
US7873596May 23, 2007Jan 18, 2011Microsoft CorporationExtending cluster allocations in an extensible file system
US8156090May 1, 2007Apr 10, 2012Unisys CorporationMaintaining file name uniqueness in an application development environment of a computing system

Claims

1. In a computer system having a storage, a directory service for accessing directory entries and a file system that uses the directory entries to access files, a method, comprising the computer-implemented steps of:

(a) creating a first directory entry for a file wherein the first directory holds a short filename for the file and the location of the file;
(b) creating a second directory entry for the file wherein the second directory entry holds at least one portion of a long filename having a fixed number of characters and a signature that identifies that the second directory entry holds a first portion of the long filename;
(c) storing the first directory entry and the second directory entry on the storage among the directory entries used by the directory service; (d) accessing the second directory entry by the directory service to access the file; and (e) creating and storing in the storage a sequence of at least one additional directory entry for holding a next sequential portion of the long filename.

2. The method as recited in claim 1 wherein the long filename contains more characters than the short filename.

3. The method as recited in claim 1 wherein each additional directory entry may hold only a fixed number of characters of the long filename and how many additional directory entries are created is dictated by how many additional directory entries are required to store characters of the long filename which are not already stored in the second directory entry.

4. The method as recited in claim 1 wherein the step of creating at least one additional directory entry for the long filename further comprises the step of creating a plurality of additional directory entries.

5. The method as recited in claim 1 wherein the step of creating at least one additional directory entry for the long filename further comprises the step of providing a signature in each additional directory entry that identifies which portion of the long filename the additional directory entry holds.

6. The method as recited in claim 1 wherein the step of creating at least one additional directory entry for the long filename further comprises the step of providing a checksum of the first filename in each additional directory entry.

7. In a data processing system having a processor running an operating system and a memory means having memory locations wherein the operating system is stored in the memory means, a method, comprising the steps of:

(a) storing in a first of the memory locations of the memory means a first directory entry for a file wherein the first directory entry holds a short filename for the file, said short filename including at most a maximum number of characters that is permissible by an application program;
(b) storing in a second of the memory locations of the memory means that is adjacent to the first of the memory locations a second directory entry for the file wherein the second directory entry holds at least a first portion of a long filename for the file, said long filename including a greater number of characters than the maximum number of characters that is permissible by the application program, and
(c) accessing one of the directory entries to locate the file.

8. The method as recited in claim 7 wherein the step of storing the second directory further comprises the step of storing a checksum of the short filename in the second directory entry.

9. The method as recited in claim 7, further comprising the step of storing at least one additional directory entry holding a next portion of the long filename in the memory means.

10. The method as recited in claim 9 wherein the step of storing at least one additional directory entry further comprises the step of storing a checksum of the short filename in the additional directory entry.

11. The method as recited in claim 9 wherein the step of storing at least one additional directory entry further comprises the step of storing a signature that uniquely identifies which portion of the long filename is stored in the additional directory entry.

12. In a computer system having a storage, a directory service for accessing directory entries and a file system that uses the directory entries to access files, a comnputer-readable medium holding computer-executable instructions for performing a method comprising computer-implementented steps of:

(a) creating a first directry entry for a file wherein the first directory holds a short filename for the file and the location of the file;
(b) creating a second directory entry for the file wherein the second directory entry holds at least one portion of a long filename having a fixed number of characters;
(c) storing the first directory entry and the second directory entry on the storag among the directory entries used by the directory service; and
(d) accessing the second directory entry by the directory service to access the file.

13. The computer-readable medium of claim 12 wherein the long filename contains more characters than the short filename.

14. The computer-readable medium of claim 12 also holding computer-executable instructions for creating and storing in the storage a sequence of at least one additional directory entry for holding a next sequential portion of the long filename.

15. The computer-readable medium of claim 14 wherein each additional directory entry may hold only a fixed number of characters of the long filename and how many additional directory entries are created is dictated by how many additional directory entries are required to store characters of the long filename which are not already stored in the second directory entry.

16. The computer-readable medium of claim 14 wherein the step of creating at least one additional directory entry for the long filename further comprises the step of creating a plurality of additional directory entries.

17. The computer-readable medium of clain 14 wherein the step of creating the second directory entry further comprises the step of providing a signature in the second directory entry that identifies that the second directory entry holds the first portion of the long file name.

18. The computer-readable medium of claim 17 wherein the step of creating at least one additional directory entry for the long filename further comprises the step of providing a signature in each additional directory entry that identifies which portion of the long filename the additional directory entry holds.

19. The computer-readable medium of claim 14 wherein the step of creating at least one additional directory entry for the long filename further comprises the step of providing a checksum of the first filename in each additional directory entry.

20. In a data processing system having a processor running an operating system and a memory means with memory locations, wherein said memory means stores the operating system, a computer-readable medium holding computer-executable instructions for performing a method comprising the steps of:

(a) storing in a first of the memory locations of the memory means a first directory entry for a file wherein the first directory entry holds a short filename for the file, said short filename including at most a maximum number of characters that is permissible by an application program;
(b) storing in a second of the memory locations of the memory means that is adjacent to the first of the memory locations a second directory entry for the file wherein the second directory entry holds at least a first portion of a long filename for the file, said long filename including a greater number of characters than the maximum number of characters that is permissible by the application program; and
(c) accessing one of the directory entries to locate the file.

21. The computer-readable medium of claim 20 wherein a checksum of the short filename is stored in the second directory entry.

22. The computer-readable medium of claim 20 wherein at least one additional directory entry is stored to hold a next portion of the long filename in the memory means.

23. The computer-readable medium of clain 22 wherein a signature is stored in the additional directory entry that uniquely identifies which portion of the long filename is stored in the additional directory entry.

24. In a computer system having a directory service for accessing directory entries and a file system that uses the directory entries to access files, a method comprising the computer-implemented steps of:

(a) creating a first directory entry for a file wherein the first directory entry holds a short filename for the file and the location of the file,
(b) creating a second directory entry for a file wherein the second directory entry is configured to appear as if it holds a short filename to a program that uses only short filenames and wherein the second directory entry holds at least one portion of a long filename for the file, said long filename having more characters then the short filename; and
(c) accessing one of the first directory entries and the second directory entry by the directory service in order to access the file.

25. The method of claim 24 wherein the program that uses only short filenames is an operating system.

26. The method of claim 24 wherein the program that uses only short filenames is an application program.

27. The method of clain 24 wherein the storage includes storage locations and wherein the first directory entry and the second directory entry are stored in adjacent storage locations.

28. In a computer system having a directory device for accessing directory entries and a file system that uses the directory entries to access files, a computer-readable medium holding computer-executable instructions for executing a method comprising the computer-implemented steps of:

(a) creating a first directory entry for a file wherein the first directory entry holds a short filename for the file and the location of the file;
(b) creating a second directory entry for a file wherein the second directory entry is configured to appear as if it holds a short filename to a program that uses only short filenames and wherein the second directory entry holds at least one portion of a long filename for the file, said long filename having more characters then the short filename; and
(c) accessing one of the first directory entries and the second directory entry by the directory service in order to access the file.