IP Library Granted Patent US 9,369,451
Granted Patent B2
US 9,369,451 · App. 14/181,389 · Granted Jun 14, 2016

Systems, methods, and apparatuses for sharing rights

Inventors: Huan Le (Houston, TX); Khanh Tuan Phi (Sugar Land, TX)
Assignee: DiCentral Corporation
H04L63/08G06F21/10G06F21/105H04L63/10G06F2221/2141
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 9,369,451
App. No.
14/181,389
Granted
Jun 14, 2016
Kind
B2
Abstract

A method of sharing rights includes, using one or more processors, at the request of a first user, granting a right of the first user to a second user, contingent upon consent of the second user. Rights may be shared between any two parties on an individual basis. Corresponding systems, apparatuses and articles of manufacture are provided. Such methods, systems, apparatuses and articles of manufacture may be implemented using a client-server arrangement.

Claims (101)

1. A method performed by a server in communication with one or more client devices, the method comprising:

receiving, at the server, from one of the one or more client devices a request by a first user to grant a right of the first user to a second user;

transmitting, from the server, to one of the one or more client devices the request to grant the right of the first user to the second user;

receiving, at the server, from one of the one or more client devices a reply by the second user to the request to grant the right of the first user to the second user, the reply comprising an acceptance or a refusal of the request to grant the right of the first user to the second user, wherein:

if the reply comprises the acceptance:

by the server, granting the right of the first user to the second user; and

if the reply comprises the refusal:

by the server, not granting the right of the first user to the second user; and

at the request of the first user or the second user, revoking a right granted by the first user to the second user, wherein the right granted by the first user to the second user is revoked regardless of whether the request to revoke is made by the first user or the second user,

wherein the server comprises one or more processors, and the one or more processors comprise hardware, and

wherein the right is defined as a function R=f(A, O, P, C), where R is the right, A is one or more actions authorized by the granting of the right O is one or more objects of the one or more actions authorized by the granting of the right, P is one or more parties bound by the granting of the right, and C is one or more conditions imposed upon the granted right.

2. A method according to claim 1 , further comprising:

if the reply comprises the acceptance:

transmitting to the first user notification of (a) the acceptance and/or (b) the granting of the right; and

if the reply comprises the refusal:

transmitting to the first user notification of (a) the refusal and/or (b) the non-granting of the right.

3. A method according to claim 1 , further comprising:

associating the right of the first user with the first user.

4. A method according to claim 1 , further comprising:

authenticating at least one of the first user and the second user,

wherein the step of authenticating at least one of the first user and the second user comprises verifying at least one of (i) the identity of the respective user and (ii) the credentials of the respective user.

5. A method according to claim 1 , further comprising:

determining whether a given user has been granted a given right;

if the given user has been granted the given right, authorizing the given user to exercise the given right; and

if the given user has not been granted the given right, denying authorization to the given user to exercise the given right.

6. A method according to claim 5 , further comprising:

wherein, for any performed instance of the granting of the right of the first user to the second user, a result of the performance thereof is recorded as a first recorded result comprising information indicating the right, the first user and the second user,

wherein for any performed instance of the revoking of a right granted by the first user to the second user, a result of the performance thereof is recorded as a second recorded result comprising information indicating the right revoked, the first user, and the second user, and

wherein the determination whether a given user has been granted a given right is made based on the first and second recorded results.

7. A method according to claim 1 , further comprising:

receiving a query from a third party as to whether a given user has been granted a given right;

determining whether the given user has been granted the given right; and

transmitting to the third party a reply to the query, the reply indicating whether the given user has been granted the given right.

8. An article of manufacture comprising a non-transitory machine-readable medium comprising instructions that, when executed, enable a server comprising a processor-based system, in communication with one or more client devices, to:

receive from one of the one or more client devices a request by a first user to grant a right of the first user to a second user;

transmit to one of the one or more client devices the request to grant the right of the first user to the second user;

receive from one of the one or more client devices a reply by the second user to the request to grant the right of the first user to the second user, the reply comprising an acceptance or a refusal of the request to grant the right of the first user to the second user, wherein:

if the reply comprises the acceptance:

grant the right of the first user to the second user; and

if the reply comprises the refusal:

decline granting the right of the first user to the second user; and

at the request of the first user or the second user, revoke a right granted by the first user to the second user, wherein the right granted by the first user to the second user is revoked regardless of whether the request to revoke is made by the first user or the second user,

wherein the processor-based system comprises one or more processors, and the one or more processors comprise hardware, and

wherein the right is defined as a function R=f(A, O, P, C), where R is the right, A is one or more actions authorized by the granting of the right, O is one or more objects of the one or more actions authorized by the granting of the right, P is one or more parties bound by the granting of the right, and C is one or more conditions imposed upon the granted right.

9. An article of manufacture according to claim 8 , wherein the instructions, when executed, further enable the server comprising the processor-based system, in communication with the one or more client devices, to:

if the reply comprises the acceptance:

transmit to the first user notification of (a) the acceptance and/or (b) the granting of the right; and

if the reply comprises the refusal:

transmit to the first user notification of (a) the refusal and/or (b) the non-granting of the right.

10. An article of manufacture according to claim 8 , wherein the instructions, when executed, further enable the server comprising the processor-based system, in communication with the one or more client devices, to:

