IP Library Granted Patent US 8,990,266
Granted Patent B2
US 8,990,266 · App. 13/653,873 · Granted Mar 24, 2015

Dynamic data transformations for network transmissions

Inventors: Woody Shea (Round Rock, TX); Michael Fleck (Virginia Beach, VA)
Assignee: CipherPoint Software, Inc.
G06F17/30893
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 8,990,266
App. No.
13/653,873
Granted
Mar 24, 2015
Kind
B2
Abstract

A method of dynamically performing data transformations on information that is transmitted between a user device and a web service may include receiving interface code from the web service, receiving an input from the user device that identifies a data type, and a data transformation to be applied to data instances matching the data type. The method may also include causing a definition file to be stored with the data type, the data transformation, and a resource locator. The method may additionally include, in a second communication session, intercepting a transmission, accessing the definition file using the resource locator, determining whether the data instance matches the data type, causing the data transformation to be performed on the data instance to generate transformed data, and inserting the transformed data into the transmission if the data instance matches the data type.

Claims (110)

1. A method of dynamically performing data transformations on information that is transmitted between a user device and a web service, the method comprising:

during a first communication session:

receiving interface code from the web service;

receiving one or more inputs from the user device, wherein the one or more inputs identifies:

a data type that is associated with the interface code, and

a data transformation to be applied to data instances matching the data type; and

causing a definition file to be stored, wherein the definition file comprises:

the data type,

an indication of the data transformation, and

a resource locator that is associated with the web service;

during a second communication session:

intercepting a transmission between the user device and the web service, wherein the transmission comprises:

a data instance, and

the resource locator;

accessing the definition file using the resource locator;

determining that the data instance matches the data type;

causing the data transformation to be performed on the data instance to generate transformed data based on the determination that the data instance matches the data type; and

inserting the transformed data into the transmission based on the determination that the data instance matches the data type.

2. The method of claim 1 , further comprising:

during a third communication session:

intercepting a second transmission between the user device and the web service, wherein the second transmission comprises:

a second data instance, and

the resource locator;

accessing the definition file using the resource locator;

determining that the data instance does not match the data type; and

allowing the transmission to pass between the user device and the web service without transforming the data instance based on the determination that the data instance does not match the data type.

3. The method of claim 1 , wherein the data transformation comprises encrypting or decrypting the data instance.

4. The method of claim 1 , wherein the data transformation comprises compressing or decompressing the data instance.

5. The method of claim 1 , wherein the data transformation comprises language translation.

6. The method of claim 1 , wherein the data type comprises a field in a structured data set.

7. The method of claim 6 , further comprising:

determining that the field should have a format preserved;

generating a placeholder;

inserting the placeholder into the transmission place of the field;

performing the data transformation on the field to generate a transformed field; and

inserting the transformed field into the data stream as an attachment, whereby the attachment is referenced by the placeholder.

8. The method of claim 1 , wherein:

the data type indicates segments of unstructured data;

the data instance comprises a data file comprising unstructured data; and

causing the data transformation to be performed on the data instance comprises causing the data file to be transformed.

9. The method of claim 1 , wherein the resource locator comprises a Uniform Resource Locator (URL).

10. The method of claim 1 , wherein the definition file comprises an XML Definition File (XDF).

11. The method of claim 1 , the data type comprises an input control.

12. A non-transitory computer-readable memory having stored thereon a sequence of instructions which, when executed by one or more processors, causes the one or more processors to perform data transformations on information that is transmitted between a user device and a web service by:

during a first communication session:

receiving interface code from the web service;

receiving one or more inputs from the user device, wherein the one or more inputs identifies:

a data type that is associated with the interface code, and

a data transformation to be applied to data instances matching the data type; and

causing a definition file to be stored, wherein the definition file comprises:

the data type,

an indication of the data transformation, and

a resource locator that is associated with the web service;

during a second communication session:

intercepting a transmission between the user device and the web service, wherein the transmission comprises:

a data instance, and

the resource locator;

accessing the definition file using the resource locator;

determining whether the data instance matches the data type;

causing the data transformation to be performed on the data instance to generate transformed data based on the determination that the data instance matches the data type; and

inserting the transformed data into the transmission based on the determination that the data instance matches the data type.

13. The non-transitory computer-readable memory according to claim 12 , wherein the instructions further cause the one or more processors to perform data transformations on information that is transmitted between a user device and a web service by:

during a third communication session:

intercepting a second transmission between the user device and the web service, wherein the second transmission comprises:

a second data instance, and

the resource locator;

accessing the definition file using the resource locator;

determining that the data instance does not match the data type; and

allowing the transmission to pass between the user device and the web service without transforming the data instance based on the determination that the data instance does not match the data type.

14. The non-transitory computer-readable memory according to claim 12 , wherein the data transformation comprises encrypting or decrypting the data instance.

15. The non-transitory computer-readable memory according to claim 12 , wherein the data type comprises a field in a structured data set.

16. The non-transitory computer-readable memory according to claim 12 , wherein the instructions further cause the one or more processors to perform data transformations on information that is transmitted between a user device and a web service by:

determining that the field should have a format preserved;

generating a placeholder;

inserting the placeholder into the transmission place of the field;

performing the data transformation on the field to generate a transformed field; and

inserting the transformed field into the data stream as an attachment, whereby the attachment is referenced by the placeholder.

17. A system comprising:

one or more processors; and

a memory communicatively coupled with and readable by the one or more processors and having stored therein a sequence of instructions which, when executed by the one or more processors, cause the one or more processors to perform data transformations on information that is transmitted between a user device and a web service by:

during a first communication session:

receiving interface code from the web service;

receiving one or more inputs from the user device, wherein the one or more inputs identifies:

a data type that is associated with the interface code, and

a data transformation to be applied to data instances matching the data type; and

causing a definition file to be stored, wherein the definition file comprises:

the data type,

an indication of the data transformation, and

a resource locator that is associated with the web service;

during a second communication session:

intercepting a transmission between the user device and the web service, wherein the transmission comprises:

a data instance, and

the resource locator;

accessing the definition file using the resource locator;

determining that the data instance matches the data type;

causing the data transformation to be performed on the data instance to generate transformed data based on the determination that the data instance matches the data type; and

inserting the transformed data into the transmission based on the determination that the data instance matches the data type.

18. The system of claim 17 wherein the instructions further cause the one or more processors to perform data transformations on information that is transmitted between a user device and a web service by:

during a third communication session:

intercepting a second transmission between the user device and the web service, wherein the second transmission comprises:

a second data instance, and

the resource locator;

accessing the definition file using the resource locator;

determining that the data instance does not match the data type; and

allowing the transmission to pass between the user device and the web service without transforming the data instance based on the determination that the data instance does not match the data type.

19. The system of claim 17 wherein the data transformation comprises encrypting or decrypting the data instance.

20. The system of claim 17 wherein:

the data type indicates segments of unstructured data;

the data instance comprises a data file comprising unstructured data; and

causing the data transformation to be performed on the data instance comprises causing the data file to be transformed.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 17, 2012
From: SHEA, WOODY; FLECK, MICHAEL
To: CIPHERPOINT SOFTWARE, INC.
Reel/Frame 029146/0595 →
Continuity (2)
Provisional Application 61548564 · Oct 18, 2011
Related Publication 20130097129A1 · Apr 18, 2013