[go: up one dir, main page]

WO2025196809A1 - System and method for managing building data - Google Patents

System and method for managing building data

Info

Publication number
WO2025196809A1
WO2025196809A1 PCT/IN2025/050301 IN2025050301W WO2025196809A1 WO 2025196809 A1 WO2025196809 A1 WO 2025196809A1 IN 2025050301 W IN2025050301 W IN 2025050301W WO 2025196809 A1 WO2025196809 A1 WO 2025196809A1
Authority
WO
WIPO (PCT)
Prior art keywords
tile
viewport
details
data storage
building data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/IN2025/050301
Other languages
French (fr)
Inventor
Pradeep Kumar Bhatnagar
Aayush Bhatnagar
Sandeep Rawat
Haresh Ambaliya
Aditya Sharma
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jio Platforms Ltd
Original Assignee
Jio Platforms Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jio Platforms Ltd filed Critical Jio Platforms Ltd
Publication of WO2025196809A1 publication Critical patent/WO2025196809A1/en
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Definitions

  • a portion of the disclosure of this patent document contains material, which is subject to intellectual property rights such as, but are not limited to, copyright, design, trademark, Integrated Circuit (IC) layout design, and/or trade dress protection, belonging to Jio Platforms Limited (JPL) or its affiliates (hereinafter referred as owner).
  • JPL Jio Platforms Limited
  • owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights whatsoever. All rights to such intellectual property are fully reserved by the owner.
  • the embodiments of the present disclosure generally relate to communication networks.
  • the present disclosure relates to a system and a method for managing building data.
  • Tile ID Used hereinafter in the specification refers to a unique identifier assigned to a specific geographic area within a larger dataset, often used in web mapping systems.
  • Viewport Details used hereinafter in the specification refers to information about the visible area on a user’s map, typically encompassing the top left corner coordinates, bottom right corner coordinates and zoom level.
  • zoom levels refers to the varying scales of detail at which a map or geographic area can be viewed and analyzed, typically determined by the level of magnification applied to the map.
  • Microservice used hereinafter in the specification refers to a small, independent service within a larger software application. Each microservice has a specific function and communicates with other microservices to achieve a larger task.
  • distributed data storage refers to a data storage system where data is spread across multiple servers or locations for improved scalability and fault tolerance.
  • building data refers to building information such as building category (government, residential, or commercial), building type, availability of fiber, building name, size, availability of fiber, number of floors, building ID, and more.
  • An object of the present disclosure is to provide a system and a method for storing and visualizing high-volume building data.
  • Another object of the present disclosure is to provide the system and the method for storing and visualizing large-scale building data on a user interface.
  • Another object of the present disclosure is to provide the system and the method that ensures that only the necessary data is fetched and displayed according to the current map view of the user.
  • Another object of the present disclosure is to provide the system and the method to improve data access and user experience on web-based platforms.
  • Another object of the present disclosure is to provide the system and the method ensuring that only new or modified polygons are processed and associated with their respective Tile identifier (IDs), thereby optimizing data maintenance, and minimizing processing overhead.
  • IDs Tile identifier
  • Another object of the present disclosure is to provide the system and the method to visualize building data, particularly for higher zoom levels, facilitating quick and easy access to detailed building information such as building category, type, availability of fiber, size, and number of floors.
  • Another object of the present disclosure is to provide the system and the method to enhance the user experience by providing the user interface that allows users to view and interact with building data seamlessly as they pan and zoom the map.
  • a method for managing building data includes receiving, by a user interface (UI), an application program interface (API) request, wherein the API request includes viewport details, transmitting, by the UI, the API request to one or more web servers through a load balancer, forwarding, by the one or more web servers, the API request to a microservice server, extracting, by the microservice server, the viewport details from the API request and converting the viewport details to one or more tile identifiers (Tile IDs), transmitting, by the microservice server, the viewport details to a distributed data storage, retrieving, by the distributed data storage, the building data using the one or more Tile ID(s) and transmitting, by the distributed data storage, the retrieved building data to the microservice server.
  • UI user interface
  • API application program interface
  • the method further includes transmitting, by the microservice server, the retrieved building data to the one or more application servers, transmitting, by the one or more application servers, the retrieved building data to the one or more web servers and transmitting, by the one or more web servers, the retrieved building data to the UI.
  • the viewport details include top left corner coordinates, bottom right corner coordinates and one or more zoom levels one or more zoom levels.
  • the method further includes storing by the distributed data storage, the building data associated with the one or more Tile ID(s) for the one or more zoom levels, wherein each building is associated with the one or more Tile ID(s) and the one or more zoom levels and each row key in the distributed data storage is identified by a combination of a Tile ID and a zoom level.
  • the method further includes receiving, by the distributed data storage, a query from the microservice server, wherein the query including the one or more Tile ID(s) corresponding to the viewport details and retrieving, by the distributed data storage, the building data associated with the query, wherein the retrieving is performed by identifying the row key corresponding to the queried Tile ID(s) and the zoom level.
  • the distributed data storage is updated periodically to store the building data associated with the one or more Tile ID(s) for the plurality of zoom levels.
  • a system for managing building data includes a user interface (UI) configured to receive an application program interface (API) request, wherein the API request includes viewport details.
  • the user interface (UI) is configured to transmit the API request to one or more web servers through a load balancer.
  • the one or more web servers are configured to forward the API request to a microservice server.
  • the microservice server is configured to extract the viewport details from the API request and converting the viewport details to one or more tile identifiers (Tile IDs).
  • the microservice server is configured to transmit the viewport details to a distributed data storage.
  • the distributed data storage is configured to retrieve the building data using the one or more Tile ID(s) and the distributed data storage is configured to transmit the retrieved building data to the microservice server.
  • the microservice server is configured to transmit the retrieved building data to the one or more application servers, the one or more application servers are configured to transmit the retrieved building data to the one or more web servers and the one or more web servers are configured to transmit the retrieved building data to the user interface (UI).
  • UI user interface
  • the viewport details include top left corner coordinates, bottom right corner coordinates and one or more zoom levels one or more zoom levels.
  • the distributed data storage is configured to store the building data associated with the one or more Tile ID(s) for the one or more zoom levels, wherein each building is associated with the one or more Tile ID(s) and the one or more zoom levels and each row key in the distributed data storage is identified by a combination of a Tile ID and a zoom level.
  • the distributed data storage is configured to receive a query from the microservice server, wherein the query including the one or more Tile ID(s) corresponding to the viewport details and retrieve the building data associated with the query, wherein the retrieving is performed by identifying the row key corresponding to the queried Tile ID(s) and the zoom level.
  • the distributed data storage is updated periodically to store the building data associated with the one or more Tile ID(s) for the plurality of zoom levels.
  • a user equipment that is communicatively coupled with a network.
  • the coupling comprises of steps of receiving, by a user interface (UI), an application program interface (API) request, wherein the API request includes viewport details, transmitting, by the UI, the API request to one or more web servers through a load balancer, forwarding, by the one or more web servers, the API request to a microservice server, extracting, by the microservice server, the viewport details from the API request and converting the viewport details to one or more tile identifiers (Tile IDs), transmitting, by the microservice server, the viewport details to a distributed data storage, retrieving, by the distributed data storage, the building data using the one or more Tile ID(s) and transmitting, by the distributed data storage, the retrieved building data to the microservice server.
  • UI user interface
  • API application program interface
  • a computer program product comprising a non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform a method for managing building data.
  • the method comprises receiving, by a user interface (UI), an application program interface (API) request, wherein the API request includes viewport details, transmitting, by the UI, the API request to one or more web servers through a load balancer, forwarding, by the one or more web servers, the API request to a microservice server, extracting, by the microservice server, the viewport details from the API request and converting the viewport details to one or more tile identifiers (Tile IDs), transmitting, by the microservice server, the viewport details to a distributed data storage, retrieving, by the distributed data storage, the building data using the one or more Tile ID(s) and transmitting, by the distributed data storage, the retrieved building data to the microservice server.
  • Tile IDs tile identifiers
  • FIG. 1 illustrates an exemplary network architecture for managing building data, in accordance with embodiments of the present disclosure.
  • FIG. 2 illustrates a block diagram of a system for managing building data in accordance with embodiments of the present disclosure.
  • FIG. 3 illustrates an example flow diagram of a method for managing building data in accordance with embodiments of the present disclosure.
  • FIG. 4 illustrates an example system architecture of the system for managing building data in accordance with embodiments of the present disclosure.
  • FIG. 5 illustrates an example of a user interface for visualization of the building data in accordance with an embodiment of the present disclosure.
  • FIG. 6 illustrates another flow diagram of a method for managing building data in accordance with embodiments of the present disclosure.
  • FIG. 7 illustrates an exemplary computer system in which or with which the system may be implemented in accordance with an embodiment of the present disclosure.
  • individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged.
  • a process is terminated when its operations are completed but could have additional steps not included in a figure.
  • a process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.
  • exemplary and/or “demonstrative” is used herein to mean serving as an example, instance, or illustration.
  • the subject matter disclosed herein is not limited by such examples.
  • any aspect or design described herein as “exemplary” and/or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art.
  • the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising” as an open transition word without precluding any additional or other elements.
  • the present disclosure relates to a system and a method for managing building data stored in a distributed data storage system using tile identification (ID).
  • ID tile identification
  • FIG. 1 illustrates an exemplary network architecture for managing building data, in accordance with embodiments of the present disclosure.
  • the network architecture (100) may include one or more computing devices or user equipments (104-1, 104-2...104-N) associated with one or more users (102-1, 102-2...102-N) in an environment.
  • a person of ordinary skill in the art will understand that one or more users (102-1, 102-2...102- N) may be individually referred to as the user (102) and collectively referred to as the users (102).
  • one or more user equipments (104-1, 104-2. . . 104- N) may be individually referred to as the user equipment (104) and collectively referred to as the user equipment (104).
  • each of the user equipment (104) may have a first unique identifier attribute associated therewith.
  • the first unique identifier attribute may be indicative of Mobile Station International Subscriber Directory Number (MSISDN), International Mobile Equipment Identity (IMEI) number, International Mobile Subscriber Identity (IMSI), Subscriber Permanent Identifier (SUPI) and the like.
  • the user equipment (104) may include smart devices operating in a smart environment, for example, an Internet of Things (loT) system.
  • the user equipment (104) may include but is not limited to, smartphones, smart watches, smart sensors (e.g., mechanical, thermal, electrical, magnetic, etc.), networked appliances, networked peripheral devices, networked lighting system, communication devices, networked vehicle accessories, networked vehicular devices, smart accessories, tablets, smart television (TV), computers, smart security system, smart home system, other devices for monitoring or interacting with or for the users (102) and/or entities, or any combination thereof.
  • smartphones such an embodiment, the user equipment (104) may include but is not limited to, smartphones, smart watches, smart sensors (e.g., mechanical, thermal, electrical, magnetic, etc.), networked appliances, networked peripheral devices, networked lighting system, communication devices, networked vehicle accessories, networked vehicular devices, smart accessories, tablets, smart television (TV), computers, smart security system, smart home system, other devices for monitoring or interacting with or for the
  • the user equipment (104) may include, but is not limited to, intelligent, multi-sensing, network-connected devices that can integrate seamlessly with each other and/or with a central server or a cloud-computing system or any other device that is network-connected.
  • the user equipment (104) may include, but is not limited to, a handheld wireless communication device (e.g., a mobile phone, a smartphone, a phablet device, and so on), a wearable computer device (e.g., a headmounted display computer device, a head-mounted camera device, a wristwatch computer device, and so on), a Global Positioning System (GPS) device, a laptop computer, a tablet computer, or another type of portable computer, a media playing device, a portable gaming system, and/or any other type of computer device with wireless communication capabilities, and the like.
  • a handheld wireless communication device e.g., a mobile phone, a smartphone, a phablet device, and so on
  • a wearable computer device e.g., a headmounted display computer device, a head-mounted camera device, a wristwatch computer device, and so on
  • GPS Global Positioning System
  • the user equipment (104) may include but is not limited to, any electrical, electronic, electromechanical, or an equipment, or a combination of one or more of the above devices such as virtual reality (VR) devices, augmented reality (AR) devices, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, mainframe computer, or any other computing device, wherein the user equipment (104) may include one or more in-built or externally coupled accessories including, but not limited to, a visual aid device such as a camera, an audio aid, a microphone, a keyboard, and input devices for receiving input from the user (102) or the entity such as touchpad, touch-enabled screen, electronic pen, and the like.
  • a visual aid device such as a camera, an audio aid, a microphone, a keyboard, and input devices for receiving input from the user (102) or the entity such as touchpad, touch-enabled screen, electronic pen, and the like.
  • the user equipment (104) may not be restricted to the mentioned devices and various other devices may be used.
  • the user equipment (104) may communicate with a system (108) via a network (106).
  • the UE (104) may be communicatively coupled with the network (106).
  • the communicative coupling comprises receiving, from the UE (104), a connection request by the network (106), sending an acknowledgment of the connection request to the UE (104), and transmitting a plurality of signals in response to the connection request.
  • the network (106) may include at least one of a Fifth Generation (5G) network, a Sixth Generation (6G) network, or the like.
  • the network (106) may enable the user equipment (104) to communicate with other devices in the network architecture (100) and/or with the system (108).
  • the network (106) may include a wireless card or some other transceiver connection to facilitate this communication.
  • the network (106) may be implemented as or include any of a variety of different communication technologies such as a wide area network (WAN), a local area network (LAN), a wireless network, a mobile network, a Virtual Private Network (VPN), the Internet, the Public Switched Telephone Network (PSTN), or the like.
  • WAN wide area network
  • LAN local area network
  • VPN Virtual Private Network
  • PSTN Public Switched Telephone Network
  • the system (108) may be designed and configured for the termination of sessions.
  • the system (108) may optimize the number of sessions maintained to fulfill requests for service from the UEs (104).
  • FIG. 1 shows exemplary components of the network architecture (100), in other embodiments, the network architecture (100) may include fewer components, different components, differently arranged components, or additional functional components than depicted in FIG. 1. Additionally, or alternatively, one or more components of the network architecture (100) may perform functions described as being performed by one or more other components of the network architecture (100).
  • FIG. 2 illustrates a block diagram (200) of the system (108) for managing building data, in accordance with embodiments of the present disclosure.
  • the system (108) may include one or more processor(s) (202).
  • the one or more processor(s) (202) may be implemented as one or more microprocessors, microcomputers, microcontrollers, edge or fog microcontrollers, digital signal processors, central processing units, logic circuitries, and/or any devices that process data based on operational instructions.
  • the one or more processor(s) (202) may be configured to fetch and execute computer-readable instructions stored in a memory (204) of the system (108).
  • the memory (204) may be configured to store one or more computer- readable instructions or routines in a non-transitory computer-readable storage medium, which may be fetched and executed to create or share data packets over a network service.
  • the memory (204) may include any non-transitory storage device including, for example, volatile memory such as Random Access Memory (RAM), or non-volatile memory such as Erasable Programmable Read-Only Memory (EPROM), flash memory, and the like.
  • RAM Random Access Memory
  • EPROM Erasable Programmable
  • the system (108) may include an interface(s) (206) that may interchangeably be referred to as a User Interface (UI) (206).
  • the interface (206) may also be referred to as a web platform or a web portal (302 as provided in FIG. 3).
  • the interface(s) (206) may include a variety of interfaces, for example, interfaces for data input and output devices, referred to as RO devices, storage devices, and the like.
  • the interface(s) (206) may facilitate communication to/from the system (108).
  • the interface(s) (206) may also provide a communication pathway for one or more components of the system (108). Examples of such components include but are not limited to, processing engine(s) (208) and a database (210).
  • the processing engine(s) (208) may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processing engine(s) (208).
  • programming for the processing engine(s) (208) may be processorexecutable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processing engine(s) (208) may include a processing resource (for example, one or more processors), to execute such instructions.
  • the machine-readable storage medium may store instructions that, when executed by the processing resource, implement the processing engine(s) (208).
  • system (108) may include the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine-readable storage medium may be separate but accessible to the system (108) and the processing resource.
  • processing engine(s) (208) may be implemented by electronic circuitry.
  • the present disclosure relates to the system (108) for managing building data.
  • the system (108) ensures efficient processing and accessibility through a well-defined set of components and processes.
  • the processing engine (208) serves as the central unit responsible for handling data requests and processing them. Further the processing engine (208) is connected the user interface (UI) (206), which acts as the interaction point for users, typically accessed through a web portal.
  • UI user interface
  • the request is sent as an API call.
  • the API request is transmitted to a web server, including the current viewport details of the user (102), such as top left corner coordinates, bottom right corner coordinates and the zoom level.
  • the top left corner coordinates and the bottom right corner coordinates may be latitude and longitude, as they are commonly used to define a rectangular geographic area.
  • the building data includes building information such as building category (government, residential, or commercial), building type, building name, size, availability of fiber, number of floors, building ID, and more.
  • the API call is transmitted through a load balancer that may distribute incoming requests evenly across one or more web servers, thereby preventing any single server from becoming overloaded.
  • the load balancer may forward the API request to one or more web servers.
  • the one or more web servers are responsible for the initial handling and routing of the request, ensuring the API request reaches the appropriate processing engine within the system (108).
  • the one or more web servers upon receiving the API request, forward it to a microservice server.
  • the microservice server extracts viewport details, such as the top left corner coordinates, the bottom right corner coordinates and the zoom level, from the API request.
  • the viewport details are then converted into one or more tile identifiers (Tile IDs), which correspond to specific sections of the map at various zoom levels.
  • the Tile ID(s) are unique identifiers for tile(s) which covers a specific geographic area within a larger dataset used in web mapping systems.
  • a viewport might have dimensions of 800 pixels wide by 600 pixels high, a zoom level of 5, and geographical boundaries spanning from the top-left corner (latitude 40.748817, longitude -73.985428, representing City A) to the bottom-right corner (latitude 37.774929, longitude -122.419416, representing City B).
  • the viewport covers the area between these two cities A and B, and the map system divides it into tiles, each assigned a unique identifier (Tile ID) based on its coordinates and zoom level.
  • the viewport details are crucial for rendering only the visible tiles efficiently, optimizing performance and resource usage.
  • the microservice server transmits the converted viewport details, now in the form of the one or more Tile ID(s), to a distributed data storage system.
  • the distributed data storage refers to a storage system that manages and stores data across multiple servers or nodes, often located in different geographic locations.
  • the distributed data storage may be an H-Base database deployed across multiple servers.
  • the distributed data storage system allows efficient storage and retrieval of the building data by using a distributed file system.
  • the distributed data storage retrieves the requested building data using the one or more Tile ID(s) and zoom levels as keys.
  • the distributed data storage sends it back to the microservice server for further processing.
  • the retrieved building data is transmitted back through one or more application servers and the one or more web servers to the web portal. This ensures that the data is delivered efficiently to the user interface, ready for user access and interaction.
  • the UI displays the retrieved building data, allowing users to visualize and interact with the building data seamlessly.
  • the display functionality is crucial for providing a user-friendly experience, enabling users to explore and analyze the geographic information effectively.
  • the distributed data storage is configured to store building data associated with the one or more Tile ID(s) for corresponding zoom levels. Each building is mapped to the one or more Tile ID(s) and zoom levels, ensuring identification and retrieval of data.
  • the distributed data storage utilizes row keys.
  • the row key is a combination of attributes that uniquely identifies a specific entry or dataset. Each row key is uniquely identified by a combination of a Tile ID and a zoom level. This configuration enables efficient data management and retrieval, allowing for accurate mapping and visualization of building information across varying zoom levels.
  • the distributed data storage is configured to receive a query from the microservice server.
  • the query received from the microservice server is a request containing the one or more Tile ID(s) corresponding to the viewport details, used to retrieve building data associated with the one or more Tile ID(s) and zoom level.
  • the distributed data storage retrieves the building data associated with the one or more Tile ID(s) by identifying the row key that corresponds to the queried one or more Tile ID(s) and the associated zoom level. The process ensures accurate and efficient retrieval of the requested building data, facilitating data visualization and interaction on the user interface.
  • the distributed data storage is periodically updated to store new building data associated with the one or more Tile ID(s) and zoom levels.
  • the updates ensure that the system (108) remains current and accurate, providing the user (102) with the most up-to-date geographic information available.
  • the database (210) may include data that may be either stored or generated as a result of functionalities implemented by any of the components of the processor (202) or the processing engines (208). In an embodiment, the database (210) may be separate from the system (108). In an embodiment, the database (210) may be indicative of including, but not limited to, a relational database, a distributed database, a cloud-based database, or the like.
  • FIG. 3 depicts an exemplary flow diagram (300) with steps illustrating the process of managing building data in accordance with an embodiment of the present disclosure.
  • step 310 when the user (102) logs into a web portal (application) (302) on the UI (206), the user (102) may select the layers section to access the building data. Once a layer from the layers is selected, the layer gets enabled on the UI (206), and an API call for building data (request) is transmitted to a web server that may also be referred to as web application container(s) (304).
  • the API request includes current viewport details of the user (102), which comprise the extent of the current map view along with the zoom level details.
  • the API request is forwarded to the microservice server (306) from the web server (304) as a microservice call.
  • the microservice server (306) processes the API request from one or more web servers (304), extract viewport details from application program interface (API) requests, and perform operations such as converting viewport details into corresponding tile identifiers (Tile IDs). For example, when the user (102) pans or zooms on a building layer map displayed on the UI (206), the microservice server (306) receives the viewport details, via the API request from the web server (304).
  • the microservice server (306) processes the viewport details to compute the Tile ID that map to the area of interest.
  • the one or more Tile ID(s) are then used to query the distributed data storage (308) to fetch relevant building information.
  • the microservice server (306) then transmits a data fetch request using the one or more Tile ID(s) to a distributed data storage (308).
  • the distributed data storage (308) is queried using the tile ID as a row key.
  • the building data, already stored in the distributed data storage (308) using the tile ID and zoom level as row keys, is accessed efficiently based on these identifiers.
  • the building data is retrieved from the distributed data storage (308) and transmitted back to the microservice server (306).
  • the retrieved building data is transmitted back to the web portal (302) through the application servers and the one or more web servers (304) to facilitate display of the data to the user (102).
  • the microservice server (306) sends a response message (containing the retrieved building data) to the web application container (304).
  • the web application container (304) subsequently transmits the fetched data (containing the retrieved building data) to the user (102). Once the building data is available on the web browser, it is plotted on the UI (206) of the web portal (302).
  • the distributed data storage (308) is periodically updated with any new building data, and only the one or more Tile ID(s) for incremental building polygons need to be updated.
  • the distributed data storage (308) ensures that every building is associated with and tagged to the one or more Tile ID(s) for each zoom level.
  • the middleware API for the UI (206) is designed to request data on a tile ID basis, with the building data stored in the distributed data storage (308) where the one or more Tile ID(s) serves as the row key (primary identifier).
  • FIG. 4 illustrates an exemplary system (400) for managing building data in accordance with an embodiment of the present disclosure.
  • the system (400) facilitates user interaction with the building data visualization system through the web portal (302) and enables data retrieval from the distributed data storage (308).
  • the web portal (302) serves as the UI (206) where the user (102) can select the layers section to access the building data.
  • the user (102) can select the layers section to access the building data.
  • a layer gets enabled on the UI (206), and the API call (request) is transmitted to one or more web servers (304) through the load balancer (402).
  • the load balancer (402) may be provided between the web portal (302) and the one or more web servers (304), ensuring that incoming data requests are evenly distributed. The distribution helps prevent any single service instance from becoming overloaded.
  • the load balancer (402) transfers the API requests to the one or more web servers (304).
  • the one or more web servers (304) then transmit the API requests to one or more application servers (404) responsible for processing the requests.
  • the one or more web servers (304) ensure the data is properly structured and compatible with the front-end requirements of the user interface (UI) (206).
  • the one or more web servers (304) may also compress the building data, implement caching mechanisms to optimize load times, and ensure secure data transmission through HTTPS protocols.
  • the one or more web servers (304) deliver this information in the form of JSON or XML files optimized for quick rendering on a browser or application.
  • the one or more application servers (404) are configured to act as intermediaries between the microservice server (306) and the one or more web servers (304).
  • the one or more application servers (404) are responsible for processing, managing, and routing the retrieved building data efficiently. For example, when the microservice server (306) retrieves building data based on the queried one or more Tile ID(s) and zoom level, the one or more application servers (404) perform additional processing tasks, such as data transformation, formatting, or filtering, as required for the user interface (UI) (206).
  • the application servers (404) may aggregate this information or convert it into a format compatible with the one or more web servers (304) so that the building data is optimized before being transmitted to the one or more web servers (304) for subsequent delivery to the UI (206).
  • the one or more application servers (404) may handle the incoming API requests and forward them to the microservice servers (306).
  • the microservice servers (306) are crucial in converting user viewport details into map the one or more Tile ID(s) and handling the data fetch requests. Once the data fetch request is prepared, the microservice servers (306) forward the request to the distributed data storage (308)
  • the distributed data storage (308) is queried using the one or more Tile ID(s) as a row key, allowing for efficient retrieval of building data.
  • the microservice servers (306) After retrieving the building data, the microservice servers (306) transmit the requested data back through the one or more application servers (404) and the one or more web servers (304), eventually delivering it to the web portal (302). This retrieved data is then plotted on the UI (206), providing the user (102) with the visualized building footprint data they requested.
  • FIG. 5 illustrates an example of a user interface (UI) (206) for displaying or visualizing the building data in accordance with an embodiment of the present disclosure.
  • the user (102) may open a building layer in the web portal (302) for any specified location.
  • a middleware application programming interface (API) requests are generated request to display buildings on a map layer.
  • these API requests are transmitted with to the web server (304) along with viewport details.
  • API application programming interface
  • the viewport details are then converted into the one or more Tile ID(s) in the backend. Based on the one or more Tile ID(s), a query is sent to the distributed data storage (308) to retrieve the building data. The retrieved data is then returned to the web portal (302) of the UI (206) in the API response message.
  • FIG. 6 illustrates a method (600) for managing building data, in accordance with embodiments of the present disclosure.
  • the method (600) includes receiving, by a web portal (302) on a user interface (UI) (206), an application program interface (API) request to access building data, wherein the API request includes viewport details.
  • the viewport details include top left corner coordinates, bottom right corner coordinates on the UI and one or more zoom levels.
  • the API request is received from the UI (206) through a web portal (302).
  • the API request essentially functions as a message from the web browser indicating that the user (102) has to access specific building data.
  • the UI (206) may capture this interaction and generate the API request.
  • the API request includes details about the user session, such as the current viewport of the map, which indicates the geographical area and zoom level the user (102) is interested in.
  • the user (102) opens the web portal (302) to view real estate properties within a specific city.
  • the user (102) navigates to a particular neighbourhood and zoom in to see more detailed information.
  • the UI (206) captures this action and formulates the API request specifying the geographical bounds of the viewport and the zoom level.
  • the API request includes details about which layer the user has selected. Different layers can represent various types of data, such as buildings, roads, or utilities, and the system (108) may retrieve the appropriate data based on this selection.
  • the method (600) includes transmitting, by the UI (206), the API request to one or more web servers (304) through a load balancer (402).
  • the API request is sent from the UI (206) on the web portal (302).
  • the API request is routed through a load balancer (402) to distribute incoming requests.
  • the load balancer (402) acts as an intermediary that distributes the traffic evenly across the one or more web servers (304), preventing any single server from becoming a bottleneck.
  • the method (600) includes forwarding, by the one or more web servers (304), the API request to a microservice server (306).
  • the one or more web servers (304) receive the API request from the load balancer (402) and forward it to microservice server (306) through one or more application servers (404).
  • the one or more application servers (404) may process the API request. This might involve extracting relevant information or performing additional checks before sending it onward.
  • the one or more application servers (404) may perform initial processing or validation on the API request before sending it further.
  • the one or more application servers (404) are responsible for processing the business logic associated with the request. This tier handles tasks such as user authentication, request validation, and orchestrating further service calls.
  • the web server (304) that received the API request forwards it to the application server (404).
  • the application server (404) validates the API request, ensuring the user (102) has the necessary permissions to access the requested building data.
  • the method (600) includes extracting, by the microservice server (306), the viewport details from the API request.
  • the viewport details are converted to the one or more tile identifiers (Tile IDs) based on the zoom level.
  • the viewport details include one or more zoom levels.
  • the one or more Tile IDs are unique keys generated by converting map viewport coordinates and zoom levels into discrete units representing specific geographic regions.
  • the viewport details include the zoom level.
  • the microservice server (306) receives the processed request from the one or more web servers (304).
  • the microservice server (306) extracts the viewport details (extent of the map view and zoom level) from the API request.
  • the microservice server (306) then utilizes a predetermined algorithm to convert these viewport details into one or more corresponding map tile identifiers (Tile IDs).
  • the Tile IDs act as unique keys that efficiently identify specific geographic regions within the larger dataset. For example, the microservice server (306) takes the viewport coordinates and zoom level from the API request and calculates the corresponding one or more Tile ID(s) for those parameters, identifying which map tiles need to be fetched.
  • the method (600) includes transmitting, by the microservice server (306), the viewport details to the distributed data storage (308).
  • the microservice server (306) uses the one or more Tile ID(s), sends a data fetch request to the distributed data storage (308). This request includes the one or more Tile ID(s) and possibly the zoom level to retrieve the relevant building data.
  • the method (600) includes retrieving, by the distributed data storage (308), the building data using the one or more Tile ID(s) and the zoom level.
  • the distributed data storage (308) which may be a NoSQL database like HBase, uses the one or more Tile ID(s) and zoom levels as keys to efficiently retrieve the requested building data. This structure allows quick access and retrieval of data segments matching the given identifiers. For example, the distributed data storage (308) may search its database based on the received one or more Tile ID(s) and zoom level. If a match is found, the distributed data storage (308) retrieves the associated building data for that specific geographic area and zoom level.
  • the distributed data storage (308) is configured to store building data associated with the one or more Tile IDs for corresponding zoom levels. Each building is mapped to the one or more Tile IDs and zoom levels, ensuring precise identification and retrieval of data.
  • the storage architecture utilizes row keys, where each row key is uniquely identified by a combination of a Tile ID and a zoom level. This configuration enables efficient data management and retrieval, allowing for accurate mapping and visualization of building information across varying zoom levels.
  • the distributed data storage (308) is configured to receive a query from the microservice server (306), where the query includes the one or more Tile IDs corresponding to the viewport details provided in the API request.
  • the distributed data storage (308) Upon receiving the query, the distributed data storage (308) retrieves the building data associated with the one or more Tile ID(s) by identifying the row key that corresponds to the queried one or more Tile ID(s)and the associated zoom level. This process ensures accurate and efficient retrieval of the requested building data, facilitating seamless data visualization and interaction on the user interface.
  • the distributed data storage (308) is regularly updated periodically to ensure it contains the latest building data. This periodic update process keeps the distributed data storage (308) current with new or modified geographic entities.
  • the distributed data storage (308) may include entries for each tile ID at various zoom levels, allowing it to serve detailed data for close-up views and broader data for zoomed-out views.
  • the method (600) includes transmitting, by the distributed data storage (308), the retrieved building data to the microservice server (306).
  • the retrieved building data is sent back to the microservice server (306), which initially made the request.
  • the retrieved building data may include all relevant details, such as building footprints, road networks, and other geographical features.
  • the microservice server (306) is configured to transmit the retrieved building data to the one or more application servers (404).
  • the one or more application servers (404) are configured to further transmit the retrieved building data to the one or more web servers (304).
  • the one or more web servers (304) are configured to transmit the retrieved building data to the user interface (UI) (206), enabling the display of the building data in a manner accessible to the user (102).
  • the transmission ensures that the data is appropriately formatted, processed, and securely delivered to the web portal (302), enabling realtime interaction and visualization.
  • the retrieved building data is displayed on the UI (206).
  • the building data retrieved from the distributed data storage (308) and transmitted back through the one or more application servers (404) and the one or more web servers (304) is displayed/plotted on the UI (206) for end-user interaction.
  • the UI (206) is designed to present the data in a visually appealing and user-friendly format, such as such as maps, charts, or tabular representations, depending on the building data type and user needs.
  • FIG. 7 illustrates an exemplary computer system (700) in which or with which embodiments of the present disclosure may be implemented.
  • the computer system (700) may include an external storage device (710), a bus (720), a main memory (730), a read only memory (740), a mass storage device (750), a communication port (760), and a processor (770).
  • the computer system (700) may include more than one processor (770) and communication ports (760).
  • Processor (770) may include various modules associated with embodiments of the present disclosure.
  • the communication port (760) may be any of an RS-232 port for use with a modem-based dialup connection, a 10/100 Ethernet port, a Gigabit or 10 Gigabit port using copper or fiber, a serial port, a parallel port, or other existing or future ports.
  • the communication port (760) may be chosen depending on a network, such a Local Area Network (LAN), Wide Area Network (WAN), or any network to which the computer system (700) connects.
  • LAN Local Area Network
  • WAN Wide Area Network
  • the memory (730) may be Random Access Memory (RAM), or any other dynamic storage device commonly known in the art.
  • Read-only memory (740) may be any static storage device(s) e.g., but not limited to, a Programmable Read Only Memory (PROM) chips for storing static information e.g., start-up or Basic Input/Output System (BIOS) instructions for the processor (770).
  • PROM Programmable Read Only Memory
  • the mass storage (750) may be any current or future mass storage solution, which may be used to store information and/or instructions.
  • Exemplary mass storage solutions include, but are not limited to, Parallel Advanced Technology Attachment (PATA) or Serial Advanced Technology Attachment (SATA) hard disk drives or solid-state drives (internal or external, e.g., having Universal Serial Bus (USB) and/or Firewire interfaces), one or more optical discs, Redundant Array of Independent Disks (RAID) storage, e.g., an array of disks (e.g., SATA arrays).
  • PATA Parallel Advanced Technology Attachment
  • SATA Serial Advanced Technology Attachment
  • SSD Universal Serial Bus
  • RAID Redundant Array of Independent Disks
  • the bus (720) communicatively couples the processor(s) (770) with the other memory, storage and communication blocks.
  • the bus (720) may be, e.g., a Peripheral Component Interconnect (PCI)/PCI Extended (PCI-X) bus, Small Computer System Interface (SCSI), Universal Serial Bus (USB) or the like, for connecting expansion cards, drives and other subsystems as well as other buses, such a front side bus (FSB), which connects the processor (770) to the computer system (700).
  • PCI Peripheral Component Interconnect
  • PCI-X PCI Extended
  • SCSI Small Computer System Interface
  • USB Universal Serial Bus
  • operator and administrative interfaces e.g., a display, keyboard, joystick, and a cursor control device, may also be coupled to the bus (720) to support direct operator interaction with the computer system (700).
  • Other operator and administrative interfaces may be provided through network connections connected through the communication port (760).
  • the components described above are meant only to exemplify various possibilities. In no way should the aforementioned exemplary computer system (700) limit the scope of the present disclosure.
  • a user equipment that is communicatively coupled with a network.
  • the coupling comprises of steps of receiving, by a user interface (UI), an application program interface (API) request, wherein the API request includes viewport details, transmitting, by the UI, the API request to one or more web servers through a load balancer, forwarding, by the one or more web servers, the API request to a microservice server, extracting, by the microservice server, the viewport details from the API request and converting the viewport details to one or more tile identifiers (Tile IDs), transmitting, by the microservice server, the viewport details to a distributed data storage, retrieving, by the distributed data storage, the building data using the one or more Tile ID(s) and transmitting, by the distributed data storage, the retrieved building data to the microservice server.
  • UI user interface
  • API application program interface
  • a computer program product comprising a non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform a method for managing building data.
  • the method comprises receiving, by a user interface (UI), an application program interface (API) request, wherein the API request includes viewport details, transmitting, by the UI, the API request to one or more web servers through a load balancer, forwarding, by the one or more web servers, the API request to a microservice server, extracting, by the microservice server, the viewport details from the API request and converting the viewport details to one or more tile identifiers (Tile IDs), transmitting, by the microservice server, the viewport details to a distributed data storage, retrieving, by the distributed data storage, the building data using the one or more Tile ID(s) and transmitting, by the distributed data storage, the retrieved building data to the microservice server.
  • UI user interface
  • API application program interface
  • the present disclosure provides a technical advancement in the efficient processing and visualization of high-volume building data on web interfaces. This advancement addresses limitations in existing solutions by leveraging tile-based indexing, load balancing, and microservice architecture.
  • the present disclosure provides key inventive aspects including tagging geographic entities with one or more tile identifiers (Tile IDs) for various zoom levels, evenly distributing API requests across the one or more web servers to prevent overload and employing microservices for modular and scalable data processing. These techniques significantly improve performance, efficiency, and cost-effectiveness, enhancing the speed and accuracy of building data visualization for applications such as urban planning, real estate, and Geographic Information System (GIS).
  • GIS Geographic Information System
  • the present disclosure provides a system and a method for storing and visualizing high-volume building data for faster web visualization and efficient database storage.
  • the present disclosure provides a system and a method for processing high-volume building footprint (data) for faster web visualization and efficient database storage.
  • the present disclosure provides the system and the method that provides the required building data for user viewport to visualize over web-based platform with a very simple approach.
  • the present disclosure provides the system and the method that provides faster data access on a user interface (UI) by using a distributed data storage for data storage.
  • UI user interface
  • the present disclosure provides a system and a method that provides a simplified approach where the use case is to visualize the data only for higher zoom levels.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present disclosure relates to a system (108) and a method (600) for managing building data. The system (108) includes a user interface (UI) (206) configured to receive an application program interface (API) request containing viewport details and transmit the API request to one or more web servers (304) through a load balancer (402). The one or more web servers (304) are configured to forward the API request to a microservice server (306). The microservice server (306) is configured to extract viewport details from the API request, convert the viewport details into one or more tile identifiers (Tile IDs), and transmit the viewport details to a distributed data storage (308). The distributed data storage (308) is configured to retrieve building data using the one or more Tile IDs and transmit the retrieved building data to the microservice server (306).

