IP Library Granted Patent US 11,481,850
Granted Patent B2
US 11,481,850 · App. 16/458,810 · Granted Oct 25, 2022

Tax balancing using distributed node clusters

Inventors: Murali Mohan Dintakurthi (Hyderabad, IN); Suryanarayana Akundi (Pasadena, CA); Ajit Kumar (San Dimas, CA)
Assignee: ADP, Inc.
G06Q40/123G06Q10/063114
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 11,481,850
App. No.
16/458,810
Granted
Oct 25, 2022
Kind
B2
Abstract

Tax balancing comprising receiving tax balancing requests from a number of clients and distributing each client tax balancing request among a number of nodes comprising a cluster. Nodes are added to the cluster according to processing needs of a client tax balancing request. A number of actors are created within each node for each employee of a client, wherein each actor performs a specified computational task related to tax balancing for the employee, and wherein actors are added to a node according to processing needs of a client tax balancing request, and processing load is balanced within the cluster by redistributing actors from nodes with the highest processing loads to nodes with the lowest processing loads. Employee tax balancing calculations are aggregated for each client, and tax balancing filing and payment data for each client are output to a database.

Claims (55)

1. A computer-implemented method for tax balancing of employee payroll taxes, the method comprising:

receiving, by a number of processors, tax balancing requests from a plurality of clients, wherein each client is an employer of multiple employees, wherein each employer processes payroll taxes for each of its multiple employees, and wherein processing for each tax balancing request comprises importing employee tax data of each of the multiple employees of each employer and reconciling the employee tax data that is imported;

distributing, by a number of processors, each client tax balancing request among a plurality of nodes comprising a cluster, wherein nodes are added to the cluster according to processing needs of a client tax balancing request;

creating, by a number of processors, a plurality of actors within each node of the cluster for each employee of a client, wherein each actor performs a specified employee tax balancing calculation related to tax balancing for the employee, and wherein actors are added to a node according to processing needs of a client tax balancing request, and wherein processing load is balanced within the cluster by redistributing actors from nodes in the cluster with a highest processing loads to nodes in the cluster with lowest processing loads;

aggregating, by a number of processors, employee tax balancing calculations for each client; and

outputting, by a number of processors, tax balancing filing and payment data for each client to a database.

2. The method of claim 1 , further comprising throttling the tax balance requests from the clients in a queue.

3. The method of claim 1 , wherein the tax balancing requests are received by a Kafka messaging system.

4. The method of claim 1 , wherein the nodes are Java virtual machines (JVMs).

5. The method of claim 1 , wherein the cluster is an AKKA cluster.

6. The method of claim 1 , wherein computational tasks performed by the actors comprise one or more of:

tax code validation;

gathering tax items from tax forms;

calculations of amounts;

comparison of actual taxes owed with estimated taxes for designated time periods; or

storing data in a database for further processing.

7. The method of claim 1 , wherein a plurality of actors are organized hierarchically for each client.

8. A system for tax balancing, the system comprising:

a bus system;

a storage device connected to the bus system, wherein the storage device stores program instructions; and

a number of processors connected to the bus system, wherein the number of processors execute the program instructions to:

receive tax balancing requests from a plurality of clients, wherein each client is an employer of multiple employees, wherein each employer processes payroll taxes for each of its multiple employees, and wherein processing for each tax balancing request comprises importing employee tax data of each of the multiple employees of each employer and reconciling the employee tax data that is imported;

distribute each client tax balancing request among a plurality of nodes comprising a cluster, wherein nodes are added to the cluster according to processing needs of a client tax balancing request;

create a plurality of actors within each node of the cluster for each employee of a client, wherein each actor performs a specified employee tax balancing calculation related to tax balancing for the employee, and wherein actors are added to a node according to processing needs of a client tax balancing request, and wherein processing load is balanced within the cluster by redistributing actors from nodes in the cluster with a highest processing loads to nodes in the cluster with a lowest processing loads;

aggregate employee tax balancing calculations for each client; and

output tax balancing filing and payment data for each client to a database.

9. The system of claim 8 , wherein the number of processors further execute program instructions to throttle the tax balance requests from the clients in a queue.

10. The system of claim 8 , wherein the tax balancing requests are received by a Kafka messaging system.

11. The system of claim 8 , wherein the nodes are Java virtual machines (JVMs).

12. The system of claim 8 , wherein the cluster is an AKKA cluster.

13. The system of claim 8 , wherein computational tasks performed by the actors comprise one or more of:

tax code validation;

gathering tax items from tax forms;

calculations of amounts;

comparison of actual taxes owed with estimated taxes for designated time periods; or

storing data in a database for further processing.

14. The system of claim 8 , wherein a number of actors are organized hierarchically for each client.

15. A computer program product for tax balancing, the computer program product comprising:

a non-volatile computer readable storage medium having program instructions embodied therewith, the program instructions executable by a number of processors to cause the computer to perform the steps of:

receiving tax balancing requests from a plurality of clients, wherein each client is an employer of multiple employees, wherein each employer processes payroll taxes for each of its multiple employees, and wherein processing for each tax balancing request comprises importing employee tax data of each of the multiple employees of each employer and reconciling the employee tax data that is imported;

distributing each client tax balancing request among a plurality of nodes comprising a cluster, wherein nodes are added to the cluster according to processing needs of a client tax balancing request;

creating a plurality of actors within each node of the cluster for each employee of a client, wherein each actor performs a specified employee tax balancing calculation related to tax balancing for the employee, and wherein actors are added to a node according to processing needs of a client tax balancing request, and wherein processing load is balanced within the cluster by redistributing actors from nodes in the cluster with a highest processing loads to nodes in the cluster with a lowest processing loads;

aggregating employee tax balancing calculations for each client; and

outputting tax balancing filing and payment data for each client to a database.

16. The computer program product of claim 15 , further comprising instructions for throttling the tax balance requests from the clients in a queue.

17. The computer program product of claim 15 , wherein the tax balancing requests are received by a Kafka messaging system.

18. The computer program product of claim 15 , wherein the nodes are Java virtual machines (JVMs).

19. The computer program product of claim 15 , wherein the cluster is an AKKA cluster.

20. The computer program product of claim 15 , wherein computational tasks performed by the actors comprise one or more of:

tax code validation;

gathering tax items from tax forms;

calculations of amounts;

comparison of actual taxes owed with estimated taxes for designated time periods; or

storing data in a database for further processing.

21. The computer program product of claim 15 , wherein a number of actors are organized hierarchically for each client.

Assignments (2)
CHANGE OF NAME Recorded Feb 4, 2022
From: ADP, LLC
To: ADP, INC.
Reel/Frame 058959/0729 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2019
From: DINTAKURTHI, MURALI MOHAN; AKUNDI, SURYANARAYANA; KUMAR, AJIT
To: ADP, LLC
Reel/Frame 049644/0237 →
Continuity (1)
Related Publication 20210004914A1 · Jan 7, 2021