IP Library Granted Patent US 9,501,806
Granted Patent B2
US 9,501,806 · App. 14/806,143 · Granted Nov 22, 2016

Method of creating or updating a container file for storing image files

Inventors: Rahul C. Thakkar (Leesburg, VA); Scott L. Pakula (Chantilly, VA); Rudolf O. Ernst (Leesburg, VA)
Assignee: PIXIA CORP.
G06T1/00G06F17/3028G06F17/30244G06F17/30247G06F17/30342G06F17/30598G06T1/60G06T7/0079H04N21/2353H04N21/2383H04N21/23424H04N21/2662H04N21/2665H04N21/6125
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 9,501,806
App. No.
14/806,143
Granted
Nov 22, 2016
Kind
B2
Abstract

A method of managing a container file for storing data files includes creating a container file including a container file metadata section by creating one or more empty records in a storage device. Each record of the one or more empty records has a data file section reserved for storing a data file, a file metadata section reserved for storing metadata about the data file, and a record metadata section including information about the record and having at least a record status mark indicating that the record is empty. The method further includes setting a container status mark in the container file metadata section to available, after creating the container file.

Claims (56)

1. A method of managing a container file of data files, the method being implemented by a computer system that includes one or more processors configured to execute processing operations, the method comprising:

creating, by the one or more processors, a container file having a container file metadata section by creating one or more empty records in a storage device, each record of the one or more empty records comprising:

a data file section reserved for storing a data file,

a file metadata section reserved for storing metadata about the data file,

a record metadata section including information about the record and having at least a record status mark indicating that the record is empty, and

setting, by the one or more processors, a container status mark in the container file metadata section to available, after creating the container file.

2. The method according to claim 1 , wherein the file metadata section starts from a location that is aligned to an integer multiple of a storage device block size (SDBS) of the storage device, the data file section starts from a location that is aligned to an integer multiple of a storage device block size (SDBS) of the storage device.

3. The method according to claim 1 , wherein the record metadata section starts from a location that is aligned to an integer multiple of a storage device block size (SDBS) of the storage device.

4. The method according to claim 1 , wherein the record metadata section is contained within an integer multiple of a storage device block size (SDBS) of the storage device.

5. The method according to claim 1 , further comprising setting the container status mark to unavailable or being updated and extending the container file by adding one or more records to the container file.

6. The method according to claim 5 , further comprising updating the container file metadata section to reflect a new number of records, after adding the one or more records to the container file.

7. The method according to claim 6 , further comprising resetting the status of the container file metadata to available, after updating the container file metadata to reflect the new number of records.

8. The method according to claim 1 , wherein the data file section is an image file section reserved for storing an image, and the file metadata section is an image metadata section reserved for storing metadata about the image, the image metadata section preceding or following the image file section.

9. The method according to claim 8 , wherein the image metadata section includes a time of acquisition of the image, geospatial information about the image, parameters of a sensor device that captured the image, parameters on an environment in which the image is captured, a creation time of the image, geospatial information of the image, a modification time of the image, a file name of the image, or user notes, or any combination of two or more thereof.

10. The method according to claim 9 , wherein parameters of the sensor device that captured the image include elevation, pitch, yaw, or roll, or any combination of two or more thereof, if the sensor device is airborne.

11. The method according to claim 8 , wherein the record metadata section includes a compression parameter of the image, a number of tiles of the image, a size of each tile in the image, a position of each tile in the image, a creation time of the record, a modification time of the record, an application name that created or modified the record, an identification of a computer that created or modified the record, or user notes, or any combination of two or more thereof.

12. The method according to claim 8 , further comprising defining a size of the image file section, a size of the image metadata section, a size of the record metadata section, and a size of the container metadata section using user input parameters.

13. The method according to claim 12 , wherein defining the size of the image file comprises defining the size of the image file according to a size of the image that is anticipated to be stored in the container file.

14. The method according to claim 8 , wherein the container metadata section includes a format of the image stored in the container file, a compression type applied to the image, owner information of the container file, security features for the container file, information about a user that processed the container file, a number of records, or user notes, or any combination of two or more thereof.

