IP Library › Granted Patent US 12,189,815
Granted Patent B1
US 12,189,815 · App. 17/520,541 · Granted Jan 7, 2025

Selective replacement of data maintained by third-party network services

Inventors: Anthony Scotney (Hobart, AU); Sabyasachi Routray (Hobart, AU)
Assignee: STRATOKEY PTY LTD
G06F21/6254G06F16/22G06F16/258G06F16/90344G06F16/908G06F21/6227G06F40/284H04L63/0421G06F2221/2115
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 12,189,815
App. No.
17/520,541
Filed
Nov 5, 2021
Granted
Jan 7, 2025
Kind
B1
Art Unit
2497
USPC
726/26
Abstract

A network computer system to selectively anonymize data items of a collection of data structures, where the network computer system is implemented as a backend web service. The network computer system receives a first web service call from a third-party network service, identifies a character string in a data item that has a format that coincides with the particular format, select a token from a token pool, and provides a response to the first web service call that causes the third-party network service to store a modified data item, where the modified data item is generated by replacing the character string in the data item with the token.

Claims (54)

1. A network computer system implementing a web service, the network computer system comprising:

one or more processors;

one or more memory resources storing a set of instructions, that, when executed by the one or more processors, cause the one or more processors to:

maintain a token pool including a plurality of unique tokens, each unique token comprising a string of characters having a particular format corresponding to a format of data to be replaced;

receive a first web service call from a third-party network service, the first web service call corresponding to data that includes a data item;

identify a character string in the data item that has a format that coincides with the particular format;

select a token from the token pool to replace the character string in the data item and remove the token from the token pool;

provide a response to the first web service call that causes the third-party network service to store a modified data item, where the modified data item is generated by replacing the character string in the data item with the token;

receive a second web service call from the third-party network service, the second web service call corresponding to data that includes the modified data item comprising the particular token; and

provide a second response to the second web service call that causes the third-party network service to use a reconstructed data item that is equivalent to the data item, where the reconstructed data item is generated by replacing the token with the character string.

2. The network computer system of claim 1 :

wherein the first web service call includes the data item; and

wherein the response includes the modified data item.

3. The network computer system of claim 1 , wherein the first web service call is triggered by programmatic components or processes at the third-party network service.

4. The network computer system of claim 1 , wherein the first web service call is triggered by a first script that executes in a backend scripting engine of the third-party network service.

5. The network computer system of claim 4 , wherein the first script is configured to execute in response to submission of a web form to the third-party network service by a client terminal associated with a target account.

6. The network computer system of claim 1 , wherein the data item includes sensitive data, wherein the modified data item stored by the third-party network service does not include the sensitive data.

7. The network computer system of claim 1 , wherein, the instructions, when executed by the one or more processors, cause the one or more processors to:

store a token mapping that associates the token selected from the token pool with the character string that originally appeared in the data item.

8. The network computer system of claim 7 , wherein, the instructions, when executed by the one or more processors, cause the one or more processors to:

retrieve the token mapping that associates the token selected from the token pool and the character string that originally appeared in the data item, wherein

the reconstructed data item is generated using the token mapping.

9. The network computer system of claim 8 :

wherein the second web service call includes the modified data item;

wherein the second response includes the reconstructed data item.

10. The network computer system of claim 8 , wherein the second web service call is triggered by a second script that executes in a backend scripting engine of the third-party network service.

11. The network computer system of claim 10 , wherein the second script configured to execute in response to a request from a client terminal associated with a target account to the third-party network service, for a web page that displays the data item.

12. The network computer system of claim 1 , wherein replacing the character string in the data item with the token is irreversibly performed for anonymization.

13. The network computer system of claim 1 , wherein the web service conforms to Simple Object Access Protocol (SOAP).

14. The network computer system of claim 1 , wherein the web service includes a Representation State Transfer (REST) interface.

15. A method for selectively anonymizing individual data items of a plurality of data structures, the method being implemented by one or more processors and comprising:

maintaining a token pool including a plurality of unique tokens, each unique token comprising a string of characters having a particular format corresponding to a format of data to be replaced;

receiving a first web service call from a third-party network service, the first web service call corresponding to data that includes a data item;

identifying a character string in the data item that has a format that coincides with the particular format;

selecting a token from the token pool to replace the character string in the data item and removing the token from the token pool;

