IP Library Granted Patent US 9,534,903
Granted Patent B2
US 9,534,903 · App. 14/466,559 · Granted Jan 3, 2017

Management of annotated location aware assets

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,534,903
App. No.
14/466,559
Granted
Jan 3, 2017
Kind
B2
Abstract

A method may include storing a plurality of floor maps, each floor map indicating a structural layout of a respective physical location, storing a plurality of point-of-interest (POI) data structures, each POI data structure including a physical location of an associated POI that is associated with the respective POI data structure, receiving a floor map request, the floor map request including a requested location, based upon the location included by the floor map request, selecting a floor map and a subset of the plurality of POI data structures, for each of the subset of the plurality of POI data structures, receiving metadata from the associated POI, the metadata indicating a status of the associated POI, and transmitting, to the client computing device and in response to the floor map request, the selected floor map and the selected POI data structures.

Claims (81)

1. A method comprising:

storing, in a memory device, a plurality of floor maps, each floor map indicating a layout of a physical location;

storing, in a memory device, a plurality of point-of-interest (POI) data structures,

each POI data structure including an element indicating a physical location of a POI,

each POI data structure including metadata indicating a status of the POI, and

each POI data structure including at least one POI action including an action implemented through at least one of a uniform resource identifier (URI), a uniform resource locator (URL), or a workflow action, the at least one POI action being a role-based action, the role-based action being based on at least one of a user of the POI or a user of a user device in communication with the POI;

receiving, from one or more of a plurality of computing devices, information regarding one of the POI included in the plurality of POI data structures;

updating the metadata of one of the plurality of POI data structures based on the received information;

receiving a floor map request from a client computing device, wherein the floor map request includes a requested location;

based upon the location included by the floor map request, selecting a floor map and a subset of POI data structures;

transmitting, to the client computing device and in response to the floor map request, the selected floor map and the selected POI data structures; and

receiving metadata from at least one POI of the selected POI data structures and the client computing device, the metadata indicating a status of the POI.

2. The method of claim 1 , wherein transmitting includes:

annotating the selected floor map by overlaying on the selected floor map an indicator for each selected POI data structure such that the indicator is placed on the floor map at a location representing the physical location of the at least one POI and indicates both the type of the at least one POI and the status of the at least one POI, and

transmitting the annotated floor map to the client computing device.

3. The method of claim 2 , wherein transmitting the a response to the floor map request includes:

dividing the annotated floor map into a plurality of tiles, and

transmitting, to the computing device, one or more of the tiles as a user requests to view a portion of the annotated floor map that includes the transmitted tiles.

4. The method of claim 1 , wherein selecting the subset of POI data structures includes:

determining the subset of POI data structures based upon a distance between the requested location and the physical location of the at least one POI.

5. The method of claim 1 , wherein the metadata includes a POI type indicating a type of the POI, and a POI status indicating the status of the POI.

6. The method of claim 1 , further comprising receiving a request from a computing device to perform a POI action implemented as one of the uniform resource identifier (URI), the uniform resource locator (URL), or the workflow action in regards to one of the POIs.

7. The method of claim 6 , further comprising:

determining if the POI action may be performed either wholly locally or requires the assistance of a remote computing device, and

if the performance of the POI action requires assistance of the remote computing device, transmitting, via a network interface, a POI action request message, to the remote computing device, that includes a request to perform at least a portion of the POI action.

8. The method of claim 1 , wherein the metadata includes a POI type indicating a type of the POI, and a POI status indicating the status of the POI; and

the method further comprising:

detecting a change in the POI metadata of at least one selected POI data structure; and

transmitting, to the client computing device, an update message that includes the change to the POI metadata.

9. The method of claim 1 , wherein

the floor map request includes a filtering criteria, and

selecting the subset of the plurality of POI data structures includes selecting a POI data structure only if the POI data structure passes the filtering criteria.

10. An apparatus comprising:

a storage medium configured to:

store a plurality of floor maps, each floor map indicating a layout of a predefined physical location, and

store a plurality of point-of-interest (POI) data structures,

each POI data structure including an element indicating a physical location of a POI,

each POI data structure including metadata indicating a status of the POI, and

each POI data structure including at least one POI action including an action implemented through at least one of a uniform resource identifier (URI), a uniform resource locator (URL), or a workflow action, the at least one POI action being a role-based action, the role-based action being based on at least one of a user of the POI or a user of a user device in communication with the POI;

a network interface configured to:

receive, from one or more of a plurality of computing devices, information regarding one of the POI included in the plurality of POI data structures, and

receive a floor map request from a client computing device, wherein the floor map request includes a requested location; and

a processor configured to:

