IP Library Granted Patent US 12,271,346
Granted Patent B2
US 12,271,346 · App. 18/400,927 · Granted Apr 8, 2025

Layer mapping

Inventors: Khoa Nguyen Van Ho (Houston, TX); Tejas Yadav (West Haven, CT)
Assignee: Nuvolo Technologies Corporation
G06F16/178G06F16/116G06F16/2365G06T11/60G06T2210/04
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,271,346
App. No.
18/400,927
Granted
Apr 8, 2025
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for performing a layer mapping operation are described. A described technique includes receiving a drawing file comprising a first set of layers. A template that defines one or more protocols that control the layer data value aggregation is selected. A set of data values associated with one or more layers in the first set of layers is aggregated in response to applying at least one of the one or more protocols to the drawing file. A second set of layers is generated using the set of data values. A layer mapping output that specifies a second set of layers is generated. The layer mapping output is provided as an input to an application module of a space management program.

Claims (62)

1. A computer-implemented method comprising:

selecting based on mapping instructions, by a layer mapping module, a template comprising one or more protocols that define operations for extracting a set of data values from drawing layers;

applying, by the layer mapping module, at least one of the one or more protocols to a drawing file to control layer data value aggregation, and to synchronize components of a building while filtering out, by removing from the set of data values, a portion of the set of data values that indicate locations of existent security devices in a respective layer of a first set of layers to prevent access to the locations of the existent security devices in a respective layer of the first set of layers;

generating, using the layer mapping module, a second set of layers using the set of data values, wherein each layer in the second set of layers comprises at least one data value of the set of data values;

generating, using the layer mapping module, a layer mapping output that specifies the second set of layers used to graphically render the components and one or more space elements represented in the second set of layers; and

providing, by the layer mapping module, the layer mapping output as an input to an application module of a space management program.

2. The computer-implemented method of claim 1 , further comprising:

receiving, by the layer mapping module and from a remote computing device, mapping instructions for viewing components of the building;

receiving, by the layer mapping module, the drawing file corresponding to the building, the drawing file comprising the first set of layers; and

extracting a set of data values of one or more layers in the first set of layers in response to applying at least one of the one or more protocols to the drawing file.

3. The computer-implemented method of claim 1 , wherein:

each layer in the second set of layers is associated with a set of inclusion criteria defined by the template, and

aggregating the set of data values comprises applying the at least one of the one or more protocols to the set of data values to determine a subset of data values of the set of data values that meet inclusion criteria in the set of inclusion criteria for at least one of the layers in the second set of layers.

4. The computer-implemented method of claim 3 , wherein generating the second set of layers comprises assigning each of the data values in the subset of data values to a layer in the second set of layers.

5. The computer-implemented method of claim 3 , wherein generating the second set of layers comprises:

determining, for data values in the subset of data values, the one or more space elements as a set of space elements for inclusion in the second set of layers;

obtaining additional data values associated with the one or more space elements in the set of space elements; and

aggregating the subset of data values and the additional data values in accordance with the one or more protocols of the template to generate the second set of layers.

6. The computer-implemented method of claim 1 , wherein aggregating the set of data values comprises aggregating data values corresponding to one or more particular space elements together in a layer of the second set of layers in accordance with the template.

7. The computer-implemented method of claim 1 , wherein aggregating the set of data values comprises aggregating data values corresponding to one or more types of space elements together in a layer of the second set of layers in accordance with the template.

8. The computer-implemented method of claim 1 , wherein aggregating the set of data values comprises aggregating data values corresponding to space elements located in a particular location or in a defined area.

9. The computer-implemented method of claim 1 , wherein aggregating the set of data values comprises aggregating data values corresponding to space elements associated with a particular user or group of users.

10. The computer-implemented method of claim 1 , wherein the components comprise electrical components or plumbing components.

11. The computer-implemented method of claim 1 , wherein selecting the template that defines the one or more protocols comprises:

identifying one or more attributes of a design model; and

selecting the template from a plurality of templates based on the one or more attributes.

12. The computer-implemented method of claim 1 , wherein selecting the template that defines the one or more protocols comprises:

determining a security level of an end-user that is to have access to a visual rendering generated using the layer mapping output; and

based on the security level of the end-user, selecting the template from a plurality of templates.

13. The computer-implemented method of claim 1 , wherein a first number of layers in the first set of layers is greater than a second number of layers in the second set of layers.

14. The computer-implemented method of claim 1 , wherein a data size corresponding to the first set of layers is greater than an additional data size corresponding to the second set of layers.