Description

SYSTEM AND METHOD FOR MANAGING BUILDING DATA
RESERVATION OF RIGHTS
[0001] A portion of the disclosure of this patent document contains material, which is subject to intellectual property rights such as, but are not limited to, copyright, design, trademark, Integrated Circuit (IC) layout design, and/or trade dress protection, belonging to Jio Platforms Limited (JPL) or its affiliates (hereinafter referred as owner). The owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights whatsoever. All rights to such intellectual property are fully reserved by the owner.
FIELD OF DISCLOSURE
[0002] The embodiments of the present disclosure generally relate to communication networks. In particular, the present disclosure relates to a system and a method for managing building data.
DEFINITIONS
[0003] As used in the present disclosure, the following terms are generally intended to have the meaning as set forth below, except to the extent that the context in which they are used to indicate otherwise.
[0004] The expression ‘One or more Tile Identifier (Tile ID)’ used hereinafter in the specification refers to a unique identifier assigned to a specific geographic area within a larger dataset, often used in web mapping systems.
[0005] The expression ‘Viewport Details’ used hereinafter in the specification refers to information about the visible area on a user’s map, typically encompassing the top left corner coordinates, bottom right corner coordinates and zoom level. [0006] The expression “one or more zoom levels” refers to the varying scales of detail at which a map or geographic area can be viewed and analyzed, typically determined by the level of magnification applied to the map.
[0007] The expression ‘Microservice’ used hereinafter in the specification refers to a small, independent service within a larger software application. Each microservice has a specific function and communicates with other microservices to achieve a larger task.
[0008] The expression ‘distributed data storage’ refers to a data storage system where data is spread across multiple servers or locations for improved scalability and fault tolerance.
[0009] The expression ‘building data’ refers to building information such as building category (government, residential, or commercial), building type, availability of fiber, building name, size, availability of fiber, number of floors, building ID, and more.
[0010] These definitions are in addition to those expressed in the art.
BACKGROUND OF DISCLOSURE
[0011] The following description of related art is intended to provide background information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section be used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of prior art.
[0012] In recent years, there has been a growing demand for detailed geospatial data, particularly building footprint data, for various applications, including urban planning, infrastructure management, and real estate development. Effective management and visualization of large-scale building footprint data on digital platforms have become critical for decision-making and analysis. With advancements in mapping technologies, users expect seamless interaction with geospatial data, including features like zooming, panning, and real-time updates on a map interface.
[0013] Existing systems for handling building data often struggle with scalability and performance issues when dealing with high-volume datasets. Existing systems, for retrieving and rendering geospatial information can result in significant latency, especially for applications requiring frequent updates or interaction with detailed maps. Additionally, the existing systems often lack efficient mechanisms for associating and retrieving data based on specific geographic regions or zoom levels. The challenge lies in effectively managing and visualizing the high-volume datasets, especially when it is to be accessed and manipulated via web interfaces.
[0014] Existing systems typically store geospatial data in databases, which can become inefficient when dealing with the high volume and complex nature of building footprint data. Visualization of this data on web platforms often results in slow response times and poor user experience, particularly when users pan or zoom the map. The existing systems also face difficulties in updating the data incrementally, requiring significant processing power and time to maintain up-to- date visualizations.
[0015] There is, therefore, a need in the art to provide a method and a system that can overcome the shortcomings of the existing prior arts.
OBJECTS OF THE PRESENT DISCLOSURE
[0016] Some of the objects of the present disclosure, which at least one embodiment herein satisfies are as listed herein below.
[0017] An object of the present disclosure is to provide a system and a method for storing and visualizing high-volume building data. [0018] Another object of the present disclosure is to provide the system and the method for storing and visualizing large-scale building data on a user interface.
[0019] Another object of the present disclosure is to provide the system and the method that ensures that only the necessary data is fetched and displayed according to the current map view of the user.
[0020] Another object of the present disclosure is to provide the system and the method to improve data access and user experience on web-based platforms.
[0021] Another object of the present disclosure is to provide the system and the method ensuring that only new or modified polygons are processed and associated with their respective Tile identifier (IDs), thereby optimizing data maintenance, and minimizing processing overhead.
[0022] Another object of the present disclosure is to provide the system and the method to visualize building data, particularly for higher zoom levels, facilitating quick and easy access to detailed building information such as building category, type, availability of fiber, size, and number of floors.
[0023] Another object of the present disclosure is to provide the system and the method to enhance the user experience by providing the user interface that allows users to view and interact with building data seamlessly as they pan and zoom the map.
SUMMARY
[0024] In an exemplary embodiment, a method for managing building data is disclosed. The method includes receiving, by a user interface (UI), an application program interface (API) request, wherein the API request includes viewport details, transmitting, by the UI, the API request to one or more web servers through a load balancer, forwarding, by the one or more web servers, the API request to a microservice server, extracting, by the microservice server, the viewport details from the API request and converting the viewport details to one or more tile identifiers (Tile IDs), transmitting, by the microservice server, the viewport details to a distributed data storage, retrieving, by the distributed data storage, the building data using the one or more Tile ID(s) and transmitting, by the distributed data storage, the retrieved building data to the microservice server.
[0025] In some embodiments, the method further includes transmitting, by the microservice server, the retrieved building data to the one or more application servers, transmitting, by the one or more application servers, the retrieved building data to the one or more web servers and transmitting, by the one or more web servers, the retrieved building data to the UI.
[0026] In some embodiments, the viewport details include top left corner coordinates, bottom right corner coordinates and one or more zoom levels one or more zoom levels.
[0027] In some embodiments, the method further includes storing by the distributed data storage, the building data associated with the one or more Tile ID(s) for the one or more zoom levels, wherein each building is associated with the one or more Tile ID(s) and the one or more zoom levels and each row key in the distributed data storage is identified by a combination of a Tile ID and a zoom level.
[0028] In some embodiments, the method further includes receiving, by the distributed data storage, a query from the microservice server, wherein the query including the one or more Tile ID(s) corresponding to the viewport details and retrieving, by the distributed data storage, the building data associated with the query, wherein the retrieving is performed by identifying the row key corresponding to the queried Tile ID(s) and the zoom level.
[0029] In some embodiments, the distributed data storage is updated periodically to store the building data associated with the one or more Tile ID(s) for the plurality of zoom levels.
[0030] In another exemplary embodiment, a system for managing building data is disclosed. The system includes a user interface (UI) configured to receive an application program interface (API) request, wherein the API request includes viewport details. The user interface (UI) is configured to transmit the API request to one or more web servers through a load balancer. The one or more web servers are configured to forward the API request to a microservice server. The microservice server is configured to extract the viewport details from the API request and converting the viewport details to one or more tile identifiers (Tile IDs). The microservice server is configured to transmit the viewport details to a distributed data storage. The distributed data storage is configured to retrieve the building data using the one or more Tile ID(s) and the distributed data storage is configured to transmit the retrieved building data to the microservice server.
[0031] In some embodiments, the microservice server is configured to transmit the retrieved building data to the one or more application servers, the one or more application servers are configured to transmit the retrieved building data to the one or more web servers and the one or more web servers are configured to transmit the retrieved building data to the user interface (UI).
[0032] In some embodiments, the viewport details include top left corner coordinates, bottom right corner coordinates and one or more zoom levels one or more zoom levels.
[0033] In some embodiments, the distributed data storage is configured to store the building data associated with the one or more Tile ID(s) for the one or more zoom levels, wherein each building is associated with the one or more Tile ID(s) and the one or more zoom levels and each row key in the distributed data storage is identified by a combination of a Tile ID and a zoom level.
[0034] In some embodiments, the distributed data storage is configured to receive a query from the microservice server, wherein the query including the one or more Tile ID(s) corresponding to the viewport details and retrieve the building data associated with the query, wherein the retrieving is performed by identifying the row key corresponding to the queried Tile ID(s) and the zoom level. [0035] In some embodiments, the distributed data storage is updated periodically to store the building data associated with the one or more Tile ID(s) for the plurality of zoom levels.
[0036] In accordance with one embodiment of the present disclosure, a user equipment that is communicatively coupled with a network is disclosed. The coupling comprises of steps of receiving, by a user interface (UI), an application program interface (API) request, wherein the API request includes viewport details, transmitting, by the UI, the API request to one or more web servers through a load balancer, forwarding, by the one or more web servers, the API request to a microservice server, extracting, by the microservice server, the viewport details from the API request and converting the viewport details to one or more tile identifiers (Tile IDs), transmitting, by the microservice server, the viewport details to a distributed data storage, retrieving, by the distributed data storage, the building data using the one or more Tile ID(s) and transmitting, by the distributed data storage, the retrieved building data to the microservice server.
[0037] In accordance with one embodiment of the present disclosure a computer program product comprising a non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform a method for managing building data. The method comprises receiving, by a user interface (UI), an application program interface (API) request, wherein the API request includes viewport details, transmitting, by the UI, the API request to one or more web servers through a load balancer, forwarding, by the one or more web servers, the API request to a microservice server, extracting, by the microservice server, the viewport details from the API request and converting the viewport details to one or more tile identifiers (Tile IDs), transmitting, by the microservice server, the viewport details to a distributed data storage, retrieving, by the distributed data storage, the building data using the one or more Tile ID(s) and transmitting, by the distributed data storage, the retrieved building data to the microservice server. [0038] The foregoing general description of the illustrative embodiments and the following detailed description thereof are merely exemplary aspects of the teachings of this disclosure and are not restrictive.
BRIEF DESCRIPTION OF DRAWINGS
[0039] The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems in which like reference numerals refer to the same parts throughout the different drawings. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings includes the disclosure of electrical components, electronic components or circuitry commonly used to implement such components.
[0040] FIG. 1 illustrates an exemplary network architecture for managing building data, in accordance with embodiments of the present disclosure.
[0041] FIG. 2 illustrates a block diagram of a system for managing building data in accordance with embodiments of the present disclosure.
[0042] FIG. 3 illustrates an example flow diagram of a method for managing building data in accordance with embodiments of the present disclosure.
[0043] FIG. 4 illustrates an example system architecture of the system for managing building data in accordance with embodiments of the present disclosure.
[0044] FIG. 5 illustrates an example of a user interface for visualization of the building data in accordance with an embodiment of the present disclosure.
[0045] FIG. 6 illustrates another flow diagram of a method for managing building data in accordance with embodiments of the present disclosure. [0046] FIG. 7 illustrates an exemplary computer system in which or with which the system may be implemented in accordance with an embodiment of the present disclosure.
[0047] The foregoing shall be more apparent from the following more detailed description of the disclosure.
LIST OF REFERENCE NUMERALS
100 - Network Architecture
102-1, 102-2. . . 102-N - A plurality of users
104-1, 104-2. . . 104-N - Computing device(s)
106 - Network
108 - System
202 - Processor(s)
204 - Memory
206 - Interface(s)
208 - Processing engine
210 - Database
300 - Flow Diagram
302 - Web portal
304 - One or more web application containers/web servers
306 - Microservice server
308 - Distributed data storage 400 - System architecture
402 - Load balancer
404 - Application servers
500 - User Interface for visualization of building data
600- Flow diagram
700 - A computer system
710 - External storage device
720 - Bus
730 - Main memory
740 - Read only memory
750 - Mass storage device
760 - Communication port(s)
770 - Processor
DETAILED DESCRIPTION OF DISCLOSURE
[0048] In the following description, for the purposes of explanation, various specific details are set forth in order to provide a thorough understanding of embodiments of the present disclosure. It will be apparent, however, that embodiments of the present disclosure may be practiced without these specific details. Several features described hereafter can each be used independently of one another or with any combination of other features. An individual feature may not address all of the problems discussed above or might address only some of the problems discussed above. Some of the problems discussed above might not be fully addressed by any of the features described herein. [0049] The ensuing description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosure as set forth.
[0050] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.
[0051] Also, it is noted that individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.
[0052] The word “exemplary” and/or “demonstrative” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” and/or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising” as an open transition word without precluding any additional or other elements.
[0053] Reference throughout this specification to “one embodiment” or “an embodiment” or “an instance” or “one instance” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0054] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
[0055] The present disclosure relates to a system and a method for managing building data stored in a distributed data storage system using tile identification (ID). [0056] The various embodiments throughout the disclosure will be explained in more detail with reference to FIG. 1- FIG. 7.
[0057] FIG. 1 illustrates an exemplary network architecture for managing building data, in accordance with embodiments of the present disclosure.
[0058] Referring to FIG. 1, the network architecture (100) may include one or more computing devices or user equipments (104-1, 104-2...104-N) associated with one or more users (102-1, 102-2...102-N) in an environment. A person of ordinary skill in the art will understand that one or more users (102-1, 102-2...102- N) may be individually referred to as the user (102) and collectively referred to as the users (102). Similarly, a person of ordinary skill in the art will understand that one or more user equipments (104-1, 104-2. . . 104- N) may be individually referred to as the user equipment (104) and collectively referred to as the user equipment (104). A person of ordinary skill in the art will appreciate that the terms “computing device(s)” and “user equipment” may be used interchangeably throughout the disclosure. Although two user equipments (104) are depicted in FIG. 1, however any number of the user equipments (104) may be included without departing from the scope of the ongoing description. In an embodiment, each of the user equipment (104) may have a first unique identifier attribute associated therewith. In an embodiment, the first unique identifier attribute may be indicative of Mobile Station International Subscriber Directory Number (MSISDN), International Mobile Equipment Identity (IMEI) number, International Mobile Subscriber Identity (IMSI), Subscriber Permanent Identifier (SUPI) and the like.
[0059] In an embodiment, the user equipment (104) may include smart devices operating in a smart environment, for example, an Internet of Things (loT) system. In such an embodiment, the user equipment (104) may include but is not limited to, smartphones, smart watches, smart sensors (e.g., mechanical, thermal, electrical, magnetic, etc.), networked appliances, networked peripheral devices, networked lighting system, communication devices, networked vehicle accessories, networked vehicular devices, smart accessories, tablets, smart television (TV), computers, smart security system, smart home system, other devices for monitoring or interacting with or for the users (102) and/or entities, or any combination thereof. A person of ordinary skill in the art will appreciate that the user equipment (104) may include, but is not limited to, intelligent, multi-sensing, network-connected devices that can integrate seamlessly with each other and/or with a central server or a cloud-computing system or any other device that is network-connected.
[0060] In an embodiment, the user equipment (104) may include, but is not limited to, a handheld wireless communication device (e.g., a mobile phone, a smartphone, a phablet device, and so on), a wearable computer device (e.g., a headmounted display computer device, a head-mounted camera device, a wristwatch computer device, and so on), a Global Positioning System (GPS) device, a laptop computer, a tablet computer, or another type of portable computer, a media playing device, a portable gaming system, and/or any other type of computer device with wireless communication capabilities, and the like. In an embodiment, the user equipment (104) may include but is not limited to, any electrical, electronic, electromechanical, or an equipment, or a combination of one or more of the above devices such as virtual reality (VR) devices, augmented reality (AR) devices, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, mainframe computer, or any other computing device, wherein the user equipment (104) may include one or more in-built or externally coupled accessories including, but not limited to, a visual aid device such as a camera, an audio aid, a microphone, a keyboard, and input devices for receiving input from the user (102) or the entity such as touchpad, touch-enabled screen, electronic pen, and the like. A person of ordinary skill in the art will appreciate that the user equipment (104) may not be restricted to the mentioned devices and various other devices may be used.
[0061] Referring to FIG. 1, the user equipment (104) may communicate with a system (108) via a network (106). The UE (104) may be communicatively coupled with the network (106). The communicative coupling comprises receiving, from the UE (104), a connection request by the network (106), sending an acknowledgment of the connection request to the UE (104), and transmitting a plurality of signals in response to the connection request. In an embodiment, the network (106) may include at least one of a Fifth Generation (5G) network, a Sixth Generation (6G) network, or the like. The network (106) may enable the user equipment (104) to communicate with other devices in the network architecture (100) and/or with the system (108). The network (106) may include a wireless card or some other transceiver connection to facilitate this communication. In another embodiment, the network (106) may be implemented as or include any of a variety of different communication technologies such as a wide area network (WAN), a local area network (LAN), a wireless network, a mobile network, a Virtual Private Network (VPN), the Internet, the Public Switched Telephone Network (PSTN), or the like.
[0062] In accordance with embodiments of the present disclosure, the system (108) may be designed and configured for the termination of sessions. In an embodiment, the system (108) may optimize the number of sessions maintained to fulfill requests for service from the UEs (104).
[0063] Although FIG. 1 shows exemplary components of the network architecture (100), in other embodiments, the network architecture (100) may include fewer components, different components, differently arranged components, or additional functional components than depicted in FIG. 1. Additionally, or alternatively, one or more components of the network architecture (100) may perform functions described as being performed by one or more other components of the network architecture (100).
[0064] FIG. 2 illustrates a block diagram (200) of the system (108) for managing building data, in accordance with embodiments of the present disclosure.
[0065] In an aspect, the system (108) may include one or more processor(s) (202). The one or more processor(s) (202) may be implemented as one or more microprocessors, microcomputers, microcontrollers, edge or fog microcontrollers, digital signal processors, central processing units, logic circuitries, and/or any devices that process data based on operational instructions. Among other capabilities, the one or more processor(s) (202) may be configured to fetch and execute computer-readable instructions stored in a memory (204) of the system (108). The memory (204) may be configured to store one or more computer- readable instructions or routines in a non-transitory computer-readable storage medium, which may be fetched and executed to create or share data packets over a network service. The memory (204) may include any non-transitory storage device including, for example, volatile memory such as Random Access Memory (RAM), or non-volatile memory such as Erasable Programmable Read-Only Memory (EPROM), flash memory, and the like.
[0066] Referring to FIG. 2, the system (108) may include an interface(s) (206) that may interchangeably be referred to as a User Interface (UI) (206). The interface (206) may also be referred to as a web platform or a web portal (302 as provided in FIG. 3). The interface(s) (206) may include a variety of interfaces, for example, interfaces for data input and output devices, referred to as RO devices, storage devices, and the like. The interface(s) (206) may facilitate communication to/from the system (108). The interface(s) (206) may also provide a communication pathway for one or more components of the system (108). Examples of such components include but are not limited to, processing engine(s) (208) and a database (210).
[0067] In an embodiment, the processing engine(s) (208) may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processing engine(s) (208). In the examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processing engine(s) (208) may be processorexecutable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processing engine(s) (208) may include a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the machine-readable storage medium may store instructions that, when executed by the processing resource, implement the processing engine(s) (208). In such examples, the system (108) may include the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine-readable storage medium may be separate but accessible to the system (108) and the processing resource. In other examples, the processing engine(s) (208) may be implemented by electronic circuitry.
[0068] In an aspect, the present disclosure relates to the system (108) for managing building data. The system (108) ensures efficient processing and accessibility through a well-defined set of components and processes.
[0069] In an aspect, the processing engine (208) serves as the central unit responsible for handling data requests and processing them. Further the processing engine (208) is connected the user interface (UI) (206), which acts as the interaction point for users, typically accessed through a web portal.
[0070] In an aspect, when the user (102) requests access to the building data via the web portal, the request is sent as an API call. In another aspect, when a user logs into the web application via the UI (206) to access building data layers, the API request is transmitted to a web server, including the current viewport details of the user (102), such as top left corner coordinates, bottom right corner coordinates and the zoom level. The top left corner coordinates and the bottom right corner coordinates may be latitude and longitude, as they are commonly used to define a rectangular geographic area. The building data includes building information such as building category (government, residential, or commercial), building type, building name, size, availability of fiber, number of floors, building ID, and more. The API call is transmitted through a load balancer that may distribute incoming requests evenly across one or more web servers, thereby preventing any single server from becoming overloaded. In an aspect, the load balancer may forward the API request to one or more web servers. The one or more web servers are responsible for the initial handling and routing of the request, ensuring the API request reaches the appropriate processing engine within the system (108). [0071] In an aspect, upon receiving the API request, the one or more web servers forward it to a microservice server. The microservice server extracts viewport details, such as the top left corner coordinates, the bottom right corner coordinates and the zoom level, from the API request. The viewport details are then converted into one or more tile identifiers (Tile IDs), which correspond to specific sections of the map at various zoom levels. The Tile ID(s) are unique identifiers for tile(s) which covers a specific geographic area within a larger dataset used in web mapping systems. For example, a viewport might have dimensions of 800 pixels wide by 600 pixels high, a zoom level of 5, and geographical boundaries spanning from the top-left corner (latitude 40.748817, longitude -73.985428, representing City A) to the bottom-right corner (latitude 37.774929, longitude -122.419416, representing City B). The viewport covers the area between these two cities A and B, and the map system divides it into tiles, each assigned a unique identifier (Tile ID) based on its coordinates and zoom level. For instance, tile (x=10, y=12, z=5) might represent a specific region in the City B, while Tile (x=12, y=14, z=5) might correspond to a portion of the City A. The viewport details are crucial for rendering only the visible tiles efficiently, optimizing performance and resource usage.
[0072] In an aspect, the microservice server transmits the converted viewport details, now in the form of the one or more Tile ID(s), to a distributed data storage system. The distributed data storage refers to a storage system that manages and stores data across multiple servers or nodes, often located in different geographic locations. For example, the distributed data storage may be an H-Base database deployed across multiple servers. The distributed data storage system allows efficient storage and retrieval of the building data by using a distributed file system.
[0073] In an aspect, the distributed data storage retrieves the requested building data using the one or more Tile ID(s) and zoom levels as keys.
[0074] In an aspect, once the building data is retrieved, the distributed data storage sends it back to the microservice server for further processing. [0075] In an aspect, the retrieved building data is transmitted back through one or more application servers and the one or more web servers to the web portal. This ensures that the data is delivered efficiently to the user interface, ready for user access and interaction.
[0076] In an aspect, the UI displays the retrieved building data, allowing users to visualize and interact with the building data seamlessly. The display functionality is crucial for providing a user-friendly experience, enabling users to explore and analyze the geographic information effectively.
[0077] In an aspect, the distributed data storage is configured to store building data associated with the one or more Tile ID(s) for corresponding zoom levels. Each building is mapped to the one or more Tile ID(s) and zoom levels, ensuring identification and retrieval of data. The distributed data storage utilizes row keys. The row key is a combination of attributes that uniquely identifies a specific entry or dataset. Each row key is uniquely identified by a combination of a Tile ID and a zoom level. This configuration enables efficient data management and retrieval, allowing for accurate mapping and visualization of building information across varying zoom levels.
[0078] In an aspect, the distributed data storage is configured to receive a query from the microservice server. The query received from the microservice server is a request containing the one or more Tile ID(s) corresponding to the viewport details, used to retrieve building data associated with the one or more Tile ID(s) and zoom level. Upon receiving the query, the distributed data storage retrieves the building data associated with the one or more Tile ID(s) by identifying the row key that corresponds to the queried one or more Tile ID(s) and the associated zoom level. The process ensures accurate and efficient retrieval of the requested building data, facilitating data visualization and interaction on the user interface.
[0079] In an aspect, the distributed data storage is periodically updated to store new building data associated with the one or more Tile ID(s) and zoom levels. The updates ensure that the system (108) remains current and accurate, providing the user (102) with the most up-to-date geographic information available.
[0080] In an embodiment, the database (210) may include data that may be either stored or generated as a result of functionalities implemented by any of the components of the processor (202) or the processing engines (208). In an embodiment, the database (210) may be separate from the system (108). In an embodiment, the database (210) may be indicative of including, but not limited to, a relational database, a distributed database, a cloud-based database, or the like.
[0081] FIG. 3 depicts an exemplary flow diagram (300) with steps illustrating the process of managing building data in accordance with an embodiment of the present disclosure.
[0082] At step 310, when the user (102) logs into a web portal (application) (302) on the UI (206), the user (102) may select the layers section to access the building data. Once a layer from the layers is selected, the layer gets enabled on the UI (206), and an API call for building data (request) is transmitted to a web server that may also be referred to as web application container(s) (304). The API request includes current viewport details of the user (102), which comprise the extent of the current map view along with the zoom level details.
[0083] At step 312, the API request is forwarded to the microservice server (306) from the web server (304) as a microservice call. The microservice server (306) processes the API request from one or more web servers (304), extract viewport details from application program interface (API) requests, and perform operations such as converting viewport details into corresponding tile identifiers (Tile IDs). For example, when the user (102) pans or zooms on a building layer map displayed on the UI (206), the microservice server (306) receives the viewport details, via the API request from the web server (304). The microservice server (306) processes the viewport details to compute the Tile ID that map to the area of interest. The one or more Tile ID(s) are then used to query the distributed data storage (308) to fetch relevant building information. [0084] At step 314, the microservice server (306) then transmits a data fetch request using the one or more Tile ID(s) to a distributed data storage (308). Once the tile ID is available, the distributed data storage (308) is queried using the tile ID as a row key. The building data, already stored in the distributed data storage (308) using the tile ID and zoom level as row keys, is accessed efficiently based on these identifiers.
[0085] At step 316, the building data is retrieved from the distributed data storage (308) and transmitted back to the microservice server (306). The retrieved building data is transmitted back to the web portal (302) through the application servers and the one or more web servers (304) to facilitate display of the data to the user (102).
[0086] At step 318, the microservice server (306) sends a response message (containing the retrieved building data) to the web application container (304).
[0087] At step 320, the web application container (304) subsequently transmits the fetched data (containing the retrieved building data) to the user (102). Once the building data is available on the web browser, it is plotted on the UI (206) of the web portal (302).
[0088] Additionally, the distributed data storage (308) is periodically updated with any new building data, and only the one or more Tile ID(s) for incremental building polygons need to be updated. The distributed data storage (308) ensures that every building is associated with and tagged to the one or more Tile ID(s) for each zoom level. The middleware API for the UI (206) is designed to request data on a tile ID basis, with the building data stored in the distributed data storage (308) where the one or more Tile ID(s) serves as the row key (primary identifier).
[0089] FIG. 4 illustrates an exemplary system (400) for managing building data in accordance with an embodiment of the present disclosure. The system (400) facilitates user interaction with the building data visualization system through the web portal (302) and enables data retrieval from the distributed data storage (308).
[0090] In an aspect, the web portal (302) serves as the UI (206) where the user (102) can select the layers section to access the building data. When a layer is selected, it gets enabled on the UI (206), and the API call (request) is transmitted to one or more web servers (304) through the load balancer (402). The load balancer (402) may be provided between the web portal (302) and the one or more web servers (304), ensuring that incoming data requests are evenly distributed. The distribution helps prevent any single service instance from becoming overloaded.
[0091] The load balancer (402) transfers the API requests to the one or more web servers (304). The one or more web servers (304) then transmit the API requests to one or more application servers (404) responsible for processing the requests. For example, after receiving the retrieved building data from the application servers (404), the one or more web servers (304) ensure the data is properly structured and compatible with the front-end requirements of the user interface (UI) (206). The one or more web servers (304) may also compress the building data, implement caching mechanisms to optimize load times, and ensure secure data transmission through HTTPS protocols. For instance, if the user interface (UI) (206) requires displaying building data such as category, size, and availability, the one or more web servers (304) deliver this information in the form of JSON or XML files optimized for quick rendering on a browser or application. The one or more application servers (404) are configured to act as intermediaries between the microservice server (306) and the one or more web servers (304). The one or more application servers (404) are responsible for processing, managing, and routing the retrieved building data efficiently. For example, when the microservice server (306) retrieves building data based on the queried one or more Tile ID(s) and zoom level, the one or more application servers (404) perform additional processing tasks, such as data transformation, formatting, or filtering, as required for the user interface (UI) (206). For instance, if the building data includes attributes such as building type, size, and occupancy, the application servers (404) may aggregate this information or convert it into a format compatible with the one or more web servers (304) so that the building data is optimized before being transmitted to the one or more web servers (304) for subsequent delivery to the UI (206).
[0092] The one or more application servers (404) may handle the incoming API requests and forward them to the microservice servers (306). The microservice servers (306) are crucial in converting user viewport details into map the one or more Tile ID(s) and handling the data fetch requests. Once the data fetch request is prepared, the microservice servers (306) forward the request to the distributed data storage (308)
[0093] The distributed data storage (308) is queried using the one or more Tile ID(s) as a row key, allowing for efficient retrieval of building data. The building data, already stored in the distributed data storage (308) using the one or more Tile ID(s) and zoom level as row keys, is accessed based on these identifiers.
[0094] After retrieving the building data, the microservice servers (306) transmit the requested data back through the one or more application servers (404) and the one or more web servers (304), eventually delivering it to the web portal (302). This retrieved data is then plotted on the UI (206), providing the user (102) with the visualized building footprint data they requested.
[0095] FIG. 5 illustrates an example of a user interface (UI) (206) for displaying or visualizing the building data in accordance with an embodiment of the present disclosure. In an aspect, the user (102) may open a building layer in the web portal (302) for any specified location. Upon doing so, a middleware application programming interface (API) requests are generated request to display buildings on a map layer. As the user pans the map or changes the viewport, these API requests are transmitted with to the web server (304) along with viewport details.
[0096] The viewport details are then converted into the one or more Tile ID(s) in the backend. Based on the one or more Tile ID(s), a query is sent to the distributed data storage (308) to retrieve the building data. The retrieved data is then returned to the web portal (302) of the UI (206) in the API response message.
[0097] FIG. 6 illustrates a method (600) for managing building data, in accordance with embodiments of the present disclosure.
[0098] At step 602, the method (600) includes receiving, by a web portal (302) on a user interface (UI) (206), an application program interface (API) request to access building data, wherein the API request includes viewport details. The viewport details include top left corner coordinates, bottom right corner coordinates on the UI and one or more zoom levels. The API request is received from the UI (206) through a web portal (302). The API request essentially functions as a message from the web browser indicating that the user (102) has to access specific building data. When the user (102) logs into the web portal (302) and selects a desired building data layer, the UI (206) may capture this interaction and generate the API request. The API request includes details about the user session, such as the current viewport of the map, which indicates the geographical area and zoom level the user (102) is interested in. For example, the user (102) opens the web portal (302) to view real estate properties within a specific city. The user (102) navigates to a particular neighbourhood and zoom in to see more detailed information. The UI (206) captures this action and formulates the API request specifying the geographical bounds of the viewport and the zoom level. In an aspect, the API request includes details about which layer the user has selected. Different layers can represent various types of data, such as buildings, roads, or utilities, and the system (108) may retrieve the appropriate data based on this selection.
[0099] At step 604, the method (600) includes transmitting, by the UI (206), the API request to one or more web servers (304) through a load balancer (402). The API request is sent from the UI (206) on the web portal (302). The API request is routed through a load balancer (402) to distribute incoming requests. The load balancer (402) acts as an intermediary that distributes the traffic evenly across the one or more web servers (304), preventing any single server from becoming a bottleneck.
[00100] At step 606, the method (600) includes forwarding, by the one or more web servers (304), the API request to a microservice server (306). The one or more web servers (304) receive the API request from the load balancer (402) and forward it to microservice server (306) through one or more application servers (404). In an aspect, the one or more application servers (404) may process the API request. This might involve extracting relevant information or performing additional checks before sending it onward. The one or more application servers (404) may perform initial processing or validation on the API request before sending it further. The one or more application servers (404) are responsible for processing the business logic associated with the request. This tier handles tasks such as user authentication, request validation, and orchestrating further service calls. For example, the web server (304) that received the API request forwards it to the application server (404). The application server (404) validates the API request, ensuring the user (102) has the necessary permissions to access the requested building data.
[00101] At step 608, the method (600) includes extracting, by the microservice server (306), the viewport details from the API request. The viewport details are converted to the one or more tile identifiers (Tile IDs) based on the zoom level. In an aspect, the viewport details include one or more zoom levels. The one or more Tile IDs are unique keys generated by converting map viewport coordinates and zoom levels into discrete units representing specific geographic regions. In an embodiment, the viewport details include the zoom level. The microservice server (306) receives the processed request from the one or more web servers (304). Here, the microservice server (306) extracts the viewport details (extent of the map view and zoom level) from the API request. The microservice server (306) then utilizes a predetermined algorithm to convert these viewport details into one or more corresponding map tile identifiers (Tile IDs). The Tile IDs act as unique keys that efficiently identify specific geographic regions within the larger dataset. For example, the microservice server (306) takes the viewport coordinates and zoom level from the API request and calculates the corresponding one or more Tile ID(s) for those parameters, identifying which map tiles need to be fetched.
[00102] At step 610, the method (600) includes transmitting, by the microservice server (306), the viewport details to the distributed data storage (308). In an embodiment, using the one or more Tile ID(s), the microservice server (306) sends a data fetch request to the distributed data storage (308). This request includes the one or more Tile ID(s) and possibly the zoom level to retrieve the relevant building data.
[00103] At step 612, the method (600) includes retrieving, by the distributed data storage (308), the building data using the one or more Tile ID(s) and the zoom level. The distributed data storage (308), which may be a NoSQL database like HBase, uses the one or more Tile ID(s) and zoom levels as keys to efficiently retrieve the requested building data. This structure allows quick access and retrieval of data segments matching the given identifiers. For example, the distributed data storage (308) may search its database based on the received one or more Tile ID(s) and zoom level. If a match is found, the distributed data storage (308) retrieves the associated building data for that specific geographic area and zoom level. The distributed data storage (308) is configured to store building data associated with the one or more Tile IDs for corresponding zoom levels. Each building is mapped to the one or more Tile IDs and zoom levels, ensuring precise identification and retrieval of data. The storage architecture utilizes row keys, where each row key is uniquely identified by a combination of a Tile ID and a zoom level. This configuration enables efficient data management and retrieval, allowing for accurate mapping and visualization of building information across varying zoom levels. The distributed data storage (308) is configured to receive a query from the microservice server (306), where the query includes the one or more Tile IDs corresponding to the viewport details provided in the API request. Upon receiving the query, the distributed data storage (308) retrieves the building data associated with the one or more Tile ID(s) by identifying the row key that corresponds to the queried one or more Tile ID(s)and the associated zoom level. This process ensures accurate and efficient retrieval of the requested building data, facilitating seamless data visualization and interaction on the user interface. In an embodiment, the distributed data storage (308) is regularly updated periodically to ensure it contains the latest building data. This periodic update process keeps the distributed data storage (308) current with new or modified geographic entities. For example, the distributed data storage (308) may include entries for each tile ID at various zoom levels, allowing it to serve detailed data for close-up views and broader data for zoomed-out views.
[00104] At step 614, the method (600) includes transmitting, by the distributed data storage (308), the retrieved building data to the microservice server (306). The retrieved building data is sent back to the microservice server (306), which initially made the request. The retrieved building data may include all relevant details, such as building footprints, road networks, and other geographical features.
[00105] In an embodiment, the microservice server (306) is configured to transmit the retrieved building data to the one or more application servers (404). The one or more application servers (404) are configured to further transmit the retrieved building data to the one or more web servers (304). Subsequently, the one or more web servers (304) are configured to transmit the retrieved building data to the user interface (UI) (206), enabling the display of the building data in a manner accessible to the user (102). The transmission ensures that the data is appropriately formatted, processed, and securely delivered to the web portal (302), enabling realtime interaction and visualization.
[00106] In an embodiment, the retrieved building data is displayed on the UI (206). The building data retrieved from the distributed data storage (308) and transmitted back through the one or more application servers (404) and the one or more web servers (304) is displayed/plotted on the UI (206) for end-user interaction. The UI (206) is designed to present the data in a visually appealing and user-friendly format, such as such as maps, charts, or tabular representations, depending on the building data type and user needs.
[00107] FIG. 7 illustrates an exemplary computer system (700) in which or with which embodiments of the present disclosure may be implemented. As shown in FIG. 7, the computer system (700) may include an external storage device (710), a bus (720), a main memory (730), a read only memory (740), a mass storage device (750), a communication port (760), and a processor (770). A person skilled in the art will appreciate that the computer system (700) may include more than one processor (770) and communication ports (760). Processor (770) may include various modules associated with embodiments of the present disclosure.
[00108] In an embodiment, the communication port (760) may be any of an RS-232 port for use with a modem-based dialup connection, a 10/100 Ethernet port, a Gigabit or 10 Gigabit port using copper or fiber, a serial port, a parallel port, or other existing or future ports. The communication port (760) may be chosen depending on a network, such a Local Area Network (LAN), Wide Area Network (WAN), or any network to which the computer system (700) connects.
[00109] In an embodiment, the memory (730) may be Random Access Memory (RAM), or any other dynamic storage device commonly known in the art. Read-only memory (740) may be any static storage device(s) e.g., but not limited to, a Programmable Read Only Memory (PROM) chips for storing static information e.g., start-up or Basic Input/Output System (BIOS) instructions for the processor (770).
[00110] In an embodiment, the mass storage (750) may be any current or future mass storage solution, which may be used to store information and/or instructions. Exemplary mass storage solutions include, but are not limited to, Parallel Advanced Technology Attachment (PATA) or Serial Advanced Technology Attachment (SATA) hard disk drives or solid-state drives (internal or external, e.g., having Universal Serial Bus (USB) and/or Firewire interfaces), one or more optical discs, Redundant Array of Independent Disks (RAID) storage, e.g., an array of disks (e.g., SATA arrays).
[00111] In an embodiment, the bus (720) communicatively couples the processor(s) (770) with the other memory, storage and communication blocks. The bus (720) may be, e.g., a Peripheral Component Interconnect (PCI)/PCI Extended (PCI-X) bus, Small Computer System Interface (SCSI), Universal Serial Bus (USB) or the like, for connecting expansion cards, drives and other subsystems as well as other buses, such a front side bus (FSB), which connects the processor (770) to the computer system (700).
[00112] Optionally, operator and administrative interfaces, e.g., a display, keyboard, joystick, and a cursor control device, may also be coupled to the bus (720) to support direct operator interaction with the computer system (700). Other operator and administrative interfaces may be provided through network connections connected through the communication port (760). The components described above are meant only to exemplify various possibilities. In no way should the aforementioned exemplary computer system (700) limit the scope of the present disclosure.
[00113] In accordance with one embodiment of the present disclosure, a user equipment that is communicatively coupled with a network is disclosed. The coupling comprises of steps of receiving, by a user interface (UI), an application program interface (API) request, wherein the API request includes viewport details, transmitting, by the UI, the API request to one or more web servers through a load balancer, forwarding, by the one or more web servers, the API request to a microservice server, extracting, by the microservice server, the viewport details from the API request and converting the viewport details to one or more tile identifiers (Tile IDs), transmitting, by the microservice server, the viewport details to a distributed data storage, retrieving, by the distributed data storage, the building data using the one or more Tile ID(s) and transmitting, by the distributed data storage, the retrieved building data to the microservice server. [00114] In accordance with one embodiment of the present disclosure a computer program product comprising a non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform a method for managing building data. The method comprises receiving, by a user interface (UI), an application program interface (API) request, wherein the API request includes viewport details, transmitting, by the UI, the API request to one or more web servers through a load balancer, forwarding, by the one or more web servers, the API request to a microservice server, extracting, by the microservice server, the viewport details from the API request and converting the viewport details to one or more tile identifiers (Tile IDs), transmitting, by the microservice server, the viewport details to a distributed data storage, retrieving, by the distributed data storage, the building data using the one or more Tile ID(s) and transmitting, by the distributed data storage, the retrieved building data to the microservice server.
[00115] While considerable emphasis has been placed herein on the preferred embodiments, it will be appreciated that many embodiments can be made and that many changes can be made in the preferred embodiments without departing from the principles of the disclosure. These and other changes in the preferred embodiments of the disclosure will be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoing descriptive matter is to be implemented merely as illustrative of the disclosure and not as a limitation.
[00116] The present disclosure provides a technical advancement in the efficient processing and visualization of high-volume building data on web interfaces. This advancement addresses limitations in existing solutions by leveraging tile-based indexing, load balancing, and microservice architecture. The present disclosure provides key inventive aspects including tagging geographic entities with one or more tile identifiers (Tile IDs) for various zoom levels, evenly distributing API requests across the one or more web servers to prevent overload and employing microservices for modular and scalable data processing. These techniques significantly improve performance, efficiency, and cost-effectiveness, enhancing the speed and accuracy of building data visualization for applications such as urban planning, real estate, and Geographic Information System (GIS).
ADVANTAGES OF THE PRESENT DISCLOSURE
[00117] The present disclosure provides a system and a method for storing and visualizing high-volume building data for faster web visualization and efficient database storage.
[00118] The present disclosure provides a system and a method for processing high-volume building footprint (data) for faster web visualization and efficient database storage.
[00119] The present disclosure provides the system and the method that provides the required building data for user viewport to visualize over web-based platform with a very simple approach.
[00120] The present disclosure provides the system and the method that provides faster data access on a user interface (UI) by using a distributed data storage for data storage.
[00121] The present disclosure provides a system and a method that provides a simplified approach where the use case is to visualize the data only for higher zoom levels.