associate the right of the first user with the first user.

11. An article of manufacture according to claim 8 , wherein the instructions, when executed, further enable the server comprising the processor-based system, in communication with the one or more client devices, to:

authenticate at least one of the first user and the second user,

wherein the step of authenticating at least one of the first user and the second user comprises verifying at least one of (i) the identity of the respective user and (ii) the credentials of the respective user.

12. An article of manufacture according to claim 8 , wherein the instructions, when executed, further enable the server comprising the processor-based system, in communication with the one or more client devices, to:

determine whether a given user has been granted a given right;

if the given user has been granted the given right, authorize the given user to exercise the given right; and

if the given user has not been granted the given right, deny authorization to the given user to exercise the given right.

13. An article of manufacture according to claim 12 , wherein the instructions, when executed, further enable the server comprising the processor-based system, in communication with the one or more client devices, to:

wherein, for any performed instance of the granting of the right of the first user to the second user, a result of the performance thereof is recorded as a first recorded result comprising information indicating the right, the first user and the second user,

wherein for any performed instance of the revoking of a right granted by the first user to the second user, a result of the performance thereof is recorded as a second recorded result comprising information indicating the right revoked, the first user, and the second user, and

wherein the determination whether a given user has been granted a given right is made based on the first and second recorded results.

14. An article of manufacture according to claim 8 , wherein the instructions, when executed, further enable the server comprising the processor-based system, in communication with the one or more client devices, to:

receive a query from a third party as to whether a given user has been granted a given right;

determine whether the given user has been granted the given right; and

transmit to the third party a reply to the query, the reply indicating whether the given user has been granted the given right.

15. A system comprising:

a server, the server comprising:

one or more processors, the one or more processors comprising hardware; and

memory coupled to the one or more processors, the memory comprising executable instructions that, when executed, enable the one or more processors, in communication with one or more client devices, to:

receive from one of the one or more client devices a request by a first user to grant a right of the first user to a second user;

transmit to one of the one or more client devices the request to grant the right of the first user to the second user;

receive from one of the one or more client devices a reply by the second user to the request to grant the right of the first user to the second user, the reply comprising an acceptance or a refusal of the request to grant the right of the first user to the second user, wherein:

if the reply comprises the acceptance:

grant the right of the first user to the second user; and

if the reply comprises the refusal:

decline granting the right of the first user to the second user; and

at the request of the first user or the second user, revoke a right granted by the first user to the second user, wherein the right granted by the first user to the second user is revoked regardless of whether the request to revoke is made by the first user or the second user,

wherein the right is defined as a function R=f(A, O, P, C), where R is the right, A is one or more actions authorized by the granting of the right, O is one or more objects of the one or more actions authorized by the granting of the right, P is one or more parties bound by the granting of the right, and C is one or more conditions imposed upon the granted right.

16. A system according to claim 15 , wherein the instructions, when executed, further enable the one or more processors, in communication with the one or more client devices, to:

if the reply comprises the acceptance:

transmit to the first user notification of (a) the acceptance and/or (b) the granting of the right; and

if the reply comprises the refusal:

transmit to the first user notification of (a) the refusal and/or (b) the non-granting of the right.

17. A system according to claim 15 , wherein the instructions, when executed, further enable the one or more processors, in communication with the one or more client devices, to:

associate the right of the first user with the first user.

18. A system according to claim 15 , wherein the instructions, when executed, further enable the one or more processors, in communication with the one or more client devices, to:

authenticate at least one of the first user and the second user,

wherein the step of authenticating at least one of the first user and the second user comprises verifying at least one of (i) the identity of the respective user and (ii) the credentials of the respective user.

19. A system according to claim 15 , wherein the instructions, when executed, further enable the one or more processors, in communication with the one or more client devices, to:

determine whether a given user has been granted a given right;

if the given user has been granted the given right, authorize the given user to exercise the given right; and

if the given user has not been granted the given right, deny authorization to the given user to exercise the given right.

20. A system according to claim 19 , wherein the instructions, when executed, further enable the one or more processors, in communication with the one or more client devices, to:

wherein, for any performed instance of the granting of the right of the first user to the second user, a result of the performance thereof is recorded as a first recorded result comprising information indicating the right, the first user and the second user,

wherein for any performed instance of the revoking of a right granted by the first user to the second user, a result of the performance thereof is recorded as a second recorded result comprising information indicating the right revoked, the first user, and the second user, and

wherein the determination whether a given user has been granted a given right is made based on the first and second recorded results.

21. A system according to claim 15 , wherein the instructions, when executed, further enable the one or more processors, in communication with the one or more client devices, to:

receive a query from a third party as to whether a given user has been granted a given right;

determine whether the given user has been granted the given right; and

transmit to the third party a reply to the query, the reply indicating whether the given user has been granted the given right.

Assignments (2)
SECURITY INTEREST Recorded Oct 25, 2021
From: DICENTRAL CORPORATION
To: GOLUB CAPITAL MARKETS LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 057898/0176 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2016
From: LE, HUAN; PHI, KHANH TUAN
To: DICENTRAL CORPORATION
Reel/Frame 038618/0383 →
Continuity (2)
Provisional Application 61764822 · Feb 14, 2013
Related Publication 20140230034A1 · Aug 14, 2014