IP Library Granted Patent US 6,895,400
Granted Patent B1
US 6,895,400 · App. 09/680,560 · Granted May 17, 2005

Dynamic symbolic link resolution

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 6,895,400
App. No.
09/680,560
Granted
May 17, 2005
Kind
B1
Abstract

To achieve the foregoing, and in accordance with the purpose of the present invention, a system or network is disclosed which provides for a dynamic symbolic link (DSL) and the resolution of that DSL. The invention provides a method and apparatus that renames a first pathname to a target pathname, determines a variable within the target pathname, defines the first pathname as a symbolic link and associates the symbolic link with a virtual pathname. The present invention further defines a specification associated with the virtual pathname including associating the variable with the virtual pathname. In associating the symbolic link with the virtual pathname, the present invention further define a declaration within the virtual pathname.

Claims (132)

1. A method, comprising:

receiving a first pathname;

determining if the first pathname is a dynamic symbolic link (DSL); and

if the first pathname is a DSL:

extracting at least one tag from the first pathname;

determining at least one value corresponding to the tag; and

substituting the first value into the first pathname in place of the tag, producing a first target pathname.

2. The method as recited in claim 1 further comprising accessing a file designated by the first target pathname.

3. The method as recited in claim 1 , wherein the at least one tag comprises at least one DSL declaration.

4. The method as recited in claim 1 , wherein the at least one tag comprises at least one predefined alphanumeric character sequence.

5. The method as recited in claim 1 further comprising:

receiving a second pathname; and

resolving the second pathname as a symbolic link to the first pathname prior to determining if the first pathname is the DSL.

6. The method as recited in claim 1 , further comprising returning a first file handle to the first target pathname.

7. The method as recited in claim 1 , wherein the first pathname is received in response to a request from a first application to access a first file, and wherein the method further comprises:

receiving the first pathname in response to a request from a second application attempting to access the first file; and

producing a second target pathname corresponding to the first pathname for the second application, the second target pathname different from the first target pathname.

8. The method as recited in claim 7 , wherein:

the first application is a first instance of the first application; and

the second application is a second instance of the first application.

9. The method as recited in claim 1 further comprising registering the DSL prior to receiving the first pathname, wherein the registering includes:

registering a DSL specification; and

recording the DSL specification.

10. The method as recited in claim 9 further comprising receiving the DSL specification from a first process prior to registering the DSL specification.

11. The method as recited in claim 10 further comprising the first application inheriting the DSL specification of the first process.

12. The method as recited in claim 1 further comprising generating the DSL prior to the step of receiving the first pathname, wherein the generating includes:

obtaining a second pathname;

renaming the second pathname as the first target pathname;

determining at least one variable in the first target pathname;

generating the first pathname from the at least one variable and the first target pathname;

creating a symbolic link from the second pathname pointing to the DSL.

13. The method as recited in claim 12 wherein generating the first pathname comprises:

defining a DSL declaration using the variable; and

substituting the variable in the first target pathname with the DSL declaration.

14. The method as recited in claim 1 further comprising:

determining a default value if the first value can not be determined; and

substituting the default value into the first pathname in place of the tag, producing the first target pathname.

15. The method as recited in claim 1 , wherein:

determining if the first pathname is a DSL includes determining if the pathname includes at least one declaration; and

determining the at least one value includes utilizing the tag as the value.

16. The method as recited in claim 1 , wherein:

determining if the first pathname is a DSL includes determining if the pathname includes at least one declaration; and

determining the at least one value includes utilizing the declaration as the first value.

17. A computer readable medium storing a plurality of instructions executable to perform a method comprising:

receiving a first pathname;

determining if the first pathname is a dynamic symbolic link (DSL); and

if the first pathname is a DSL:

extracting at least one tag from the first pathname;

determining at least one value corresponding to the tag; and

substituting the first value into the first pathname in place of the tag, producing a first target pathname.

18. The computer readable medium as recited in claim 17 wherein the method further comprises accessing a file designated by the first target pathname.

19. The computer readable medium as recited in claim 17 , wherein the at least one tag comprises at least one DSL declaration.

20. The computer readable medium as recited in claim 17 , wherein the at least one tag comprises at least one predefined alphanumeric character sequence.

21. The computer readable medium as recited in claim 17 wherein the method further comprises:

receiving a second pathname; and

resolving the second pathname as a symbolic link to the first pathname prior to determining if the first pathname is the DSL.

22. The computer readable medium as recited in claim 17 wherein the method further comprises returning a first file handle to the first target pathname.

23. The computer readable medium as recited in claim 17 , wherein the first pathname is received in response to a request from a first application to access a first file, and wherein the method further comprises:

receiving the first pathname in response to a request from a second application attempting to access the first file; and

producing a second target pathname corresponding to the first pathname for the second application, the second target pathname different from the first target pathname.

24. The computer readable medium as recited in claim 23 , wherein:

the first application is a first instance of the first application; and

the second application is a second instance of the first application.

25. The computer readable medium as recited in claim 17 wherein the method further comprises registering the DSL prior to receiving the first pathname, wherein the registering includes:

registering a DSL specification; and

recording the DSL specification.

