IP Library Granted Patent US 12,284,280
Granted Patent B2
US 12,284,280 · App. 17/581,068 · Granted Apr 22, 2025

Parallel tokenization of date and time information in a distributed network environment

Inventors: Ulf Mattsson (Cos Cob, CT); Denis Scherbakov (Munich, DE)
Assignee: PROTEGRITY US HOLDING, LLC
H04L9/3213G06F21/60H04L9/0618H04L9/3236H04L67/1097
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,284,280
App. No.
17/581,068
Granted
Apr 22, 2025
Kind
B2
Abstract

Data in various formats can be protected in a distributed tokenization environment. Examples of such formats include date and time data, decimal data, and floating point data. Such data can tokenized by a security device that instantiates a number of tokenization pipelines for parallel tokenization of the data. Characteristics of such data can be used to tokenize the data. For instance, token tables specific to the data format can be used to tokenized the data. Likewise, a type, order, or configuration of the operations within each tokenization pipeline can be selected based on the data format or characteristics of the data format. Each tokenization pipeline performs a set of encoding or tokenization operations in parallel and based at least in part on a value received from another tokenization pipeline. The tokenization pipeline outputs are combined, producing tokenized data, which can be provided to a remote system for storage or processing.

Claims (46)

1. A method comprising:

receiving, at a local computing system, a string of characters comprising a date portion of characters, a time portion of characters, and a microseconds portion of characters, the string of characters representative of a date and time at a microsecond granularity;

querying, by the local computing system, a token server using the date portion of characters to access a first set of token tables, using the time portion of characters to access a second set of token tables, and using the microseconds portion of characters to access a third set of token tables;

instantiating, by the local computing system, a first tokenization pipeline, a second tokenization pipeline, and a third tokenization pipeline configured to operate in parallel to tokenize the string of characters, wherein:

the first tokenization pipeline is configured to perform one or more sequential tokenization operations on the date portion of characters using the first set of token tables to produce a tokenized date portion of characters,

the second tokenization pipeline is configured to perform one or more sequential tokenization operations on the time portion of characters using the second set of token tables to produce a tokenized time portion of characters,

the third tokenization pipe is configured to perform one or more sequential tokenization operations on the microseconds portion of characters using the third set of token tables to produce a tokenized microseconds portion of characters, and

each tokenization pipeline is configured to receive as input a first output of a tokenization operation from a different tokenization pipeline such that the first output of the tokenization operation from the different tokenization pipeline is used by both the tokenization pipeline and the different tokenization pipeline to perform different sequential tokenization operations associated with the tokenization pipeline and the different tokenization pipeline, and to provide a second output of at least one sequential tokenization operation associated with the tokenization pipeline to at least one additional tokenization pipeline such that the second output of the tokenization pipeline is used by both the tokenization pipeline and the additional tokenization pipeline to perform different sequential tokenization operations associated with the tokenization pipeline and the additional tokenization pipeline; and

combining the tokenized date portion of characters, the tokenized time portion of characters, and the tokenized microseconds portion of characters to produce a combined tokenized output and providing, by the local computing system, the combined tokenized output to a remote computing system.

2. The method of claim 1 , wherein the first tokenization pipeline is configured to delay the performance of one or more tokenization operations until the second tokenization pipeline completes the performance of a tokenization operation.

3. The method of claim 2 , wherein the second tokenization pipeline is configured to delay the performance of one or more tokenization operations until the third tokenization pipeline completes the performance of a tokenization operation.

4. The method of claim 1 , wherein the date portion of characters comprises four year characters, two month characters, and two day characters; wherein the time portion of characters comprises two hour characters, two minute characters, and two second characters; and wherein the microseconds portion of characters comprises six microsecond characters.

5. The method of claim 1 , wherein the token server is located remotely from the local computing system and the remote computing system.

6. The method of claim 1 , wherein each tokenization pipeline is configured to perform a processing operation on a set of characters based on an output from a different tokenization pipeline and prior to performing a tokenization operation on the set of characters.

7. The method of claim 1 , wherein a portion of the tokenized date portion of characters, the tokenized time portion of characters, or the tokenized microseconds portion of characters matches the corresponding portion of the date portion of characters, the time portion of characters, or the microseconds portion of characters.

8. A non-transitory computer-readable storage medium storing executable instructions that, when executed by a hardware processor, cause the hardware processor to perform steps comprising:

receiving, at a local computing system, a string of characters comprising a date portion of characters, a time portion of characters, and a microseconds portion of characters, the string of characters representative of a date and time at a microsecond granularity;

querying, by the local computing system, a token server using the date portion of characters to access a first set of token tables, using the time portion of characters to access a second set of token tables, and using the microseconds portion of characters to access a third set of token tables;