update the metadata of one of the plurality of POI data structures based on the received information,

based upon the location included by the floor map request, select a floor map and a subset of POI data structures,

transmit, to the client computing device and in response to the floor map request, the selected floor map and the selected POI data structures, and

receive metadata from at least one POI of the selected POI data structures and the client computing device, the metadata indicating a status of the at least one POI.

11. The apparatus of claim 10 , wherein

the processor is configured to annotate the selected floor map by overlaying on the selected floor map an indicator for each selected POI data structure such that the indicator is placed on the floor map at a location representing the physical location of the POI and indicates both the type of the POI and the status of the POI, and

the network interface is configured to transmit the annotated floor map to the client computing device.

12. The apparatus of claim 11 , wherein the processor is configured to divide the annotated floor map into a plurality of tiles; and

wherein the network interface is configured to transmit, to the computing device, one or more of the tiles as a user requests to view a portion of the annotated floor map that includes the transmitted tiles.

13. The apparatus of claim 10 , wherein the processor is configured to:

determine the subset of POI data structures based upon a distance between the requested location and the physical location of the POI of the POI data structure.

14. The apparatus of claim 10 , wherein

each metadata includes a type indicating a type of the POI, and a status indicating the status of the POI.

15. The apparatus of claim 10 , wherein the network interface is configured to receive a request from a computing device to perform a POI action implemented as one of the uniform resource identifier (URI), the uniform resource locator (URL), or the workflow action in regards to one of the POIs.

16. The apparatus of claim 15 , wherein the processor is configured to:

determine if the POI action may be performed either wholly locally or requires the assistance of a remote computing device; and

the network interface is configured to, if the performance of the POI action requires assistance of the remote computing device, transmit a POI action request message, to the remote computing device, that includes a request to perform at least a portion of the POI action.

17. The apparatus of claim 10 , wherein the metadata includes a POI type indicating a type of the POI, and a POI status indicating the status of the POI; and

wherein the processor is further configured to detect a change in the POI metadata of at least one selected POI data structure; and

wherein the network interface is further configured to transmit, to the client computing device, an update message that includes the change to the POI metadata.

18. The apparatus of claim 10 , wherein the floor map request includes a filtering criteria; and

wherein the processor is configured to select a POI data structure only if the POI data structure passes the filtering criteria.

19. A computer program product for asset management, the computer program product being embodied on a non-transitory computer-readable medium and including executable code that, when executed, is configured to cause an apparatus to:

store, in a memory device, a plurality of floor maps, each floor map indicating a layout of a predefined physical location;

store, in a memory device, a plurality of point-of-interest (POI) data structures,

each POI data structure including an element indicating a physical location of a POI,

each POI data structure including metadata indicating a status of the POI, and

each POI data structure including at least one POI action including an action implemented through at least one of a uniform resource identifier (URI), a uniform resource locator (URL), or a workflow action, the at least one POI action being a role-based action, the role-based action being based on at least one of a user of the POI or a user of a user device in communication with the POI;

receive, from one or more of a plurality of computing devices, information regarding one of the POI included in the plurality of POI data structures;

update the metadata of one of the plurality of POI data structures based on the received information;

receive a floor map request from a client computing device, wherein the floor map request includes a requested location;

based upon the location included by the floor map request, select a selected floor map and a selected subset of POI data structures;

transmit, to the client computing device and in response to the floor map request, the selected floor map and the selected POI data structures; and

receive metadata from at least one POI of the selected POI data structures and the client computing device, the metadata indicating a status of the POI.

20. The computer-readable medium of claim 19 , wherein the metadata includes a POI type indicating a type of the POI, and a POI status indicating the status of the POI; and

wherein the executable code that, when executed, is configured to cause the apparatus to:

detect a change in the POI metadata of at least one selected POI data structure, and

transmit, to the client computing device, an update message that includes the change to the POI metadata.

Assignments (15)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2025
From: BMC SOFTWARE, INC.
To: BMC HELIX, INC.
Reel/Frame 070442/0197 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0617 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0408 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052844/0646 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052854/0139 →
RELEASE OF PATENTS Recorded Oct 5, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.; BMC ACQUISITION L.L.C.
Reel/Frame 047198/0468 →
SECURITY INTEREST Recorded Oct 2, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047185/0744 →
SECURITY INTEREST Recorded Aug 10, 2017
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043514/0845 →
SECURITY INTEREST Recorded Jul 27, 2017
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043351/0231 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2014
From: CLINE, TROY; HE, TING; GERE, WESLEY; GRAHAM, JASON L.; BEHNIA, KIA
To: BMC SOFTWARE, INC.
Reel/Frame 033594/0762 →