IP Library Granted Patent US 8,156,090
Granted Patent B1
US 8,156,090 · App. 11/799,348 · Granted Apr 10, 2012

Maintaining file name uniqueness in an application development environment of a computing system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,156,090
App. No.
11/799,348
Granted
Apr 10, 2012
Kind
B1
Abstract

A computer system comprises an operating system that provides a file system for storage of objects. A compile manager creates a repository within the file system in response to a compilation request. A directory stores file names previously generated by the compile manager during a compilation process. In response to the request for compilation of one of the objects, the compile manager automatically creates the repository within the file system with a unique file name based at least in part on an object name associated with the requested object and a number of file names within the directory that match at least a portion of the object name. Each filename may include one or more characters from a filename portion of the name of an object and one or more characters from a version portion of the name of the object.

Claims (39)

1. A computer-implemented method comprising:

receiving with a computer a request to compile a storage object located within a file system provided by an operating system of the computer;

in response to the compilation request, identifying an object name associated with the storage object, wherein the object name includes a filename portion and a version portion;

determining a current root name that includes one or more characters of the filename portion and one or more characters of the version portion;

determining whether a number of characters in the current root name from the filename portion is in excess of a character threshold;

searching a set of previously generated names to determine a number of previously generated names that are equivalent to the current root name,

wherein a name is equivalent to the current root name when the name was generated by modifying a root name that was equal to the current root name;

automatically modifying the current root name based on the number of previously generated names that are equivalent to the current root name;

automatically modifying the current root name to include an additional character from the filename portion and one fewer characters from the version portion when one of the previously generated names is equal to the current root name and when the number of characters in the current root name from the filename portion is not in excess of the character threshold;

generating a unique file name that includes the current root name; and

creating a repository within the file system in accordance with the unique file name.

2. The method of claim 1 , further comprising:

compiling the storage object to produce one or more additional storage objects; and

storing the additional storage objects within the repository.

3. The method of claim 2 , wherein storing the additional storage objects comprises storing compilation logs.

4. The method of claim 2 , wherein the repository comprises a file that provides a logical association for grouping the additional storage objects within the file system, and

wherein each of the additional storage objects has an associated object name that is accessible to a user via the file system.

5. The method of claim 1 , wherein determining the current root name comprises selecting the current root name such that the current root name does not include more characters than allowed by a limitation on a length of file names within the file system as set by the operating system.

6. The method of claim 5 , further comprising programmatically adjusting the threshold to allow generation of a varying number of unique file names.

7. The method of claim 1 ,

wherein searching the set of previously generated names comprises determining a number of previously generated file names that match the current root name in excess of the character threshold, and

wherein generated a unique file name comprises combining the current root name with a numerical string calculated from the number of matching previously generated file names.

8. The method of claim 1 , wherein searching the set of previously generated names comprises searching a set of root names previously generated during a compilation process.

9. The method of claim 1 , further comprising storing the root name in a names table, wherein the names table contains a set of root names previously generated during a compilation process.

10. A computing system comprising:

a processor that executes an operating system, wherein the operating system provides a file system for storage of objects;

wherein the processor executes a compile manager responsive to a compilation request; and

wherein the processor executes a names table that stores file names previously generated by the compile manager,

wherein the compile manager comprises:

a name identification module that, in response to the request for compilation of one of the objects, identifies an object name associated with the one of the objects, wherein the object name includes a filename portion and a version portion;

a root name module that determines a current root name that includes one or more characters of the filename portion and one or more characters of the version portion and whether a number of characters in the current root name from the filename portion is in excess of a character threshold;

a search module that searches a set of previously generated names to determine a number of previously generated names that are equivalent to the current root name, wherein a name is equivalent to the current root name when the name was generated by modifying a root name that was equal to the current root name;

a root name modification module that automatically modifies the current root name based on the number of previously generated names that are equivalent to the current root name, and wherein the root name modification module modifies the current root name to include an additional character from the filename portion and one fewer characters from the version portion when one of the previously generated file names is equal to the current root name and when the number of characters in the current root name from the filename portion is not in excess of the character threshold;

a filename generation module that generates a unique filename that includes the current root name; and

a repository creation module that creates the repository within the file system in accordance with the unique filename.

11. The computing system of claim 10 , wherein the compile manager compiles the object to produce one or more additional objects, and stores the additional objects within the repository.

12. The computing system of claim 11 , wherein the repository comprises a file that provides a logical association for grouping the additional storage objects within the file system, and

wherein each of the additional storage objects has an associated object name that is accessible to a user via the file system.

13. The computing system of claim 10 , wherein the computing system comprises a mainframe computer system running an OS2200 operating system.

Assignments (3)
AMENDED AND RESTATED PATENT SECURITY AGREEMENT Recorded Jun 27, 2025
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION; UNISYS NPL, INC.; UNISYS AP INVESTMENT COMPANY I
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL TRUSTEE
Reel/Frame 071759/0527 →
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 054231/0496 →
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR TO GENERAL ELECTRIC CAPITAL CORPORATION)
To: UNISYS CORPORATION
Reel/Frame 044416/0358 →