26. The computer readable medium as recited in claim 25 wherein the method further comprises receiving the DSL specification from a first process prior to registering the DSL specification.

27. The computer readable medium as recited in claim 26 wherein the method further comprises the first application inheriting the DSL specification of the first process.

28. The computer readable medium as recited in claim 17 wherein the method further comprises generating the DSL prior to the step of receiving the first pathname, wherein the generating includes:

obtaining a second pathname;

renaming the second pathname as the first target pathname;

determining at least one variable in the first target pathname;

generating the first pathname from the at least one variable and the first target pathname;

creating a symbolic link from the second pathname pointing to the DSL.

29. The computer readable medium as recited in claim 28 wherein generating the first pathname comprises:

defining a DSL declaration using the variable; and

substituting the variable in the first target pathname with the DSL declaration.

30. The computer readable medium as recited in claim 17 wherein the method further comprises:

determining a default value if the first value can not be determined; and

substituting the default value into the first pathname in place of the tag, producing the first target pathname.

31. The computer readable medium as recited in claim 17 , wherein:

determining if the first pathname is a DSL includes determining if the pathname includes at least one declaration; and

determining the at least one value includes utilizing the tag as the value.

32. The computer readable medium as recited in claim 17 , wherein:

determining if the first pathname is a DSL includes determining if the pathname includes at least one declaration; and

determining the at least one value includes utilizing the declaration as the first value.

33. A computer system comprising:

a computer readable medium storing a plurality of instructions; and

a processor coupled to receive the plurality of instructions and configured to execute the plurality of instructions;

wherein the plurality of instructions, when executed, implement a method comprising:

receiving a first pathname;

determining if the first pathname is a dynamic symbolic link (DSL); and

if the first pathname is a DSL:

extracting at least one tag from the first pathname;

determining at least one value corresponding to the tag; and

substituting the first value into the first pathname in place of the tag, producing a first target pathname.

34. The computer system as recited in claim 33 wherein the method further comprises accessing a file designated by the first target pathname.

35. The computer system as recited in claim 33 , wherein the at least one tag comprises at least one DSL declaration.

36. The computer system as recited in claim 33 , wherein the at least one tag comprises at least one predefined alphanumeric character sequence.

37. The computer system as recited in claim 33 wherein the method further comprises:

receiving a second pathname; and

resolving the second pathname as a symbolic link to the first pathname prior to determining if the first pathname is the DSL.

38. The computer system as recited in claim 33 wherein the method further comprises returning a first file handle to the first target pathname.

39. The computer system as recited in claim 33 , wherein the first pathname is received in response to a request from a first application to access a first file, and wherein the method further comprises:

receiving the first pathname in response to a request from a second application attempting to access the first file; and

producing a second target pathname corresponding to the first pathname for the second application, the second target pathname different from the first target pathname.

40. The computer system as recited in claim 39 , wherein:

the first application is a first instance of the first application; and

the second application is a second instance of the first application.

41. The computer system as recited in claim 33 wherein the method further comprises registering the DSL prior to receiving the first pathname, wherein the registering includes:

registering a DSL specification; and

recording the DSL specification.

42. The computer system as recited in claim 41 wherein the method further comprises receiving the DSL specification from a first process prior to registering the DSL specification.

43. The computer system as recited in claim 42 wherein the method further comprises the first application inheriting the DSL specification of the first process.

44. The computer system as recited in claim 33 wherein the method further comprises generating the DSL prior to the step of receiving the first pathname, wherein the generating includes:

obtaining a second pathname;

renaming the second pathname as the first target pathname;

determining at least one variable in the first target pathname;

generating the first pathname from the at least one variable and the first target pathname;

creating a symbolic link from the second pathname pointing to the DSL.

45. The computer system as recited in claim 44 wherein generating the first pathname comprises:

defining a DSL declaration using the variable; and

substituting the variable in the first target pathname with the DSL declaration.

46. The computer system as recited in claim 33 wherein the method further comprises:

determining a default value if the first value can not be determined; and

substituting the default value into the first pathname in place of the tag, producing the first target pathname.

47. The computer system as recited in claim 33 , wherein:

determining if the first pathname is a DSL includes determining if the pathname includes at least one declaration; and

determining the at least one value includes utilizing the tag as the value.

48. The computer system as recited in claim 33 , wherein:

determining if the first pathname is a DSL includes determining if the pathname includes at least one declaration; and

determining the at least one value includes utilizing the declaration as the first value.

Assignments (19)
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS SYMANTEC OPERATING CORPORATION. Recorded Mar 5, 2012
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 027819/0462 →
CHANGE OF NAME Recorded Sep 26, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 019872/0979 →
AGREEMENT AND PLAN OF MERGER Recorded Apr 10, 2006
From: EJASENT, INC.
To: VERITAS OPERATING CORPORATION
Reel/Frame 017766/0671 →
SECURITY INTEREST Recorded Jan 22, 2002
From: EJASENT, INC.
To: GATX VENTURES, INC.; SILICON VALLEY BANK
Reel/Frame 012493/0729 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2000
From: HIPP, BURTON A.
To: EJASENT INC.
Reel/Frame 011221/0500 →