providing a response to the first web service call that causes the third-party network service to store a modified data item, where the modified data item is generated by replacing the character string in the data item with the token;

receiving a second web service call from the third-party network service, the second web service call corresponding to data that includes the modified data item comprising the particular token; and

providing a second response to the second web service call that causes the third-party network service to use a reconstructed data item that is equivalent to the data item, where the reconstructed data item is generated by replacing the token with the character string.

16. The method of claim 15 , wherein the first web service call is triggered by a first script that executes in a backend scripting engine of the third-party network service.

17. The method of claim 15 , wherein the method includes

storing a token mapping that associates the token selected from the token pool with the character string that originally appeared in the data item.

18. The method of claim 17 , wherein, the method includes:

retrieving the token mapping that associates the token selected from the token pool and the character string that originally appeared in the data item, wherein

the reconstructed data item is generated using the token mapping.

19. A non-transitory computer readable medium that stores instructions, which when executed by one or more processors of a computer system, cause the computer system to perform operations that include:

maintaining a token pool including a plurality of unique tokens, each unique token comprising a string of characters having a particular format corresponding to a format of data to be replaced;

receiving a first web service call from a third-party network service, the first web service call corresponding to data that includes a data item;

identifying a character string in the data item that has a format that coincides with the particular format;

selecting a token from the token pool to replace the character string in the data item and removing the token from the token pool;

providing a response to the first web service call that causes the third-party network service to store a modified data item, where the modified data item is generated by replacing the character string in the data item with the token;

receiving a second web service call from the third-party network service, the second web service call corresponding to data that includes the modified data item comprising the particular token; and

providing a second response to the second web service call that causes the third-party network service to use a reconstructed data item that is equivalent to the data item, where the reconstructed data item is generated by replacing the token with the character string.

20. The non-transitory computer readable medium of claim 19 , wherein the instructions, when executed by the one or more processors, cause the computer system to perform operations that include:

