US12386808B2ActiveUtilityA1

Evolution of communities derived from access patterns

65
Assignee: NETAPP INCPriority: Jan 21, 2019Filed: Aug 22, 2022Granted: Aug 12, 2025
Est. expiryJan 21, 2039(~12.5 yrs left)· nominal 20-yr term from priority
G06F 16/2255G06F 16/906
65
PatentIndex Score
0
Cited by
9
References
19
Claims

Abstract

A system, method, and machine-readable storage medium for resolving a candidate community are provided. In some embodiments, a method includes obtaining a candidate community and a neighbor set for the candidate community, the neighbor set including zero or more stable communities. The method also includes resolving the candidate community as being a new stable community if the neighbor set is empty. The method further includes resolving the candidate community as being part of a matching stable community if a hash value of the candidate community matches a hash value of one or more stable communities included in the neighbor set. The method also includes resolving the candidate community as being a new stable community if an entropy value is greater than a threshold, the entropy value being based on the candidate community and the neighbor set.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method for tracking entity usage patterns in a storage system to improve security of a common set of entities, comprising:
 forming, by the storage system, a set of candidate communities during a time period on the order of at least one hour to a plurality of days, each candidate community in the set of candidate communities being based on a set of users that have accessed a common set of entities, the candidate communities not yet stored in a storage device; 
 identifying, by the storage system, a candidate community from the set of candidate communities; 
 obtaining, by the storage system, a neighbor set for the candidate community, the neighbor set including one or more stable communities that have previously been resolved and stored in the storage device, each stable community being based on one or more users having accessed one or more entities in, each stable community being formed before the forming of the set of candidate communities; and 
 in response to a determination that the neighbor set is not empty:
 calculating a hash value of the candidate community; 
 calculating a hash value of the one or more stable communities included in the neighbor set; 
 determining that the hash value of the candidate community matches a hash value of one or more stable communities included in the neighbor set; 
 resolving, by the storage system, the candidate community as being part of the one or more stable communities in response to determining that the hash value of the candidate community matches a hash value of one or more stable communities included in the neighbor set; and 
 resolving, by the storage system, the candidate community as being a new stable community in response to determining an entropy value, calculated as a statistical measure from a probability density function of a common set of users in the candidate community and the neighbor set, is greater than a threshold. 
 
 
     
     
       2. The method of  claim 1 , further comprising:
 removing the candidate community from the set of candidate communities. 
 
     
     
       3. The method of  claim 1 , further comprising:
 calculating the entropy value in response to a determination that the neighbor set includes a plurality of stable communities. 
 
     
     
       4. The method of  claim 1 , further comprising:
 resolving, based on a distance between the candidate community and each stable community included in the neighbor set, the candidate community as being a new stable community. 
 
     
     
       5. The method of  claim 1 , further comprising:
 resolving, based on a distance between the candidate community and each stable community included in the neighbor set, the candidate community as being part of a matching stable community. 
 
     
     
       6. The method of  claim 1 , further comprising:
 computing a distance between the candidate community and each stable community included in the neighbor set in response to a determination that an entropy value is not greater than a threshold, the entropy value being based on the candidate community and the neighbor set. 
 
     
     
       7. The method of  claim 1 , wherein calculating the hash value of the candidate community includes applying a hash function on a user string of the candidate community, the user string including all users within the candidate community. 
     
     
       8. A computing device comprising:
 a memory containing a machine-readable medium comprising machine executable code having stored thereon instructions for performing a method for tracking entity usage patterns in a storage system to improve security of a common set of entities; and 
 a processor coupled to the memory, the processor configured to execute the machine executable code to:
 form a candidate community as one of a set of candidate communities during a time period on the order of at least one hour to a plurality of days based at least in part on a common set of entities accessed by one or more users, the candidate communities not yet stored in a storage device; 
 obtain a neighbor set for the candidate community, the neighbor set including zero or more stable communities that have previously been resolved and stored in the storage device, each stable community being based at least in part on a common set of entities accessed by a set of users, and each stable community being formed before the forming of the set of candidate communities; 
 in response to a determination that the neighbor set is empty: 
 resolve the candidate community as a new stable community; and 
 store the new stable community; and 
 in response to a determination that the neighbor set includes one or more stable communities: 
 determine that a hash value of the candidate community is different from at least one hash value of the one or more stable communities; 
 calculate, in response to the determination that the hash value is different, an entropy value as a statistical measure from a probability density function based on users in common between the candidate community and the neighbor set; and 
 resolve the candidate community as being a new stable community in response to a determination that the entropy value is greater than a threshold. 
 
 
     
     
       9. The computing device of  claim 8 , wherein the processor is further configured to execute the machine executable code to:
 compute a distance between the candidate community and each stable community included in the neighbor set in response to a determination that the entropy value is not greater than the threshold. 
 
     
     
       10. The computing device of  claim 9 , wherein the processor is further configured to execute the machine executable code to:
 resolve, based on the distance between the candidate community and each stable community included in the neighbor set, the candidate community as being a new stable community. 
 
     
     
       11. The computing device of  claim 9 , wherein the processor is further configured to execute the machine executable code to:
 resolve, based on the distance between the candidate community and each stable community included in the neighbor set, the candidate community as being part of the one or more stable communities. 
 
     
     
       12. The computing device of  claim 8 , wherein the processor is further configured to execute the machine executable code to:
 apply a hash function on a user string of the candidate community to calculate the hash value of the candidate community. 
 
     
     
       13. The computing device of  claim 8 , wherein the entropy value is a statistical measure that is inversely proportional to a number of the users in common between the candidate community and the neighbor set. 
     
     
       14. A non-transitory machine-readable medium having stored thereon instructions for performing a method, comprising machine executable code which when executed by at least one machine, causes the machine, for tracking entity usage patterns in a storage system to improve security of a common set of entities, to:
 identify a candidate community from a set of candidate communities formed during a time period on the order of at least one hour to a plurality of days, each candidate community in the set of candidate communities being based on a set of users that have accessed a common set of entities, the candidate communities not yet stored in a storage device; 
 obtain a neighbor set for the candidate community, the neighbor set including one or more stable communities that have previously been resolved and stored in a storage device, each stable community being based on one or more users having accessed one or more entities in common, and each stable community being formed before the forming of the set of candidate communities; 
 in response to a hash value of the candidate community matching at least one hash value of the one or more stable communities included in the neighbor set:
 resolve the candidate community as being part of the one or more stable communities; and 
 in response to the hash value of the candidate community is different from at least one hash value from among each hash value of the one or more stable communities included in the neighbor set: 
 calculate an entropy value based on users in common between the candidate community and the neighbor set, the entropy value being a statistical measure that is inversely proportional to a number of the users in common between the candidate community and the neighbor set; 
 resolve the candidate community as being a new stable community in response to a determination that the entropy value is greater than a threshold; and 
 store the new stable community. 
 
 
     
     
       15. The non-transitory machine-readable medium of  claim 14 , further comprising machine executable code which causes the machine to:
 resolve the candidate community as being part of the one or more stable communities in response to a determination that the entropy value is less than the threshold. 
 
     
     
       16. The non-transitory machine-readable medium of  claim 15 , further comprising machine executable code which causes the machine to:
 resolve the candidate community as being part of the one or more stable communities based on a distance between the candidate community and each stable community included in the neighbor set. 
 
     
     
       17. The non-transitory machine-readable medium of  claim 14 , further comprising machine executable code which causes the machine to:
 remove the candidate community from the set of candidate communities. 
 
     
     
       18. The non-transitory machine-readable medium of  claim 14 , further comprising machine executable code which causes the machine to:
 resolve the candidate community as being the new stable community based on a distance between the candidate community and each stable community included in the neighbor set. 
 
     
     
       19. The non-transitory machine-readable medium of  claim 14 , further comprising machine executable code which causes the machine to:
 apply a hash function on a user string of the candidate community to calculate the hash value of the candidate community.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.