IP Library Granted Patent US 12,137,167
Granted Patent B2
US 12,137,167 · App. 16/276,692 · Granted Nov 5, 2024

Watermarking in a virtual desktop infrastructure environment

Inventors: Jinxing Hu (Beijing, CN); Kar Fai Tse (Peachtree Corners, GA); Lina Li (Beijing, CN); Shengbo Teng (Beijing, CN); Lu Liu (Beijing, CN)
Assignee: Omnissa, LLC
H04L9/3231G06F9/45558G06T1/0021H04L9/0838H04L9/0869G06F2009/45587
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,137,167
App. No.
16/276,692
Granted
Nov 5, 2024
Kind
B2
Abstract

Disclosed are examples of embedding watermarks in a VDI session of a user. The watermark is based upon the user's identity and can be embedded into the VDI session to aid in the identification of data that is compromised from the VDI session. The watermark can be extracted from an image without needing the original image for extraction purposes.

Claims (38)

1. A non-transitory computer-readable medium embodying a program for generating a watermarked image that is executable in at least one computing device, wherein when executed, the program causes the at least one computing device to at least:

obtain an image corresponding to a virtual desktop infrastructure (VDI) desktop associated with a user;

generate a watermarking fingerprint based upon an identity of the user;

generate a watermarking payload based upon the watermarking fingerprint;

perform at least one discrete wavelet transform (DWT) on the image to produce a plurality of wavelet functions, the DWT performed on a Y channel extracted from the image in a YUV color encoding system to create a watermarked Y channel, wherein the plurality of watermarked wavelet functions correspond to the watermarked Y channel;

embed the watermarking payload into the plurality of wavelet functions to produce a plurality of watermarked wavelet functions using a multiplicative embedding rule that characterizes the Y channel with a gain factor, a sequence of watermark signals from the watermarking payload, and an amplitude associated with a data point of the DWT, the plurality of watermarked wavelet functions comprising the watermarked Y channel, an un-watermarked U channel, and an un-watermarked V channel;

generate the watermarked image from the plurality of watermarked wavelet functions using an inverse discrete wavelet transform; and

transmit the watermarked image to a client device executing a VDI client associated with the user.

2. The non-transitory computer-readable medium of claim 1 , wherein the watermarking fingerprint is generated by computing an output of a key derivation function, wherein a username and a domain associated with the user are used as inputs to the key derivation function.

3. The non-transitory computer-readable medium of claim 2 , wherein the key derivation function comprises Password-Based Key Derivation Function 2 (PBKDF2).

4. The non-transitory computer-readable medium of claim 1 , wherein the watermarking payload comprises an array of coefficients, the array of coefficients generated by inputting the watermarking fingerprint into a random number generator configured to output at least one of: an array of random numbers or an array of pseudorandom numbers.

5. The non-transitory computer-readable medium of claim 4 , wherein the watermarking payload is embedded into the plurality of wavelet functions by multiplying the array of coefficients with respective coefficients corresponding to the plurality of wavelet functions.

6. A method for generating a watermarked image, comprising:

obtaining an image corresponding to a virtual desktop infrastructure (VDI) desktop associated with a user;

generating a watermarking fingerprint based upon an identity of the user;

generating a watermarking payload based upon the watermarking fingerprint;

performing at least one discrete wavelet transform (DWT) on the image to produce a plurality of wavelet functions, the DWT performed on a Y channel extracted from the image in a YUV color encoding system to create a watermarked Y channel, wherein the plurality of watermarked wavelet functions correspond to the watermarked Y channel;

embedding the watermarking payload into the plurality of wavelet functions using a multiplicative embedding rule that characterizes the Y channel with a gain factor, a sequence of watermark signals from the watermarking payload, and an amplitude associated with a data point of the DWT to produce a plurality of watermarked wavelet functions, the plurality of watermarked wavelet functions comprising the watermarked Y channel, an un-watermarked U channel, and an un-watermarked V channel;

generating the watermarked image from the plurality of watermarked wavelet functions using an inverse discrete wavelet transform; and

transmitting the watermarked image to a client device executing a VDI client associated with the user.

7. The method of claim 6 , wherein the watermarking fingerprint is generated by computing an output of a key derivation function, wherein a username and a domain associated with the user are used as inputs to the key derivation function.

8. The method of claim 7 , wherein the key derivation function comprises Password-Based Key Derivation Function 2 (PBKDF2).

9. The method of claim 6 , wherein the watermarking payload comprises an array of coefficients, the array of coefficients generated by inputting the watermarking fingerprint into a random number generator configured to output at least one of: an array of random numbers or an array of pseudorandom numbers.

10. The method of claim 9 , wherein the watermarking payload is embedded into the plurality of wavelet functions by multiplying the array of coefficients with respective coefficients corresponding to the plurality of wavelet functions.

11. A system for generating a watermarked image, comprising:

at least one computing device in data communication with a client device over a network;

program code that, when executed by the at least one computing device, causes the at least one computing device to:

obtain an image corresponding to a virtual desktop infrastructure (VDI) desktop associated with a user;

generate a watermarking fingerprint based upon an identity of the user;

generate a watermarking payload based upon the watermarking fingerprint;

perform at least one discrete wavelet transform (DWT) on the image to produce a plurality of wavelet functions, the DWT performed on a Y channel extracted from the image in a YUV color encoding system to create a watermarked Y channel, wherein the plurality of watermarked wavelet functions correspond to the watermarked Y channel;

embed the watermarking payload into the plurality of wavelet functions using a multiplicative embedding rule that characterizes the Y channel with a gain factor, a sequence of watermark signals from the watermarking payload, and an amplitude associated with a data point of the DWT to produce a plurality of watermarked wavelet functions, the plurality of watermarked wavelet functions comprising the watermarked Y channel, an un-watermarked U channel, and an un-watermarked V channel;

generate the watermarked image from the plurality of watermarked wavelet functions using an inverse discrete wavelet transform; and

transmit the watermarked image to the client device executing a VDI client associated with the user.

12. The system of claim 11 , wherein the watermarking fingerprint is generated by computing an output of a key derivation function, wherein a username and a domain associated with the user are used as inputs to the key derivation function.

13. The system of claim 12 , wherein the key derivation function comprises Password-Based Key Derivation Function 2 (PBKDF2).

14. The system of claim 11 , wherein the watermarking payload comprises an array of coefficients, the array of coefficients generated by inputting the watermarking fingerprint into a random number generator configured to output at least one of: an array of random numbers or an array of pseudorandom numbers.

15. The system of claim 14 , wherein the watermarking payload is embedded into the plurality of wavelet functions by multiplying the array of coefficients with respective coefficients corresponding to the plurality of wavelet functions.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0242 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2019
From: HU, JINXING; TSE, KAR FAI; LI, LINA; TENG, SHENGBO; LIU, LU
To: VMWARE, INC.
Reel/Frame 049885/0343 →
Priority Claims (1)
WO PCT/CN2019/072958 · Jan 24, 2019 · international
Continuity (1)
Related Publication 20200244459A1 · Jul 30, 2020