15. A method of updating a container file of data files, the container file having a container file metadata section including a container status mark, one or more empty records, each record of the one or more empty records comprising: a data file section reserved for storing a data file, a file metadata section reserved for storing metadata about the data file, and a record metadata section including information about the record and having at least a record status mark indicating that the record is empty, the method being implemented by a computer system that includes one or more processors configured to execute processing operations, the method comprising:

setting the container status mark in the container file metadata section to unavailable or being updated;

setting the record status mark of the one or more empty records to being updated;

writing one or more records containing the data file into the one or more empty records within the container file;

if writing the one or more records is successful, resetting the record status mark to valid after writing the one or more records;

updating the container file metadata to reflect a number of records in the container file; and

resetting the container status mark to available, after updating the container file metadata.

16. The method according to claim 15 , wherein writing the one or more records comprises writing the one or more records sequentially into the one or more empty records within the container file.

17. The method according to claim 15 , wherein writing the one or more records comprises writing the one or more records in parallel into the one or more empty records within the container file.

18. The method according to claim 15 , wherein writing the one or more records comprises writing the one or more records via a distributed computing system.

19. A computer system of managing a container file of data files, the computer system comprising one or more processors configured to:

create a container file having a container file metadata section by creating one or more empty records in a storage device, each record of the one or more empty records comprising:

a data file section reserved for storing a data file,

a file metadata section reserved for storing metadata about the data file,

a record metadata section including information about the record and having at least a record status mark indicating that the record is empty, and

set a container status mark in the container file metadata section to available, after the container file is created.

20. The computer system according to claim 19 , wherein the file metadata section starts from a location that is aligned to an integer multiple of a storage device block size (SDBS) of the storage device, the data file section starts from a location that is aligned to an integer multiple of a storage device block size (SDBS) of the storage device.

21. The computer system according to claim 19 , wherein the record metadata section starts from a location that is aligned to an integer multiple of a storage device block size (SDBS) of the storage device.

22. The computer system according to claim 19 , wherein the record metadata section is contained within an integer multiple of a storage device block size (SDBS) of the storage device.

23. The computer system according to claim 19 , wherein the one or more processors are configured to set the container status mark to unavailable or being updated and extend the container file by adding one or more records to the container file.

24. The computer system according to claim 23 , wherein the one or more processors are configured to update the container file metadata section to reflect a new number of records, after the one or more records are added to the container file.

25. The computer system according to claim 24 , wherein the one or more processors are configured to reset the status of the container file metadata to available, after the container file metadata is updated to reflect the new number of records.

26. The computer system according to claim 19 , wherein the data file section is an image file section reserved for storing an image, and the file metadata section is an image metadata section reserved for storing metadata about the image, the image metadata section preceding or following the image file section.

27. The computer system according to claim 26 , wherein the image metadata section includes a time of acquisition of the image, geospatial information about the image, parameters of a sensor device that captured the image, parameters on an environment in which the image is captured, a creation time of the image, geospatial information of the image, a modification time of the image, a file name of the image, or user notes, or any combination of two or more thereof.

28. The computer system according to claim 27 , wherein parameters of the sensor device that captured the image include elevation, pitch, yaw, or roll, or any combination of two or more thereof, if the sensor device is airborne.

29. The computer system according to claim 26 , wherein the record metadata section includes a compression parameter of the image, a number of tiles of the image, a size of each tile in the image, a position of each tile in the image, a creation time of the record, a modification time of the record, an application name that created or modified the record, an identification of a computer that created or modified the record, or user notes, or any combination of two or more thereof.

30. The computer system according to claim 26 , wherein the one or more processors are configured to define a size of the image file section, a size of the image metadata section, a size of the record metadata section, and a size of the container metadata section using user input parameters.

31. The computer system according to claim 26 , wherein the container metadata section includes a format of the image stored in the container file, a compression type applied to the image, owner information of the container file, security features for the container file, information about a user that processed the container file, a number of records, or user notes, or any combination of two or more thereof.

