Predictive local pre-cache for reduced latency digital content access rights determination

US10447803B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10447803-B2
Application numberUS-201715483801-A
CountryUS
Kind codeB2
Filing dateApr 10, 2017
Priority dateApr 10, 2017
Publication dateOct 15, 2019
Grant dateOct 15, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

To reduce the latency introduced by network communications, the access rights to digital content of various users is locally cached, and such a local cache is referenced without incurring network communication latency. The local cache is predictive in that it can comprise users which a user editing the digital content is more likely to reference in the future, thereby triggering a determination as to whether such users have access rights to the digital content. The predictive aspects of the local cache are informed by a social graph delineating relationships between a user editing the digital content and other users. The social graph can be further refined based on metadata about the digital content, or based on the digital content itself. In addition to comprising users who have access rights to the digital content, the local cache can also comprise users that have been determined to not have access rights.

First claim

Opening claim text (preview).

I claim: 1. A method of reducing latency between a user action, by a user on a computing device, directed to a first content and a generation, by the computing device, of a user notification associated with the user action, the method comprising: obtaining, by the computing device, from a remote access control list corresponding to a first content, a first set of communication endpoints that have access rights to the first content; generating a local cache, on the computing device, comprising the first set of communication endpoints and a first set of access rights indicators indicating whether or not that the first set of communication endpoints have access rights to the first content; obtaining, by the computing device, from a social graph, a second set of communication endpoints, the second set of communication endpoints being selected based on degrees of separation from the user in the a-social graph, the social graph delineating relationships between users based at least in part on prior actions of those users, wherein each user in the social graph is associated with at least one communication endpoint; obtaining, by the computing device, from the remote access control list, indications of whether or not the second set of communication endpoints have the access rights to the first content; updating, on the computing device, the local cache with the second set of communication endpoints and a second set of access rights indicators indicating whether or not the second set of communication endpoints have the access rights to the first content based on the indications obtained from the remote access control list; determining, by the computing device, whether a recipient communication endpoint, that will receive a notification associated with the first content due to the user action, already has the access rights to the first content, the determining comprising: first checking the local cache; and subsequently checking the remote access control list if the first checking determines that the local cache does not comprise the recipient communication endpoint; and generating, by the computing device, the user notification if the recipient communication endpoint does not have the access rights to the first content; wherein, if the local cache comprises the recipient communication endpoint, the generating is performed without waiting for the subsequently checking the remote access control list, thereby reducing the latency between the user action and the generating the user notification. 2. The method of claim 1 , wherein the obtaining, from the remote access control list, the first set of communication endpoints is performed after a predetermined delay after the user opens the first content for editing. 3. The method of claim 1 , wherein each communication endpoint specifies either a single computing device or a single individual user. 4. The method of claim 1 , wherein the degrees of separation between the user and the second set of communication endpoints, in the social graph, are informed by metadata of the first content. 5. The method of claim 4 , wherein the metadata of the first content comprises a location, on a document share, from which the first content was opened by the user for editing. 6. The method of claim 1 , wherein degrees of separation between the user and the second set of communication endpoints, in the social graph, is informed by portions the first content itself. 7. The method of claim 1 , wherein the user notification notifies the user that the recipient communication endpoint does not have the access rights to the first content. 8. The method of claim 1 , further comprising: re-checking, by referencing the remote access control list, whether communication endpoints in the local cache have the access rights; and updating corresponding access rights indicators in the local cache; wherein the re-checking and updating are performed in response to a pre-defined triggering event. 9. The method of claim 8 , wherein the pre-defined triggering event is an elapsing of a pre-defined amount of time since the user opened the first content for editing. 10. The method of claim 1 , wherein the obtaining the second set of communication endpoints is limited by a pre-determined threshold maximum quantity of communication endpoints in the local cache. 11. The method of claim 1 , wherein the obtaining the second set of communication endpoints is limited by a pre-determined threshold minimum degrees of separation from the user. 12. The method of claim 1 , wherein the method is only performed if the access rights to the first content have already been granted to one other communication endpoint prior to the user opening the first content for editing. 13. The method of claim 1 , wherein the method is only performed if the user has previously utilized an access rights sharing feature of an application with which the user opened the first content for editing. 14. The method of claim 1 , further comprising: parsing the first content to identify a third set of communication endpoints textually enumerated by the first content itself; obtaining, from the remote access control list, indicators indicating whether or not the third set of communication endpoints have the access rights to the first content; and updating the local cache with the third set of communication endpoints and a third set of access rights indicators indicating whether the third set of communication endpoints have the access rights to the first content. 15. The method of claim 1 , wherein at least some of the second set of access right indicators indicate that corresponding ones of the second set of communication endpoints do not have access rights to the first content. 16. The method of claim 1 , wherein the subsequently checking the remote access control list is not performed if the first checking determines that the local cache does comprise the recipient communication endpoint. 17. A computing device comprising: one or more processing units; and one or more computer-readable media comprising computer-executable instructions which, when executed by the one or more processing units, cause the computing device to: obtain, from a remote access control list corresponding to a first content, a first set of communication endpoints that have access rights to the first content; generate a local cache, on the computing device, comprising the first set of communication endpoints and a first set of access rights indicators indicating whether or not the first set of communication endpoints have the access rights to the first content; obtain, from a social graph, a second set of communication endpoints, the second set of communication endpoints being selected based on degrees of separation from the user in the social graph, the social graph delineating relationships between users based at least in part on prior actions of those users, wherein each user in the social graph is associated with at least one communication endpoint; obtain, from the remote access control list, indications of whether or not the second set of communication endpoints have the access rights to the first content; update the local cache with the second set of communication endpoints and a second set of access rights indicators indicating whether or not the second set of communication endpoints have the access rights to the first content based on the indications obtained from the remote access control list; determine, whether a recipient communication endpoint, that will receive a notification associated with the first content due to a

Assignees

Inventors

Classifications

  • G06F21/604Primary

    Tools and structures for managing or administering access control systems · CPC title

  • Access control lists [ACL] · CPC title

  • Electricity · mapped topic

  • Electricity · mapped topic

  • H04L67/568Primary

    Storing data temporarily at an intermediate stage, e.g. caching · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10447803B2 cover?
To reduce the latency introduced by network communications, the access rights to digital content of various users is locally cached, and such a local cache is referenced without incurring network communication latency. The local cache is predictive in that it can comprise users which a user editing the digital content is more likely to reference in the future, thereby triggering a determination…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F21/604. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 15 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).