IP Library Granted Patent US 9,367,624
Granted Patent B2
US 9,367,624 · App. 13/725,729 · Granted Jun 14, 2016

Identity workflow that utilizes multiple storage engines to support various lifecycles

Inventors: Lawrence Chin (San Francisco, CA); Tairji Lee (Fremont, CA)
Assignee: Yahoo! Inc.
G06F17/30867H04L67/306
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,367,624
App. No.
13/725,729
Granted
Jun 14, 2016
Kind
B2
Abstract

In one embodiment, an indication of a request pertaining to a user account is obtained, where the user account is associated with at least one user. An account type of the user account is determined, where the account type is one of two or more account types. One or more actions indicated by the request are performed based, at least in part, upon the account type.

Claims (67)

1. A method, comprising:

obtaining an indication of a first request pertaining to a first user account;

determining that an account type of the first user account is a first one of two or more account types;

selecting a first subset of two or more data stores or queues based, at least in part, on the account type of the first user account, wherein the first subset of the two or more data stores or queues includes a relational database;

storing, updating, deleting, or querying first information in a data store or queue in the first subset of the two or more data stores or queues, the first information pertaining to at least one action indicated by the first request;

obtaining an indication of a second request pertaining to a second user account;

determining that the account type of the second user account is a second one of the two or more account types;

selecting a second subset of the two or more data stores or queues based, at least in part, on the account type of the second user account, wherein the second subset of the two or more data stores or queues does not include a relational database; and

storing, updating, deleting, or querying second information in a data store or queue in the second subset of the two or more data stores or queues, the second information pertaining to at least one action indicated by the second request.

2. The method of claim 1 , wherein the first or second user account pertains to goods or services provided to an account owner.

3. The method of claim 1 , wherein the first or second user account is managed by a company that provides goods or services to an account owner, and wherein the user account indicates an amount of the goods or services provided to the account owner during a period of time and/or an amount charged to the account owner for the goods or services provided to the account owner during the period of time.

4. The method of claim 3 , wherein the first or second request is received from the company.

5. The method of claim 1 , wherein the first or second request is received from the account owner.

6. The method of claim 1 , wherein the first or second request is generated in response to a specific type of online activity of an account owner or a complaint pertaining to the account owner.

7. The method of claim 1 , wherein the first or second request is a delete account request, suspend account request, activate account request, deactivate account request, or create account request.

8. An apparatus, comprising:

a processor; and

a memory, at least one of the processor or the memory being adapted for:

obtaining an indication of a first request pertaining to a first user account;

determining an account type of the first user account;

after determining that the account type of the first user account is a first one of two or more account types, selecting a first subset of two or more data stores or queues based, at least in part, on the account type of the first user account, wherein the first subset of the two or more data stores or queues includes a relational database;

storing, updating, deleting, or querying first information in a data store or queue in the first subset of the two or more data stores or queues, the first information pertaining to at least one action indicated by the first request;

obtaining an indication of a second request pertaining to a second user account;

determining the account type of the second user account;

after determining that the account type of the second user account is a second one of the two or more account types, selecting a second subset of the two or more data stores or queues based, at least in part, on the account type of the second user account, wherein the second subset of the two or more data stores or queues does not include a relational database; and

storing, updating, deleting, or querying second information in a data store or queue in the second subset of the two or more data stores or queues, the second information pertaining to at least one action indicated by the second request.

9. The apparatus of claim 8 ,

wherein selecting the second subset of the two or more data stores or queues based, at least in part, on the account type of the second user account includes selecting the first or second subset of the two or more data stores or queues based, at least in part, on whether the account type of the second user account is one of a first set of account types or a second set of account types.

10. The apparatus of claim 8 , wherein the first subset of the two or more data stores consists of relational databases.

11. The apparatus of claim 9 , further comprising:

ascertaining that the account type of the second user account is one of the second set of account types.

12. The apparatus of claim 8 , wherein selecting the second subset of two or more data stores or is further performed based, at least in part, upon a request type of the second request.