15. The computer-implemented method of claim 1 , wherein:

a single layer in the second set of layers comprises data values corresponding to a plurality of space elements, and

a plurality of layers in the first set of layers comprise the set of data values corresponding to the plurality of space elements such that no layer in the first set of layers comprises the set of data values corresponding to the plurality of space elements.

16. The computer-implemented method of claim 1 , wherein first set of layers correspond to at least one of:

a floor plan of a property,

an interior wall of the property,

an exterior wall of the property,

a room of the property,

an interior area of the property,

the locations of a plurality of security devices of the property, the plurality of security devices comprising security cameras,

capabilities of Wi-Fi hotspots in the property, or

types of furniture in the property.

17. The computer-implemented method of claim 1 , wherein receiving the drawing file comprises receiving a computer-aided design document.

18. The computer-implemented method of claim 1 , wherein receiving the drawing file comprises:

generating a request for the drawing file in response to detecting an event corresponding to the drawing file; and

transmitting the request for the drawing file to an external computing system.

19. A system comprising:

a processor; and

a computer-readable storage medium coupled with the processor, wherein the computer-readable storage medium comprises a program for execution by the processor, the program comprising instructions which, when executed by the processor, cause the processor to perform operations comprising:

selecting, by a layer mapping module, based on the mapping instructions, a template comprising one or more protocols that define actions for extracting a set of data values from drawing layers;

applying, by the layer mapping module, at least one of the one or more protocols to a drawing file to control layer data value aggregation, and to synchronize components of a building while filtering out, by removing from the set of data values, a portion of the set of data values that indicate locations of existent security devices in a respective layer of a first set of layers to prevent access to the locations of the existent security devices in a respective layer of the first set of layers;

generating, using the layer mapping module, a second set of layers using the set of data values, wherein each layer in the second set of layers comprises at least one data value of the set of data values;

generating, using the layer mapping module, a layer mapping output that specifies the second set of layers used to graphically render the components and one or more space elements represented in the second set of layers; and

providing the layer mapping output as an input to an application module of a space management program.

20. A non-transitory computer-readable storage medium comprising a program for execution by a processor of a device, the program comprising instructions which, when executed by the processor, cause the device to perform operations comprising:

selecting, by the processor, based on the mapping instructions, a template comprising one or more protocols that define actions for extracting a set of data values from drawing layers;

applying, by the processor, at least one of the one or more protocols to a drawing file to control layer data value aggregation, and to synchronize components of a building while filtering out, by removing from the set of data values, a portion of the set of data values that indicate locations of existent security devices in a respective layer of the first set of layers to prevent access to the locations of the existent security devices in a respective layer of the first set of layers;

aggregating, using the processor, the set of data values associated with one or more of the layers in the first set of layers;

generating, using the processor, a second set of layers using the set of data values, wherein each layer in the second set of layers comprises at least one data value of the set of data values;

generating, using the processor, a layer mapping output that specifies the second set of layers used to graphically render the components and one or more space elements represented in the second set of layers; and