32. A computer system of managing a container file of data files, the container file having a container file metadata section including a container status mark, one or more empty records, each record of the one or more empty records comprising: a data file section reserved for storing a data file, a file metadata section reserved for storing metadata about the data file, and a record metadata section including information about the record and having at least a record status mark indicating that the record is empty, the computer system comprising one or more processors configured to:

set the container status mark in the container file metadata section to unavailable or being updated;

set the record status mark of the one or more empty records to being updated;

write one or more records containing the data file into the one or more empty records within the container file;

if writing the one or more records is successful, reset the record status mark to valid after writing the one or more records;

update the container file metadata to reflect a number of records in the container file; and

reset the container status mark to available, after the container file metadata is updated.

33. The computer system according to claim 32 , wherein the one or more processors are further configured to write the one or more records sequentially into the one or more empty records within the container file.

34. The computer system according to claim 32 , wherein the one or more processors are further configured to write the one or more records in parallel into the one or more empty records within the container file.

Assignments (11)
SUPERPRIORITY PATENT SECURITY AGREEMENT Recorded Oct 6, 2025
From: CUBIC CORPORATION; CUBIC DEFENSE APPLICATIONS INC.; CUBIC DIGITAL INTELLIGENCE INC.; CUBIC ITS, INC.; CUBIC SECURE COMMUNICATIONS, LLC; CUBIC TOTAL LEARNING PLATFORM, LLC; CUBIC TRANSPORTATION SYSTEMS, INC.; GATR TECHNOLOGIES INC.; NUVOTRONICS INC.
To: BARCLAYS BANK PLC
Reel/Frame 073008/0761 →
RELEASE OF SECURITY INTEREST Recorded Jul 30, 2025
From: ALTER DOMUS (US) LLC
To: CUBIC CORPORATION; CUBIC DEFENSE APPLICATIONS, INC.; CUBIC DIGITAL INTELLIGENCE, INC.
Reel/Frame 072278/0272 →
RELEASE OF SECURITY INTEREST Recorded Jul 30, 2025
From: ALTER DOMUS (US) LLC
To: CUBIC CORPORATION; CUBIC DIGITAL SOLUTIONS LLC; NUVOTRONICS, INC.
Reel/Frame 072281/0176 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 056393/0281 Recorded Jul 28, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: CUBIC CORPORATION; CUBIC DEFENSE APPLICATIONS, INC.; CUBIC DIGITAL SOLUTIONS LLC (FORMERLY PIXIA CORP.)
Reel/Frame 072282/0124 →
SECURITY INTEREST Recorded May 2, 2025
From: CUBIC DEFENSE APPLICATIONS, INC.; CUBIC DIGITAL INTELLIGENCE, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071161/0299 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2024
From: PIXIA CORP.
To: CUBIC DIGITAL INTELLIGENCE, INC.
Reel/Frame 066816/0198 →
SECOND LIEN SECURITY AGREEMENT Recorded May 26, 2021
From: CUBIC CORPORATION; PIXIA CORP.; NUVOTRONICS, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 056393/0314 →
FIRST LIEN SECURITY AGREEMENT Recorded May 26, 2021
From: CUBIC CORPORATION; PIXIA CORP.; NUVOTRONICS, INC.
To: BARCLAYS BANK PLC
Reel/Frame 056393/0281 →
RELEASE OF SECURITY INTEREST Recorded Jun 14, 2019
From: SILICON VALLEY BANK
To: PIXIA CORP.
Reel/Frame 049477/0358 →
SECURITY AGREEMENT Recorded Apr 6, 2016
From: PIXIA CORP.
To: SILICON VALLEY BANK
Reel/Frame 038372/0424 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2015
From: THAKKAR, RAHUL C.; PAKULA, SCOTT L.; ERNST, RUDOLF O.
To: PIXIA CORP.
Reel/Frame 036155/0613 →
Continuity (5)
Continuation 14279785 · May 16, 2014
Continuation 13963727 · Aug 9, 2013
Continuation 13233647 · Sep 15, 2011
Provisional Application 61383566 · Sep 16, 2010
Related Publication 20150324452A1 · Nov 12, 2015