13. The apparatus of claim 8 , at least one of the processor or the memory being further adapted for performing steps, further comprising:

selecting the second subset of the two or more data stores or queues based, at least in part, upon the account type of the second user account and a type of the second request; and

storing information pertaining to the second user account based, at least in part, on a result of selecting the second subset of the two or more data stores or queues.

14. The apparatus of claim 13 , at least one of the processor or the memory being further adapted for performing steps, further comprising:

identifying one or more actions to be performed based, at least in part, upon the account type of the second user account and/or the type of the second request.

15. The apparatus of claim 8 , wherein the two or more account types comprise at least one of a parent account, a master account, a sub-account, a partner account, a paid account, a free account, a simple account, a complex account, an inactive account, or an abusive account.

16. A non-transitory computer-readable medium storing thereon computer-readable instructions configured to perform operations, comprising:

obtaining an indication of a first request pertaining to a first user account;

determining an account type of the first user account;

after determining that the account type of the first user account is a first one of two or more account types, selecting a first subset of two or more data stores or queues based, at least in part, on the account type of the first user account, wherein the first subset of the two or more data stores or queues includes a relational database;

storing, updating, deleting, or querying first information in a data store or queue in the first subset of the two or more data stores or queues, the first information pertaining to at least one action indicated by the first request;

obtaining an indication of a second request pertaining to a second user account;

determining the account type of the second user account;

after determining that the account type of the second user account is a second one of the two or more account types, selecting a second subset of the two or more data stores or queues based, at least in part, on the account type of the second user account, wherein the second subset of the two or more data stores or queues does not include a relational database; and

storing, updating, deleting, or querying second information in a data store or queue in the second subset of the two or more data stores or queues, the second information pertaining to at least one action indicated by the second request.

17. The apparatus of claim 14 , further comprising:

scheduling the one or more actions such that each of the one or more actions is scheduled to occur at a corresponding time; and

performing the one or more actions in accordance with the scheduling.

18. The apparatus of claim 17 , wherein performing the one or more actions in accordance with the scheduling comprises performing each of the one or more actions at or after the corresponding time.

19. The non-transitory computer-readable medium of claim 16 , further comprising:

identifying one or more actions corresponding to the account type and/or a request type of the second request, wherein the one or more actions include a plurality of actions that correspond to a plurality of states in a lifecycle; and

performing the plurality of actions in a particular order in accordance with the plurality of states of the lifecycle.

20. The non-transitory computer-readable medium of claim 16 , further comprising:

identifying a plurality of actions corresponding to the account type and/or a request type of the second request;

performing the plurality of actions in sequential order.

21. The non-transitory computer-readable medium of claim 16 , further comprising:

selecting one of two or more storage engines based, at least in part, upon the account type of the second user account; and

providing information pertaining to the second user account and/or the at least one action indicated by the second request to the selected one of the two or more storage engines.

22. The method of claim 1 , further comprising:

changing a state of the second user account from a first state to a second state based, at least in part, on the account type of the second user account.

23. The method of claim 1 , further comprising:

determining a state of the second user account;

wherein the data store or queue in the second subset of the two or more data stores or queues is selected further based, at least in part, upon the state of the second user account.

24. The apparatus of claim 10 , wherein the relational databases comprise SQL databases.

25. The method of claim 1 , wherein the account type of the first user account is one of a first set of account types and the account type of the second user account is one of a second set of account types, wherein the first set of account types comprises a partner account or a dependent account, and wherein the second set of account types comprises an independent account.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 29, 2021
From: R2 SOLUTIONS LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 056832/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Recorded Dec 30, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: R2 SOLUTIONS LLC
Reel/Frame 054981/0377 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2020
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 053459/0059 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038950/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: EXCALIBUR IP, LLC
To: YAHOO! INC.
Reel/Frame 038951/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038383/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2013
From: CHIN, LAWRENCE; LEE, TAIRJI
To: YAHOO! INC.
Reel/Frame 030178/0670 →
Continuity (1)
Related Publication 20140181104A1 · Jun 26, 2014