instantiating, by the local computing system, a first tokenization pipeline, a second tokenization pipeline, and a third tokenization pipeline configured to operate in parallel to tokenize the string of characters, wherein:

the first tokenization pipeline is configured to perform one or more sequential tokenization operations on the date portion of characters using the first set of token tables to produce a tokenized date portion of characters,

the second tokenization pipeline is configured to perform one or more sequential tokenization operations on the time portion of characters using the second set of token tables to produce a tokenized time portion of characters,

the third tokenization pipe is configured to perform one or more sequential tokenization operations on the microseconds portion of characters using the third set of token tables to produce a tokenized microseconds portion of characters, and

each tokenization pipeline is configured to receive as input a first output of a tokenization operation from a different tokenization pipeline such that the first output of the tokenization operation from the different tokenization pipeline is used by both the tokenization pipeline and the different tokenization pipeline to perform different sequential tokenization operations associated with the tokenization pipeline and the different tokenization pipeline, and to provide a second output of at least one sequential tokenization operation associated with the tokenization pipeline to at least one additional tokenization pipeline such that the second output of the tokenization pipeline is used by both the tokenization pipeline and the additional tokenization pipeline to perform different sequential tokenization operations associated with the tokenization pipeline and the additional tokenization pipeline; and

combining the tokenized date portion of characters, the tokenized time portion of characters, and the tokenized microseconds portion of characters to produce a combined tokenized output and providing, by the local computing system, the combined tokenized output to a remote computing system.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the first tokenization pipeline is configured to delay the performance of one or more tokenization operations until the second tokenization pipeline completes the performance of a tokenization operation.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the second tokenization pipeline is configured to delay the performance of one or more tokenization operations until the third tokenization pipeline completes the performance of a tokenization operation.

11. The non-transitory computer-readable storage medium of claim 8 , wherein the date portion of characters comprises four year characters, two month characters, and two day characters; wherein the time portion of characters comprises two hour characters, two minute characters, and two second characters; and wherein the microseconds portion of characters comprises six microsecond characters.

12. The non-transitory computer-readable storage medium of claim 8 , wherein the token server is located remotely from the local computing system and the remote computing system.

13. The non-transitory computer-readable storage medium of claim 8 , wherein each tokenization pipeline is configured to perform a processing operation on a set of characters based on an output from a different tokenization pipeline and prior to performing a tokenization operation on the set of characters.

14. The non-transitory computer-readable storage medium of claim 8 , wherein a portion of the tokenized date portion of characters, the tokenized time portion of characters, or the tokenized microseconds portion of characters matches the corresponding portion of the date portion of characters, the time portion of characters, or the microseconds portion of characters.

15. A system comprising:

a hardware processor; and

a non-transitory computer-readable storage medium storing executable instructions that, when executed by the hardware processor, cause the hardware processor to perform steps comprising:

receiving, at a local computing system, a string of characters comprising a date portion of characters, a time portion of characters, and a microseconds portion of characters, the string of characters representative of a date and time at a microsecond granularity;

querying, by the local computing system, a token server using the date portion of characters to access a first set of token tables, using the time portion of characters to access a second set of token tables, and using the microseconds portion of characters to access a third set of token tables;

instantiating, by the local computing system, a first tokenization pipeline, a second tokenization pipeline, and a third tokenization pipeline configured to operate in parallel to tokenize the string of characters, wherein:

the first tokenization pipeline is configured to perform one or more sequential tokenization operations on the date portion of characters using the first set of token tables to produce a tokenized date portion of characters,

the second tokenization pipeline is configured to perform one or more sequential tokenization operations on the time portion of characters using the second set of token tables to produce a tokenized time portion of characters,

the third tokenization pipe is configured to perform one or more sequential tokenization operations on the microseconds portion of characters using the third set of token tables to produce a tokenized microseconds portion of characters, and

each tokenization pipeline is configured to receive as input a first output of a tokenization operation from a different tokenization pipeline such that the first output of the tokenization operation from the different tokenization pipeline is used by both the tokenization pipeline and the different tokenization pipeline to perform different sequential tokenization operations associated with the tokenization pipeline and the different tokenization pipeline, and to provide a second output of at least one sequential tokenization operation associated with the tokenization pipeline to at least one additional tokenization pipeline such that the second output of the tokenization pipeline is used by both the tokenization pipeline and the additional tokenization pipeline to perform different sequential tokenization operations associated with the tokenization pipeline and the additional tokenization pipeline; and

combining the tokenized date portion of characters, the tokenized time portion of characters, and the tokenized microseconds portion of characters to produce a combined tokenized output and providing, by the local computing system, the combined tokenized output to a remote computing system.