providing the layer mapping output as an input to an application module of a space management program.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2024
From: HI, KHOA NGUYEN VAN; YADAV, TEJAS
To: NUVOLO TECHNOLOGIES CORPORATION
Reel/Frame 066954/0190 →
Continuity (4)
Continuation 17345794 · Jun 11, 2021
Provisional Application 63134949 · Jan 7, 2021
Provisional Application 63134892 · Jan 7, 2021
Related Publication 20240241862A1 · Jul 18, 2024
References Cited (53)
US 6341291B1 · Bentley et al. · 2002 [cited by applicant]
US 8155943B2 · Nasle · 2012 [cited by applicant]
US 8447782B1 · Vipul et al. · 2013 [cited by applicant]
US 8818769B2 · Trainer et al. · 2014 [cited by applicant]
US 9454623B1 · Kaptsan · 2016 [cited by applicant]
US 10121286B2 · Alsaffar et al. · 2018 [cited by applicant]
US 10445438B1 · Motonaga et al. · 2019 [cited by applicant]
US 10937033B1 · Rodriguez et al. · 2021 [cited by applicant]
US 20070186160A1 · McArdle et al. · 2007 [cited by applicant]
US 20070226314A1 · Eick et al. · 2007 [cited by applicant]
US 20080016472A1 · Rohlf et al. · 2008 [cited by applicant]
US 20080172605A1 · Smith · 2008 [cited by applicant]
US 20100169272A1 · Labatte et al. · 2010 [cited by applicant]
US 20140063058A1 · Fialho et al. · 2014 [cited by applicant]
US 20150106325A1 · Cole et al. · 2015 [cited by applicant]
US 20150293941A1 · Eichhorn · 2015 [cited by applicant]
US 20150379957A1 · Roegelein et al. · 2015 [cited by applicant]
US 20160246899A1 · Hirschtick et al. · 2016 [cited by applicant]
US 20160328421A1 · Sarratori et al. · 2016 [cited by applicant]
US 20170147717A1 · Chen et al. · 2017 [cited by applicant]
US 20170303187A1 · Crouthamel · 2017 [cited by examiner]
US 20180052832A1 · Anglin et al. · 2018 [cited by applicant]
US 20180113878A1 · Duggal et al. · 2018 [cited by applicant]
US 20190213287A1 · Ye et al. · 2019 [cited by applicant]
US 20190228020A1 · Sawatzky et al. · 2019 [cited by applicant]
US 20200285514A1 · Ghare et al. · 2020 [cited by applicant]
US 20200351337A1 · Calmon et al. · 2020 [cited by applicant]
US 20200401593A1 · Panuganty et al. · 2020 [cited by applicant]
US 20210049280A1 · Koshy et al. · 2021 [cited by applicant]
US 20210073449A1 · Segev et al. · 2021 [cited by applicant]
US 20210303763A1 · Hartfiel · 2021 [cited by examiner]
US 20210303849A1 · Dubroy · 2021 [cited by examiner]
US 20210383037A1 · Segev et al. · 2021 [cited by applicant]
US 20220067454A1 · Gupta et al. · 2022 [cited by applicant]
US 20220092225A1 · Parker et al. · 2022 [cited by applicant]
US 20220092834A1 · Ye et al. · 2022 [cited by applicant]
US 20220171892A1 · Ho et al. · 2022 [cited by applicant]
US 20220171893A1 · Ye et al. · 2022 [cited by applicant]
US 20220188472A1 · Parker · 2022 [cited by applicant]
US 20220206445A1 · Reichl et al. · 2022 [cited by applicant]
US 20220206856A1 · Parker · 2022 [cited by applicant]
US 20220214999A1 · Yadav et al. · 2022 [cited by applicant]
Chen et al. (2019) “Floor-SP: Inverse CAD for Floorplans by Sequential Room-wise Shortest Path”, IEEE International Conference on Computer Vision (ICCV), 10 pages. [cited by applicant]
Condie et al. (2010) “Online Aggregation and Continuous Query Support in Mapreduce”, SIGMOD'10, 1115-1118. [cited by applicant]
Ekanayake et al. (2008) “MapReduce for Data Intensive Scientific Analysis”, Fourth IEEE International Conference on eScience, 277-284 Pages. [cited by applicant]
github.com (Aug. 17, 2020) “Deepzoom (PHP Library)”, Daniel-KM Library Deepzoom, retrieved on Aug. 17, 2020, retrieved from URL: https://github.com/Daniel-KW /LibrarvDeepzoom, 4 pages. [cited by applicant]
github.com (Aug. 17, 2020) “TiledSharp”, Marshallward/TiledSharp, retrieved on Aug. 17, 2020, retrieved from URL: https://github.com/marshallward/TiledSham, 4 pages. [cited by applicant]
Muller et al. (2006) “Procedural Modeling of Buildings”, Association for Computing Machinery, Inc, 25(3):614-623. [cited by applicant]
stackexchange.com (Jun. 2, 2020) “If Geographic Coordinates are Unprojected Coordinates, How Can GIS Soft Wares Display Such Unprojected Data in a Plane?”, Geographic Information Systems Geographic Information Systems, … [cited by applicant]
Wikipedia (2020) “Map Projection”, https://en.wikipedia.org/w/index.php?title=Map projection&oldid=955953903, 16 pages. [cited by applicant]
Wikipedia (2020) “Spatial Reference System”, https://en.wikipedia.org/w/index.php?title=Spatial_reference_system&oldid=956142752, 4 pages. [cited by applicant]
Wikipedia (2020) “Tiled Web Map”, https://en.wikipedia.org/wiki/Tiled_web_map, 3 pages. [cited by applicant]
Zhu et al. (Dec. 19, 2013) “A New Reconstruction Method for 3D Buildings From 2D Vector Floor Plan”, HAL Open Science, 1-14(15 pages). [cited by applicant]