Claims

We claim:
1. A method (600) for managing building data, the method (600) comprising of steps: receiving (602), by a user interface (UI) (206), an application program interface (API) request, wherein the API request includes viewport details; transmitting (604), by the UI (206), the API request to one or more web servers (304) through a load balancer (402); forwarding (606), by the one or more web servers (304), the API request to a microservice server (306); extracting (608), by the microservice server (306), the viewport details from the API request and converting the viewport details to one or more tile identifiers (Tile IDs); transmitting (610), by the microservice server (306), the viewport details to a distributed data storage (308); retrieving (612), by the distributed data storage (308), the building data using the one or more Tile ID(s); and transmitting (614), by the distributed data storage (308), the retrieved building data to the microservice server (306).
2. The method (600) as claimed in claim 1, further comprising: transmitting, by the microservice server (306), the retrieved building data to the one or more application servers (404); transmitting, by the one or more application servers (404), the retrieved building data to the one or more web servers (304); and transmitting, by the one or more web servers (304), the retrieved building data to the user interface (UI) (206).
3. The method (600) as claimed in claim 1, wherein the viewport details includes top left corner coordinates, bottom right corner coordinates on the UI and one or more zoom levels.
4. The method (600) as claimed in claim 1 , further comprising, storing by the distributed data storage (308), the building data associated with the one or more Tile ID(s) for the one or more zoom levels, wherein: each building is associated with the one or more Tile ID(s) and the one or more zoom levels; and each row key in the distributed data storage (308) is identified by a combination of a Tile ID and a zoom level.
5. The method (600) as claimed in claim 4, further comprising: receiving, by the distributed data storage (308), a query from the microservice server (306), wherein the query including the one or more Tile ID(s) corresponding to the viewport details; and retrieving, by the distributed data storage (308), the building data associated with the query, wherein the retrieving is performed by identifying the row key corresponding to the queried Tile ID(s) and the zoom level.
6. The method (600) as claimed in claim 5, wherein the distributed data storage (308) is updated periodically to store the building data associated with the one or more Tile ID(s) for the plurality of zoom levels.
7. A system (108) for managing building data, the system (108) comprising: a user interface (UI) (206) configured to receive an application program interface (API) request, wherein the API request includes viewport details; the user interface (UI) (206) configured to transmit the API request to one or more web servers (304) through a load balancer (402); the one or more web servers (304) configured to forward the API request to a microservice server (306); the microservice server (306) configured to extract the viewport details from the API request and converting the viewport details to one or more tile identifiers (Tile IDs); the microservice server configured to transmit the viewport details to a distributed data storage (308); the distributed data storage (308) configured to retrieve the building data using the one or more Tile ID(s); and the distributed data storage (308) configured to transmit the retrieved building data to the microservice server (306).
8. The system (108) as claimed in claim 7, wherein: the microservice server (306) is configured to transmit the retrieved building data to the one or more application servers (404); the one or more application servers (404) are configured to transmit the retrieved building data to the one or more web servers (304); and the one or more web servers (304) are configured to transmit the retrieved building data to the user interface (UI) (206).
9. The system (108) as claimed in claim 7, wherein the viewport details include one or more zoom levels.
10. The system (108) as claimed in claim 7, wherein the distributed data storage (308) is configured to: store the building data associated with the one or more Tile ID(s) for the one or more zoom levels, wherein: each building is associated with the one or more Tile ID(s) and the one or more zoom levels; and each row key in the distributed data storage (308) is identified by a combination of a Tile ID and a zoom level.
11. The system (108) as claimed in claim 10, wherein the distributed data storage (308) is configured to: receive a query from the microservice server (306), wherein the query including the one or more Tile ID(s) corresponding to the viewport details; and retrieve the building data associated with the query, wherein the retrieving is performed by identifying the row key corresponding to the queried Tile ID(s) and the zoom level.
12. The system (108) as claimed in claim 11, wherein the distributed data storage (308) is updated periodically to store the building data associated with the one or more Tile ID(s) for the plurality of zoom levels.
13. A user equipment (UE) (104) communicatively coupled with a network (106), the coupling comprises steps of: receiving, by the network (106), a connection request from the UE (104); sending, by the network (106), an acknowledgment of the connection request to the UE (104); and transmitting a plurality of signals in response to the connection request, wherein the UE (104) is configured to establish a connection with one or more web servers (304) wherein building data is managed by a method as claimed in claim 1.
14. A computer program product comprising a non-transitory computer- readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform a method (600) for managing building data, the method (600) comprising: receiving (602), by a user interface (UI) (206), an application program interface (API) request, wherein the API request includes viewport details; transmitting (604), by the UI (206), the API request to one or more web servers (304) through a load balancer (402); forwarding (606), by the one or more web servers (304), the API request to a microservice server (306); extracting (608), by the microservice server (306), the viewport details from the API request and converting the viewport details to one or more tile identifiers (Tile IDs); transmitting (610), by the microservice server (306), the viewport details to a distributed data storage (308); retrieving (612), by the distributed data storage (308), the building data using the one or more Tile ID(s); and transmitting (614), by the distributed data storage (308), the retrieved building data to the microservice server (306).
PCT/IN2025/050301 2024-03-21 2025-03-01 System and method for managing building data Pending WO2025196809A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN202421021577 2024-03-21
IN202421021577 2024-03-21

