IP Library Granted Patent US 8,725,866
Granted Patent B2
US 8,725,866 · App. 12/857,460 · Granted May 13, 2014

Method and system for link count update and synchronization in a partitioned directory

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,725,866
App. No.
12/857,460
Granted
May 13, 2014
Kind
B2
Abstract

A method of updating a link count in a partitioned directory shared by a plurality of computers within a cluster. The partitioned directory is traversed once by a first computer to obtain a link count. The link count is stored in the first computer and broadcast to a cluster of computers. A total number of allocated links is less than a maximum limit on link count minus the link count. A respective number of links is allocated to each computer within the cluster. Delta values of each computer are updated in real-time as subdirectories are created/erased. A delta value associated with each of the plurality of computers is received. A delta value represents a net number of links created or removed by each computer. The link count is updated based on the previous link count and further based on each of the delta values and further based a delta value associated with the first computer. The updated link count is stored by the first computer and broadcast to the plurality of computers.

Claims (55)

1. A method of updating a link count of a partitioned directory, said method comprising:

traversing said partitioned directory once to obtain an initiallink count, wherein said traversing is performed by a first computer of a plurality of computers;

broadcasting said initial link count to said plurality of computers;

receiving a respective delta value from each of said plurality of computers representing a net number of links created and/or removed by each computer;

updating said link count to obtain an updated link count, wherein said updating is based on said initial link count, each of said delta values and further based a delta value associated with said first computer;

storing said updated link count in said first computer; and

broadcasting said updated ink count to said plurality of computers.

2. The method as described in claim 1 , wherein said traversing comprises counting a number of flags associated with visible directories within said partitioned directory.

3. The method as described in claim 1 further comprising:

allocating a respective first number of links to each of said plurality of computers, wherein a total number of allocated links is less than a maximum link limit for said partitioned directory minus said initial link count, wherein each respective first number of links is decremented by one for every visible directory created by its associated computer.

4. The method as described in claim 3 further comprising:

said first computer receiving a request from a second computer to allocate additional number of links to said second computer if a first number of links associated with said second computer reaches a threshold value.

5. The method as described in claim 4 further comprising:

said first computer broadcasting said request to said plurality of computers;

responsive to said broadcasting said request, said first computer receiving a second number of links from a third computer to be allocated to said second computer, wherein said second number links is deducted from said first number of links associated with said third computer; and

said first computer, transmitting said second number of links to said second computer.

6. The method as described in claim 4 further comprising:

in response to said request, said first computer allocating a third number of links to each of said plurality of computers, wherein said third number of links is based on a maximum limit on link count minus said link count all divided by a number of said plurality of computers.

7. The method as described in claim 1 , wherein said traversing comprising said first computer obtaining an exclusive lock on said partitioned directory.

8. A non-transitory computer readable storage medium having stored thereon, computer executable instructions that, if executed by a computer system cause the computer system to perform a method of updating a link count of a partitioned directory, said method comprising:

traversing said partitioned directory once to obtain an initial link count, wherein said traversing is performed by a first computer of a plurality of computers;

computing a respective allocated link count for each computer system based on a maximum allowed link count for said partitioned directory and said initial link count;

broadcasting said allocated link counts to said plurality of computers;

receiving a delta value from each of said plurality of computers representing a net number of links created and/or removed by each computer;

updating said initial link count to obtain an updated link count, wherein said updating is based on said initial link count, each of said delta values and a delta value associated with said first computer; and

broadcasting said updated link count to said plurality of computers.

9. The computer readable storage medium as described in claim 8 , wherein said respective allocated link count for a particular computer is the maximum number of additional visible subdirectories allowed for that particular computer to create within said partitioned directory.

10. The computer readable storage medium as described in claim 8 , wherein said computing comprises subtracting said initial link count from said maximum allowed link count to generate a subtraction result and dividing the subtraction result by the number of computers in said plurality of computers.

11. The computer readable storage medium as described in claim 10 , wherein said method further comprises:

each computer of said plurality of computers decrementing its respective allocated link count for each visible subdirectory it creates; and

said first computer receiving a request from a second computer to allocate additional number of links to said second computer if a respective allocated link count associated with said second computer reaches a threshold value.

12. The computer readable storage medium as described in claim 11 , wherein said method further comprises:

said first computer broadcasting said request to said plurality of computers;

responsive to said broadcasting said request, said first computer receiving a second number of links from a third computer to be allocated to said second computer, wherein said second number links is deducted from a respective allocated link count associated with said third computer; and

said first computer, transmitting said second number of links to said second computer.

13. The computer readable storage medium as described in claim 11 , wherein said method further comprises:

in response to said request, said first computer allocating a respective revised allocated link count to each of said plurality of computers.

14. The computer readable storage medium as described in claim 8 , wherein said traversing comprising said first computer obtaining an exclusive lock on said partitioned directory.

15. A system for updating a link count in a shared partitioned directory comprising:

a memory component operable to store said partitioned directory;

a plurality of computers coupled to said memory component via a file system, wherein a primary computer from said plurality of computers is operable to implement a method comprising:

traversing said partitioned directory once to obtain an initial link count during a temporary exclusive lock by said primary computer;

storing said initial ink count;

receiving a delta value from each of said plurality of computers representing a net number of links created and/or removed by each computer since said initial link count was obtained;

updating said initial link count to obtain an updated link count, wherein said updating is based on said initial link count, said delta values and a delta value associated with said primary computer;

storing said updated link count in said primary computer; and

broadcasting said updated link count to said plurality of computers.

16. The system as described in claim 15 , wherein said traversing comprises counting a number of flags associated with visible directories within said partitioned directory.

17. The system as described in claim 15 , wherein said method further comprises allocating a respective allocated link count to each of said plurality of computers that represents the maximum number of subdirectories of the partitioned directory that an associated computer can create, wherein a total number of respective allocated link counts is less than a maximum link count limit minus said initial link count, wherein further each computer decrements its respective allocated link count for each subdirectory it creates.

18. The system as described in claim 17 , wherein said method further comprises receiving a request from a second computer to allocate additional number of links to said second computer if a respective allocated link count associated with said second computer reaches a threshold value.

19. The system as described in claim 18 , wherein said method further comprises:

broadcasting said request to said plurality of computers;

receiving a second number of links from a third computer to be allocated to said second computer, wherein said second number of links is deducted from a respective allocated link count associated with said third computer; and

transmitting said second number of links to said second computer.

20. The system as described in claim 18 , wherein said method comprises allocating a revised respective allocated link count for each of said plurality of computers based on revised delta values received from said plurality of computers.

Assignments (16)
SECURITY INTEREST Recorded Dec 12, 2025
From: ARCTERA US LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073951/0470 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2014
From: BORADE, RAHUL RAVINDRA; BANERJEE, ANINDYA; PATWARDHAN, KEDAR
To: SYMANTEC CORPORATION
Reel/Frame 032596/0385 →