16. The system of claim 15 , wherein the first tokenization pipeline is configured to delay the performance of one or more tokenization operations until the second tokenization pipeline completes the performance of a tokenization operation.

17. The system of claim 16 , wherein the second tokenization pipeline is configured to delay the performance of one or more tokenization operations until the third tokenization pipeline completes the performance of a tokenization operation.

18. The system of claim 15 , wherein the date portion of characters comprises four year characters, two month characters, and two day characters; wherein the time portion of characters comprises two hour characters, two minute characters, and two second characters; and wherein the microseconds portion of characters comprises six microsecond characters.

19. The system of claim 15 , wherein the token server is located remotely from the local computing system and the remote computing system.

20. The system of claim 15 , wherein each tokenization pipeline is configured to perform a processing operation on a set of characters based on an output from a different tokenization pipeline and prior to performing a tokenization operation on the set of characters.

Assignments (3)
SECURITY INTEREST Recorded Aug 2, 2024
From: PROTEGRITY USA, INC.; PROTEGRITY LIMITED HOLDING, LLC; PROTEGRITY US HOLDING, LLC; PROTEGRITY CORPORATION; KAVADO, LLC
To: CANADIAN IMPERIAL BANK OF COMMERCE
Reel/Frame 068326/0020 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: PROTEGRITY CORPORATION
To: PROTEGRITY US HOLDING, LLC
Reel/Frame 067566/0462 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2022
From: MATTSSON, ULF
To: PROTEGRITY CORPORATION
Reel/Frame 062048/0107 →
Continuity (2)
Provisional Application 63144209 · Feb 1, 2021
Related Publication 20220245261A1 · Aug 4, 2022
References Cited (33)
US 5347632A · Filepp et al. · 1994 [cited by applicant]
US 8359326B1 · Garg et al. · 2013 [cited by applicant]
US 9081978B1 · Connolly · 2015 [cited by examiner]
US 9237006B2 · Mattsson et al. · 2016 [cited by applicant]
US 9442980B1 · Trepetin et al. · 2016 [cited by applicant]
US 9973475B2 · Jain et al. · 2018 [cited by applicant]
US 10108605B1 · Leighton · 2018 [cited by examiner]
US 20020046201A1 · Hembry · 2002 [cited by examiner]
US 20040044878A1 · Evans et al. · 2004 [cited by applicant]
US 20110154467A1 · Bomar et al. · 2011 [cited by applicant]
US 20130007077A1 · Wegener · 2013 [cited by applicant]
US 20130007078A1 · Wegener · 2013 [cited by applicant]
US 20130060827A1 · Wegener · 2013 [cited by applicant]
US 20130091143A1 · Raemy et al. · 2013 [cited by applicant]
US 20130103685A1 · Preneel et al. · 2013 [cited by applicant]
US 20130262539A1 · Wegener · 2013 [cited by applicant]
US 20140208068A1 · Wegener · 2014 [cited by applicant]
US 20140223561A1 · Mitola · 2014 [cited by applicant]
US 20150095252A1 · Mattsson · 2015 [cited by examiner]
US 20160299882A1 · Hegerty et al. · 2016 [cited by applicant]
US 20170053138A1 · Rozenberg et al. · 2017 [cited by applicant]
US 20170063533A1 · Barham et al. · 2017 [cited by applicant]
US 20190158288A1 · Williamson et al. · 2019 [cited by applicant]
US 20200250338A1 · McFall et al. · 2020 [cited by applicant]
US 20210019309A1 · Yadav et al. · 2021 [cited by applicant]
US 20220121768A1 · Mattsson et al. · 2022 [cited by applicant]
US 20230014346A1 · Goyal · 2023 [cited by examiner]
International Search Report and Written Opinion, Patent Cooperation Treaty Application No. PCT/US2022/014171, Apr. 27, 2022, 29 pages. [cited by applicant]
Srikanth, “Parallel lexical analyzer on the cell processor,” 2010 Fourth International Conference on Secure Software Integration and Reliability Improvement Companion, IEEE, 2010, Jun. 11, 2010, pp. 28-29, Retrieved on … [cited by applicant]
Tan et al., “Mind your Inflections! Improving NLP for non-standard Englishes with Base-Inflection Encoding,” arXiv preprint arXiv:2004.14870 (2020), Nov. 18, 2020, 17 pages, Retrieved on Apr. 2, 2022 from <https://arxiv… [cited by applicant]
United States Office Action, U.S. Appl. No. 17/492,591, Nov. 2, 2023, 22 pages. [cited by applicant]
United States Office Action, U.S. Appl. No. 17/581,070, Jan. 12, 2024, 25 pages. [cited by applicant]
United States Office Action, U.S. Appl. No. 17/581,070, Jul. 15, 2024, 31 pages. [cited by applicant]