Publications (1)

Publication Number Publication Date
WO2025196809A1 true WO2025196809A1 (en) 2025-09-25

Family

ID=97138593

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IN2025/050301 Pending WO2025196809A1 (en) 2024-03-21 2025-03-01 System and method for managing building data

Country Status (1)

Country Link
WO (1) WO2025196809A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7599790B2 (en) * 2004-03-23 2009-10-06 Google Inc. Generating and serving tiles in a digital mapping system
US7872650B2 (en) * 2006-04-27 2011-01-18 Microsoft Corporation Remotely viewing large tiled image datasets
US20160298982A1 (en) * 2015-04-13 2016-10-13 Google Inc. Dynamically Controlling Map Viewport in View of User Signals
US20230102377A1 (en) * 2021-09-29 2023-03-30 Magnopus, LLC Platform Agnostic Autoscaling Multiplayer Inter and Intra Server Communication Manager System and Method for AR, VR, Mixed Reality, and XR Connected Spaces

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7599790B2 (en) * 2004-03-23 2009-10-06 Google Inc. Generating and serving tiles in a digital mapping system
US7872650B2 (en) * 2006-04-27 2011-01-18 Microsoft Corporation Remotely viewing large tiled image datasets
US20160298982A1 (en) * 2015-04-13 2016-10-13 Google Inc. Dynamically Controlling Map Viewport in View of User Signals
US20230102377A1 (en) * 2021-09-29 2023-03-30 Magnopus, LLC Platform Agnostic Autoscaling Multiplayer Inter and Intra Server Communication Manager System and Method for AR, VR, Mixed Reality, and XR Connected Spaces

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
OPEN GEOSPATIAL CONSORTIUM: "OGC API - Tiles - Part 1: Core", OPEN GEOSPATIAL CONSORTIUM, VOL. 20-057, 10 November 2022 (2022-11-10), pages 1 - 74, XP093360808, Retrieved from the Internet <URL:https://docs.ogc.org/is/20-057/20-057.html> *