storing a token mapping that associates the token selected from the token pool with the character string that originally appeared in the data item.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2022
From: SCOTNEY, ANTHONY; ROUTRAY, SABYASACHI
To: STRATOKEY PTY LTD.
Reel/Frame 060478/0131 →
Continuity (2)
Continuation In Part 17189058 · Mar 1, 2021
Continuation 16221261 · Dec 14, 2018
References Cited (88)
US 6829638B1 · McBrearty · 2004 [cited by applicant]
US 7788407B1 · Venkat · 2010 [cited by applicant]
US 8437744B1 · Heins · 2013 [cited by applicant]
US 8566247B1 · Nagel · 2013 [cited by applicant]
US 8768307B1 · Heins · 2014 [cited by applicant]
US 9076004B1 · Bogorad · 2015 [cited by applicant]
US 9197673B1 · Gaddy · 2015 [cited by applicant]
US 9794061B1 · Bushman · 2017 [cited by applicant]
US 9910745B1 · Lukkor · 2018 [cited by applicant]
US 9953309B2 · Carlson · 2018 [cited by applicant]
US 10360243B2 · Ukai · 2019 [cited by examiner]
US 10372926B1 · Leshinsky · 2019 [cited by applicant]
US 10447710B1 · Li · 2019 [cited by applicant]
US 10594721B1 · Scotney · 2020 [cited by applicant]
US 10798064B1 · Scotney · 2020 [cited by applicant]
US 10826946B2 · Bykampadi · 2020 [cited by examiner]
US 10880322B1 · Jakobsson · 2020 [cited by applicant]
US 10936751B1 · Scotney · 2021 [cited by applicant]
US 10963590B1 · Dash · 2021 [cited by examiner]
US 11042506B2 · Aksionkin · 2021 [cited by applicant]
US 11089126B1 · Scotney · 2021 [cited by applicant]
US 11416874B1 · Scotney · 2022 [cited by examiner]
US 11503067B2 · Kras · 2022 [cited by examiner]
US 11783349B2 · Scotney · 2023 [cited by applicant]
US 20020128925A1 · Angeles · 2002 [cited by applicant]
US 20030079120A1 · Hearn · 2003 [cited by applicant]
US 20030200331A1 · Mahajan · 2003 [cited by applicant]
US 20040024826A1 · Halahmi · 2004 [cited by applicant]
US 20050132286A1 · Rohrabaugh · 2005 [cited by applicant]
US 20060004719A1 · Lawrence · 2006 [cited by applicant]
US 20060149590A1 · Palmer · 2006 [cited by applicant]
US 20060253594A1 · Szabo · 2006 [cited by applicant]
US 20070300057A1 · Corcoran · 2007 [cited by applicant]
US 20080301805A1 · Bharara · 2008 [cited by applicant]
US 20090063952A1 · Raghavachari · 2009 [cited by applicant]
US 20090217354A1 · Blum · 2009 [cited by applicant]
US 20100071052A1 · Mao · 2010 [cited by applicant]
US 20100088389A1 · Buller · 2010 [cited by applicant]
US 20100198917A1 · Petersen · 2010 [cited by applicant]
US 20120030294A1 · Piermot · 2012 [cited by applicant]
US 20120117458A1 · Holloway · 2012 [cited by applicant]
US 20120143968A1 · Oren · 2012 [cited by applicant]
US 20120179787A1 · Walsh · 2012 [cited by applicant]
US 20120324113A1 · Prince · 2012 [cited by applicant]
US 20130346453A1 · Procopio · 2013 [cited by applicant]
US 20140006357A1 · Davis · 2014 [cited by applicant]
US 20140046906A1 · Patiejunas · 2014 [cited by applicant]
US 20140095865A1 · Yerra · 2014 [cited by applicant]
US 20140122866A1 · Haeger · 2014 [cited by applicant]
US 20140129457A1 · Peeler · 2014 [cited by applicant]
US 20140229729A1 · Roth · 2014 [cited by applicant]
US 20140282936A1 · Fitzgerald · 2014 [cited by applicant]
US 20140337614A1 · Kelson · 2014 [cited by applicant]
US 20150006890A1 · Roth · 2015 [cited by applicant]
US 20150039887A1 · Kahol · 2015 [cited by applicant]
US 20150067881A1 · Badstieber · 2015 [cited by applicant]
US 20150249684A1 · Zhang · 2015 [cited by applicant]
US 20150278545A1 · Bigras · 2015 [cited by applicant]
US 20160004729A1 · Evans · 2016 [cited by applicant]
US 20160019224A1 · Ahn · 2016 [cited by applicant]
US 20160087933A1 · Johnson · 2016 [cited by applicant]
US 20160171227A1 · Margolin · 2016 [cited by applicant]
US 20160217269A1 · Goettges · 2016 [cited by applicant]
US 20160226844A1 · Pecka · 2016 [cited by applicant]
US 20160234330A1 · Popowitz · 2016 [cited by applicant]
US 20160261668A1 · Joel · 2016 [cited by applicant]
US 20160269371A1 · Coimbatore · 2016 [cited by applicant]
US 20170034100A1 · Zink · 2017 [cited by applicant]
US 20170201526A1 · Yehuda · 2017 [cited by applicant]
US 20170223003A1 · Miles · 2017 [cited by examiner]
US 20170236129A1 · Kholkar · 2017 [cited by applicant]
US 20170243028A1 · LaFever · 2017 [cited by applicant]
US 20170286437A1 · Stevens · 2017 [cited by applicant]
US 20180025011A1 · Aksionkin · 2018 [cited by applicant]
US 20180063117A1 · Tseng · 2018 [cited by applicant]
US 20190236283A1 · Koster · 2019 [cited by applicant]
US 20190286850A1 · Popescu · 2019 [cited by applicant]
US 20200065523A1 · Fukuda · 2020 [cited by applicant]
US 20200073940A1 · Grosset · 2020 [cited by applicant]
US 20200175484A1 · Kumar · 2020 [cited by applicant]
US 20200213345A1 · Scotney · 2020 [cited by applicant]
US 20200236187A1 · Tal · 2020 [cited by applicant]
US 20210021573A1 · Scotney · 2021 [cited by applicant]
US 20210344770A1 · Scotney · 2021 [cited by applicant]
US 20220019695A1 · Scotney · 2022 [cited by applicant]
CN 101398871A · 2009 [cited by applicant]
“Linh et al. Compliance monitoring in business processes: Functionalities, application and tool-support. Information Systems. vol. 54. Dec. 2015. 3 Pages. https://www.sciencedirect.com/science/article/pii/S0306437915000… [cited by applicant]
“Flashproxy: Transparently Enabling Rich Web Content via Remote Execution”, Jun. 17-20, 2008, MobiSys'08, Breckenridge, Colorado, USA, retrieved from http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid= 159110DAEE7… [cited by applicant]