System for efficient processing of transaction requests related to an account in a database
First Claim
1. A computer system for efficiently processing requests related to a database, the system comprising:
- a processor; and
a memory coupled to the processor and storing instructions, which when executed by the processor causes the processor to perform a method, the method comprising;
determining, by a server, a number of shadow accounts in a plurality of shadow accounts, wherein the plurality of shadow accounts correspond to an account of a user, wherein the number is greater than one and is determined based on an amount of time spent to complete a transaction request on the account of the user, wherein the user account is visible to the user and corresponds to a record in a database, and wherein each shadow account from the plurality of shadow accounts is not visible to the user;
creating the plurality of shadow accounts having the determined number of shadow accounts;
distributing, by the server, an entirety of a balance of the user account to the created plurality of shadow accounts;
receiving, by the server, a request to transfer a first amount into the user account;
selecting one shadow account from the plurality of shadow accounts that correspond to the user account;
locking the selected shadow account, which prevents any concurrent database record changes to be made to a corresponding record for the selected shadow account in the database; and
modifying a balance of the selected shadow account by adding the first amount to a current balance of the selected shadow account,whereby the system continues to process requests related to the user account based on a remainder of the shadow accounts that correspond to the user account.
4 Assignments
0 Petitions
Accused Products
Abstract
One embodiment provides a system that facilitates efficient processing of requests related to a database. During operation, the system receives, by a server, a request to transfer an amount in to an account of a user, wherein the account is visible to the user and corresponds to a record in a database. The system selects one of a plurality of shadow accounts that correspond to the account, wherein a shadow account is not visible to the user. The system locks the selected shadow account, which prevents any changes to be made to the corresponding record in the database. The system modifies a balance of the selected shadow account by adding the amount to be transferred in to a current balance of the selected shadow account.
133 Citations
28 Claims
-
1. A computer system for efficiently processing requests related to a database, the system comprising:
-
a processor; and a memory coupled to the processor and storing instructions, which when executed by the processor causes the processor to perform a method, the method comprising; determining, by a server, a number of shadow accounts in a plurality of shadow accounts, wherein the plurality of shadow accounts correspond to an account of a user, wherein the number is greater than one and is determined based on an amount of time spent to complete a transaction request on the account of the user, wherein the user account is visible to the user and corresponds to a record in a database, and wherein each shadow account from the plurality of shadow accounts is not visible to the user; creating the plurality of shadow accounts having the determined number of shadow accounts; distributing, by the server, an entirety of a balance of the user account to the created plurality of shadow accounts; receiving, by the server, a request to transfer a first amount into the user account; selecting one shadow account from the plurality of shadow accounts that correspond to the user account; locking the selected shadow account, which prevents any concurrent database record changes to be made to a corresponding record for the selected shadow account in the database; and modifying a balance of the selected shadow account by adding the first amount to a current balance of the selected shadow account, whereby the system continues to process requests related to the user account based on a remainder of the shadow accounts that correspond to the user account. - View Dependent Claims (2, 3, 4)
-
-
5. A computer system for efficiently processing requests related to a database, the system comprising:
-
a processor; and a memory coupled to the processor and storing instructions, which when executed by the processor causes the processor to perform a method, the method comprising; determining, by a server, a number of shadow accounts in a plurality of shadow accounts, wherein the plurality of shadow accounts correspond to an account of a user, wherein the number is greater than one and is determined based on an amount of time spent to complete a transaction request on the account of the user, wherein the user account is visible to the user and corresponds to a record in a database, and wherein each shadow account from the plurality of shadow accounts is not visible to the user; creating the plurality of shadow accounts having the determined number of shadow accounts; distributing, by the server, an entirety of a balance of the user account to the created plurality of shadow accounts; receiving, by the server, a request to transfer a first amount out of the user account; selecting one shadow account from the plurality of shadow accounts that correspond to the user account; locking the selected shadow account, which prevents any concurrent database record changes to be made to a corresponding record for the selected shadow account in the database; and in response to determining that a balance of the selected shadow account is less than the first amount; setting a balance of the user account to a first combined balance of the shadow accounts; setting a balance of each shadow account to zero; executing the request by one of; in response to determining that a negative balance is allowed on the user account or that the first combined balance is greater than the first amount, executing the request on the user account; and prior to executing the request on the selected shadow account, transferring a second amount from the user account to the selected shadow account; and distributing a third amount equal to an entirety of the balance of the user account from the user account to the shadow accounts, whereby the system continues to process requests related to the user account based on a remainder of the shadow accounts that correspond to the user account. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer system for efficiently processing requests related to a database, the system comprising:
-
a processor; and a memory coupled to the processor and storing instructions, which when executed by the processor causes the processor to perform a method, the method comprising; determining, by a server, a number of shadow accounts in a plurality of shadow accounts, wherein the plurality of shadow accounts correspond to an account of a user, wherein the number is greater than one and is determined based on an amount of time spent to complete a transaction request on the account of the user, wherein the user account is visible to the user and corresponds to a record in a database, and wherein each shadow account from the plurality of shadow accounts is not visible to the user; creating the plurality of shadow accounts having the determined number of shadow accounts; distributing, by the server, an entirety of a balance of the user account to the created plurality of shadow accounts; receiving, by the server, a request to transfer a first amount out of the user account; selecting one shadow account from the plurality of shadow accounts that correspond to the user account; locking the selected shadow account, which prevents any concurrent database record changes to be made to a corresponding record for the selected shadow account in the database; and in response to identifying no shadow accounts with a balance greater than or equal to the first amount; setting a balance of the user account to a first combined balance of the shadow accounts; setting a balance of each shadow account to zero; executing the request by one of; in response to determining that a negative balance is allowed on the user account or that the first combined balance is greater than the first amount, executing the request on the user account; and prior to executing the request on the selected shadow account, transferring a second amount from the user account to the selected shadow account; and distributing a third amount equal to an entirety of the balance of the user account from the user account to the created plurality of shadow accounts, whereby the system continues to process requests related to the user account based on a remainder of the plurality of shadow accounts that correspond to the user account. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer-implemented method for efficiently processing requests related to a database, the method comprising:
-
determining, by a server, a number of shadow accounts in a plurality of shadow accounts, wherein the plurality of shadow accounts correspond to an account of a user, wherein the number is greater than one and is determined based on an amount of time spent to complete a transaction request on the account of the user, wherein the user account is visible to the user and corresponds to a record in a database, and wherein each shadow account from the plurality of shadow accounts is not visible to the user; creating the plurality of shadow accounts having the determined number of shadow accounts; distributing, by the server, an entirety of a balance of the user account to the created plurality of shadow accounts; receiving, by the server, a request to transfer a first amount into the user account; selecting one shadow account from the plurality of shadow accounts that correspond to the user account; locking the selected shadow account, which prevents any concurrent database record changes to be made to a corresponding record for the selected shadow account in the database; modifying a balance of the selected shadow account by adding the first amount to a current balance of the selected shadow account, whereby the server continues to process requests related to the user account based on a remainder of the shadow accounts that correspond to the user account.
-
-
22. A computer-implemented method for efficiently processing requests related to a database, the method comprising:
-
determining, by a server, a number of shadow accounts in a plurality of shadow accounts, wherein the plurality of shadow accounts correspond to an account of a user, wherein the number is greater than one and is determined based on an amount of time spent to complete a transaction request on the account of the user, wherein the user account is visible to the user and corresponds to a record in a database, and wherein each shadow account from the plurality of shadow accounts is not visible to the user; creating the plurality of shadow accounts having the determined number of shadow accounts; distributing, by the server, an entirety of a balance of the user account to the created plurality of shadow accounts; receiving, by the server, a request to transfer a first amount out of the user account; selecting one shadow account from the plurality of shadow accounts that correspond to the user account; locking the selected shadow account, which prevents any concurrent database changes to be made to a corresponding record for the selected shadow account in the database; and in response to determining that a balance of the selected shadow account is less than the first amount; setting a balance of the user account to a first combined balance of the shadow accounts; setting a balance of each shadow account to zero; executing the request by one of; in response to determining that a negative balance is allowed on the user account or that the first combined balance is greater than the first amount, executing the request on the user account; and prior to executing the request on the selected shadow account, transferring a second amount from the user account to the selected shadow account; and distributing a third amount equal to an entirety of the balance of the user account from the user account to the shadow accounts, whereby the server continues to process requests related to the user account based on a remainder of the shadow accounts that correspond to the user account. - View Dependent Claims (23, 24)
-
-
25. A computer-implemented method for efficiently processing requests related to a database, the method comprising:
-
determining, by a server, a number of shadow accounts in a plurality of shadow accounts, wherein the plurality of shadow accounts correspond to an account of a user, wherein the number is greater than one and is determined based on an amount of time spent to complete a transaction request on the account of the user, wherein the user account is visible to the user and corresponds to a record in a database, and wherein each shadow account from the plurality of shadow accounts is not visible to the user; creating the plurality of shadow accounts having the determined number of shadow accounts; distributing, by the server, an entirety of a balance of the user account to the created plurality of shadow accounts; receiving, by the server, a request to transfer a first amount out of the user account; selecting one shadow account from the plurality of shadow accounts that correspond to the user account; locking the selected shadow account, which prevents any concurrent database record changes to be made to a corresponding record for the selected shadow account in the database; and in response to identifying no shadow accounts with a balance greater than or equal to the first amount; setting a balance of the user account to a first combined balance of the shadow accounts; setting a balance of each shadow account to zero; executing the request by one of; in response to determining that a negative balance is allowed on the user account or that the first combined balance is greater than the first amount, executing the request on the user account; and prior to executing the request on the selected shadow account, transferring a second amount from the user account to the selected shadow account; and distributing a third amount equal to an entirety of the balance of the user account from the user account to the created plurality of shadow accounts, whereby the server continues to process requests related to the user account based on a remainder of the shadow accounts that correspond to the user account. - View Dependent Claims (26, 27, 28)
-
Specification