Similar Documents

Publication Publication Date Title
JP6880131B2 (en) Methods, devices and systems for data processing
CN109522330B (en) Cloud platform data processing method, device, equipment and medium based on block chain
US8880589B2 (en) Signature based map caching
US20120158762A1 (en) Methods, apparatuses and computer program products for converting a geographical database into a map tile database
MX2009001948A (en) Panoramic ring user interface.
US9672258B2 (en) Systems and methods for dynamically selecting graphical query result display modes
EP2668603B1 (en) Caching resources
CN115294310B (en) Multi-user scene control system and method based on GIS cloud rendering and storage medium
CN109522462B (en) Cloud query method, device, equipment and storage medium based on block chain
CN104539681A (en) Distributed GIS accelerating system and GIS service processing method
CN110888963B (en) Data acquisition method and device, electronic equipment and storage medium
US20160299910A1 (en) Method and system for querying and visualizing satellite data
CN107888666A (en) A kind of cross-region data-storage system and method for data synchronization and device
US20220147487A1 (en) Indexing documents in a nested hierarchy of directories
CN110209748A (en) The method and apparatus for indexing geography fence
WO2024156238A1 (en) Map data aggregation display method and apparatus, and electronic device
CN101179475B (en) A method for downloading map data in a peer-to-peer network
CN116010677B (en) Spatial indexing method, device and electronic equipment thereof
KR20130089890A (en) Management system and method for knowledge information of industrial technology
CN113362090A (en) User behavior data processing method and device
US20110122132A1 (en) Apparatus and method of managing objects and events with vector-based geographic information system
WO2025196809A1 (en) System and method for managing building data
Sinanovic et al. Smart city use case development based on FIWARE technology
Huang et al. LOST-Tree: a spatio-temporal structure for efficient sensor data loading in a sensor web browser
Li et al. Bringing geospatial data closer to mobile users: A caching approach based on vector tiles for wireless multihop scenarios

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 25774012

Country of ref document: EP

Kind code of ref document: A1