US9965486B2ActiveUtilityA1

Embedding information within metadata

39
Assignee: FACEBOOK INCPriority: Aug 18, 2015Filed: Aug 18, 2015Granted: May 8, 2018
Est. expiryAug 18, 2035(~9.1 yrs left)· nominal 20-yr term from priority
G06F 16/1727G06F 17/30138
39
PatentIndex Score
0
Cited by
4
References
18
Claims

Abstract

In one embodiment, a method includes receiving a datafile and associated metadata, wherein the associated metadata has a reserved area of storage space and a known format, determining a sampled format for the associated metadata, wherein the sampled format creates available spaces within the reserved area of storage space, determining data to be embedded in the associated metadata, inserting the data to be embedded into a least one of the available spaces, and providing the datafile and the associated metadata with the inserted data.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method comprising:
 by a computing device, receiving a datafile and associated metadata, wherein the associated metadata comprises color profile data in a reserved area of storage space, wherein the color profile data is in a known format and has a first size; 
 by the computing device, determining a sampled format based on the color profile data, wherein the sampled format creates available spaces within the reserved area of storage space; 
 by the computing device, converting the color profile data into the sampled format, wherein the converted color profile data has a second size less than the first size, wherein after converting, the reserved area of storage space has one or more available spaces for storing additional data; 
 by the computing device, determining data to be embedded in the associated metadata in the one or more available spaces in the reserved area of storage space of the associated metadata; 
 by the computing device, separating the data to be embedded into a plurality of chunks, wherein each of the chunks comprises a sequence identification for the chunk, wherein the sequence identification is configured to be used for re-assembling the chunks into the data; 
 by the computing device, scrambling the chunks; 
 by the computing device, inserting the scrambled chunks into the one or more available spaces created after the converting of the color profile data; and 
 by the computing device, providing the datafile and the associated metadata with the inserted scrambled chunks. 
 
     
     
       2. The method of  claim 1 , wherein the datafile comprises a binary object. 
     
     
       3. The method of  claim 2 , wherein the binary object comprises a JPEG image and the associated metadata comprises a color profile of the JPEG image. 
     
     
       4. The method of  claim 3 , wherein the sampled format comprises TINYsRGB. 
     
     
       5. The method of  claim 1 , wherein the determining of the sampled format further comprises confirming that the known format is the sampled format. 
     
     
       6. The method of  claim 1 , wherein the data embedded in the associated metadata is prevented from being found by other users or third-party applications. 
     
     
       7. The method of  claim 1 , wherein the data to be embedded is encrypted, hashed, comprises a checksum or a header portion. 
     
     
       8. The method of  claim 1 , wherein the data to be embedded in the associated metadata is duplicated or split up, or both duplicated and split up between different metadata fields of the datafile. 
     
     
       9. The method of  claim 1 , wherein the data to be embedded in the associated metadata is duplicated or split up, or both duplicated and split up between different metadata fields of more than one datafiles. 
     
     
       10. The method of  claim 1 , wherein the providing of the datafile and the associated metadata with the inserted scrambled chunks comprises storing, in a data store accessible by a least one other application installed on the computing device, the datafile and the associated metadata with the inserted scrambled chunks. 
     
     
       11. The method of  claim 1 , further comprising:
 retrieving, by an application executing on the computing device, from a data store accessible by at least one other application installed on the computing device, the datafile and the associated metadata with the inserted scrambled chunks, wherein the associated metadata comprises the converted color profile data in the sampled format; 
 extracting, by the computing device, the inserted scrambled chunks from the associated metadata; 
 re-assembling, by the computing device, the data embedded in the associated metadata based on the extracted scrambled chunks; and 
 providing, by the computing device, the re-assembled data. 
 
     
     
       12. The method of  claim 11 , further comprising:
 computing a checksum of the re-assembled data and comparing the computed checksum to a checksum value stored with the re-assembled data. 
 
     
     
       13. The method of  claim 11 , wherein the providing of the re-assembled data comprises:
 sending a request comprising the re-assembled data to a server; and 
 receiving suggested content and recommendations for a user in response to the request. 
 
     
     
       14. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
 receive a datafile and associated metadata, wherein the associated metadata comprises color profile data in a reserved area of storage space, wherein the color profile data is in a known format and has a first size; 
 determine a sampled format based on the color profile data, wherein the sampled format creates available spaces within the reserved area of storage space; 
 convert the color profile data into the sampled format, wherein the converted color profile data has a second size less than the first size, wherein after converting, the reserved area of storage space has one or more available spaces for storing additional data; 
 determine data to be embedded in the associated metadata in the one or more available spaces in the reserved area of storage space of the associated metadata; 
 separate the data to be embedded into a plurality of chunks, wherein each of the chunks comprises a sequence identification for the chunk, wherein the sequence identification is configured to be used for re-assembling the chunks into the data; 
 scramble the chunks; 
 insert the scrambled chunks into the one or more available spaces created after the converting of the color profile data; and 
 provide the datafile and the associated metadata with the inserted scrambled chunks. 
 
     
     
       15. The media of  claim 14 , wherein the datafile comprises a binary object. 
     
     
       16. The media of  claim 14 , wherein the binary object comprises a JPEG image and the associated metadata comprises a color profile of the JPEG image. 
     
     
       17. A system comprising:
 one or more processors; and 
 a memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to: 
 receive a datafile and associated metadata, wherein the associated metadata comprises color profile data in a reserved area of storage space, wherein the color profile data is in a known format and has a first size; 
 determine a sampled format based on the color profile data, wherein the sampled format creates available spaces within the reserved area of storage space; 
 convert the color profile data into the sampled format, wherein the converted color profile data has a second size less than the first size, wherein after converting, the reserved area of storage space has one or more available spaces for storing additional data; 
 determine data to be embedded in the associated metadata in the one or more available spaces in the reserved area of storage space of the associated metadata; 
 separate the data to be embedded into a plurality of chunks, wherein each of the chunks comprises a sequence identification for the chunk, wherein the sequence identification is configured to be used for re-assembling the chunks into the data; 
 scramble the chunks; 
 insert the scrambled chunks into the one or more available spaces created after the converting of the color profile data; and 
 provide the datafile and the associated metadata with the inserted scrambled chunks. 
 
     
     
       18. The system of  claim 17 , wherein the datafile comprises a binary object.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.