Beacon-enabled system for location-based data retrieval
By detecting and parsing beacon signals on computing devices and automatically identifying places and asset identifiers, the cumbersome and error problems caused by manual input in the prior art are solved, and the automatic positioning of assets and information updates are realized, and the search efficiency is improved. and accuracy.
Patent Information
- Application Number
- CN201910115234.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-03-16
- Filing Date
- 2019-02-15
- Publication Date
- 2025-01-14
- Estimated Expiration
- 2039-02-15
AI Technical Summary
Existing computing systems need to manually enter the place and asset identifiers when retrieving and locating assets, resulting in cumbersome and error-prone, wasting time and computing resources.
Through the communication module executed on the computing device, the beacon signal is detected, the beacon signal is parsed to identify the place and asset identifiers, the relevant information is automatically retrieved, and the asset location and route are presented through the user interface, automatic asset positioning and information updates are realized.
It reduces manual search and input errors, improves the efficiency and accuracy of asset retrieval, reduces the operational burden of technicians, and realizes automated asset positioning and information updates.
Smart Images

Figure CN110275897B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to computing systems and, more particularly, to beacon-enabled systems for location-based data retrieval. Background Art
[0002] Computing systems such as enterprise resource planning (ERP) systems can be used to create, store, retrieve, and record the progress of work orders to be performed on company assets. For example, a user can submit a work order ticket to create a work order for repairing a laptop with a cracked screen. This work order and / or other work orders can be assigned to technicians who can complete the assigned work orders. The work orders assigned to technicians can correspond to assets located in various locations (such as different buildings, floors of buildings, etc.). Moreover, some types of assets are mobile, such as laptops that can be carried around by users. Therefore, it is difficult for technicians to discern the exact location of the assets to be processed in order to satisfy the work order.
[0003] A technician may be near a location where a laptop and / or other assets are located. The technician must manually access a computer, connect the computer to the ERP system, and manually search for work orders assigned to the technician. The technician must then manually filter the work orders to identify the work orders to be performed at this location. In order to query the ERP system to identify the assigned work orders for the location, the technician must know the location identifier of the location and the asset identifiers of those assets that the technician is to work on. This is a tedious manual task that wastes time and computing resources, such as due to manual input errors. Summary of the invention
[0004] In one aspect, the present disclosure discloses a non-transitory computer-readable medium storing computer-executable instructions, which, when executed by a processor of a computing device, causes the processor to: control a wireless receiver of the computing device to listen for beacon signals transmitted by beacon devices located at different locations within a venue; in response to receiving a first beacon signal by the wireless receiver from a first beacon device located at the venue: evaluate the first beacon signal to identify a venue identifier of the venue; send a request including the venue identifier to a remote computing system via a network for requesting asset information of an asset located at the venue; receive the asset information from the remote computing device via the network; construct a user interface populated with the asset information to indicate the location of the assets within the venue relative to the computing device so that the assets can be located by a user within the venue; and present the user interface on a display of the computing device; and use the user interface to generate a route through the venue to a target asset on the display, wherein the location of the asset provided via the user interface is updated based on a change in the location of the computing device within the venue. BRIEF DESCRIPTION OF THE DRAWINGS
[0005] The accompanying drawings that are incorporated in this specification and form a part thereof illustrate various systems, methods and other embodiments of the present disclosure. It will be appreciated that the element boundaries (e.g., boxes, groups of boxes, or other shapes) illustrated in the figures represent an embodiment of boundaries. In certain embodiments, an element may be implemented as a plurality of elements, or a plurality of elements may be implemented as an element. In certain embodiments, an element that is shown as an internal component of another element may be implemented as an external component, and vice versa. In addition, the element may not be drawn to scale.
[0006] Figure 1 An embodiment of a system associated with location-based data retrieval is illustrated.
[0007] Figure 2 Embodiments of methods associated with location-based data retrieval are illustrated.
[0008] Figure 3A An embodiment of a system associated with location-based data retrieval is illustrated in which a user interface is presented on a computing device.
[0009] Figure 3B An embodiment of a system associated with location-based data retrieval is illustrated wherein a user interface is populated with asset information for a first asset and a site map.
[0010] Figure 3CAn embodiment of a system associated with location-based data retrieval is illustrated wherein a user interface is populated with asset information for a second asset and a site map.
[0011] Figure 3D An embodiment of a system associated with location-based data retrieval is illustrated wherein a user interface is populated with asset information for a first asset and a second asset and a site map.
[0012] Figure 4 Embodiments of non-transitory computer readable media are illustrated.
[0013] Figure 5 An embodiment of a computing system configured with the disclosed example systems and / or methods is illustrated.
[0014] Figure 6 An embodiment of an integrated business system and enterprise network is illustrated in which embodiments of the present invention may be implemented.
[0015] Figure 7 An embodiment of a multi-tenant distributed computing service platform is illustrated. DETAILED DESCRIPTION
[0016] This article describes a computerized system and method for providing data retrieval based on location. Specifically, a beacon system is used to determine what asset and work order information to be retrieved and displayed on a computing device in an automatic manner to improve the prior art process for work order retrieval. The prior art process for work order retrieval requires a user to access a computer to connect the computer to a remote computing system, such as an enterprise resource planning (ERP) system that stores work orders. The user must interface with the ERP system to query the ERP system for work orders assigned to the user. The user must then filter the work orders to identify specific work orders for assets located at the location where the user is going to perform such work orders. This manual search and filtering is cumbersome and error-prone because the user must know and enter a location identifier, an asset identifier, and / or other information in order to retrieve the relevant work orders from the ERP system.
[0017] Thus, as provided herein, a communication module executed on a computing device is configured to detect beacon signals sent from beacon devices at different locations within a venue. These beacon signals are parsed to identify a venue identifier of the venue, an asset identifier of an asset within the venue, and an identifier of the beacon device that has emitted such a beacon signal. Such information is used to determine the current position of the computing device relative to the beacon device within the venue when the computing device moves near the venue. The information is also used to selectively retrieve asset information of assets located at the venue with an open work order assigned to a user of the computing device. The location of the assets and beacon devices relative to the current location of the computing device is displayed by an electronic venue map of the venue as an asset indicator, a beacon indicator, and an equipment indicator. As the computing device moves near the venue, the electronic venue map is updated. In this way, asset information, work order information, and electronic venue maps are presented in an automatic manner through a user interface of the computing device, without the need to manually search for such information. Therefore, the operation of the computing device is improved using new functionality to provide automatic information related to the current location environment of the computing device.
[0018] refer to Figure 1 , illustrates one embodiment of a system 100 associated with location-based data retrieval. The system 100 may be implemented as a computer hosted on a computing device 110 (such as a mobile phone, tablet computer, laptop, wearable device, or other device such as a Figure 5 The system 100 may be associated with a communication module 105 on a computer 515 (or any other computer such as a computer 515). The system 100 may be associated with beacon devices placed at different locations near a place 115 (such as a building, an outdoor location, an amusement park, etc.). The beacon device includes transmitter hardware capable of transmitting a beacon signal that can be detected by other computing devices such as the computing device 110. The beacon device may transmit a beacon signal that delivers proximity-based and context-aware messages that can be used by receiving devices to determine their proximity to the beacon device. Therefore, when the computing device 110 is close enough to the beacon device to receive the beacon signal sent from the beacon device, the computing device 110 may "see" the beacon device. The beacon device may be configured to repeatedly transmit the beacon signal so that the computing device 110 can detect the beacon device in real time as the computing device 110 moves near the place 115. The beacon device may utilize Bluetooth technology to transmit the beacon signal so that any computing device with Bluetooth functionality can receive the beacon signal.
[0019] In one embodiment, the beacon signal includes a single identifier number of the beacon device, and the single identifier number includes one or more parts, such as a universal unique identifier (UUID) of the beacon device, a major number, and / or a minor number. Each part can be customized to convey a selected type of information. In one example, the major number can be configured to include a place identifier, and the minor number can be configured to optionally include an asset identifier if the beacon device is associated with an asset. In another example, the major number can be used to indicate the type of beacon device, such as whether the beacon device is a place beacon that is located at the entrance of the place and is therefore not associated with an asset or an asset beacon that is associated with an asset. For example, the major number can be set to a value of 1 or any other value to identify the beacon device as a place beacon, and to a value of 2 or any other value to identify the beacon device as an asset beacon. In this way, each part of the single identifier number can be customized to convey a selected type of information.
[0020] At the place 115, a beacon device 120 is placed at the entrance of the place 115. When the computing device 110 enters the communication range of the beacon device 120, the communication module 105 can detect and receive the beacon signal 125 emitted by the beacon device 120. The communication module 105 parses the beacon signal 125 to identify the place identifier of the place 115 and the identifier of the beacon device 120. Using the place identifier, the communication module 105 can query a data structure or a remote service using the place identifier to identify the place 115 where the computing device 110 is located. In one embodiment, the data structure is hosted locally on the computing device 110, such as in a table or database where the place identifier is mapped to the place name / description. In another embodiment, the remote service is hosted by a remote computing device (such as an enterprise resource planning (ERP) system). Using the identifier of the beacon device 120, the communication module 105 may use the identifier to query a data structure or a remote service to identify the beacon device 120, the location of the beacon device 120 within the venue 115, and / or other information about the beacon device 120. In one embodiment, the data structure may include a table or database in which the identifier of the beacon device is mapped to a beacon device name / description, a beacon device location, an asset associated with the beacon device, etc.
[0021] The communication module 105 can retrieve asset information for assets within the site 115 from a remote computing device, such as an ERP system. The asset information can describe assets within the site 115, such as assets with open work orders assigned to a user of the computing device 110. The asset information is presented through a user interface displayed on a display of the computing device 110, such as by identifying assets 135 and assets 150, descriptions of these assets, and a list of work orders to be performed on these assets. In one embodiment, an electronic site map of the site 115 is also presented on the display to show the location of the assets within the site 115 relative to the computing device 110.
[0022] As computing device 110 moves within place 115, the electronic place map and / or asset information is updated using the location of the asset relative to computing device 110 and / or using information about nearby assets. Specifically, when computing device 110 enters the communication range of different beacon devices, communication module 105 will be able to detect and receive beacon signals emitted from the beacon device. The beacon signal is parsed to identify an identifier of the beacon device, which can be used to determine the location of the beacon device, and therefore determine the location of computing device 110 relative to the beacon device within place 115. Information about assets associated with the beacon device can be retrieved and presented through a user interface and / or an electronic place map. In this way, as computing device 110 moves around place 115, the user interface and electronic place map are updated in real time in an automatic manner using asset information of nearby assets.
[0023] In one embodiment, when the computing device 110 is in proximity to a beacon device 130 associated with an asset 135, the communication module 105 can detect and receive a beacon signal 140 emitted by the beacon device 130. The communication module parses the beacon signal 140 to obtain an identifier of the beacon device 130 and an asset identifier of the asset 135. The identifier and the asset identifier can be used to query a data structure to identify information related to the asset 135 and the beacon device 130, such as the location of the asset 135 and the beacon device 130, open work orders for the asset 135, etc. This information can be used to update a user interface and / or an electronic site map, such as where work orders are displayed within a user interface and where the locations of the asset 135 and the beacon device 130 are populated within an electronic site map. Similarly, when the computing device 110 comes within range of the computing device 110 so that the communication module 105 can receive a beacon signal 155 from the beacon device 145, the user interface and / or electronic venue map can be updated with information related to the beacon device 145 and / or the asset 150 associated with the beacon device 145.
[0024] refer to Figure 2, illustrates one embodiment of a computer-implemented method 200 associated with location-based data retrieval. In one embodiment, the method 200 is performed by the communication module 105 using various computing resources (such as processor 520) of the computer 515 and / or other computers to execute instructions associated with controlling wireless receivers, evaluating beacon signals, and building and presenting user interfaces. The memory 535 and / or disk 555 are used to store asset information and / or other data. The network hardware is used to transmit data structures and / or other data between the computer 515 and a remote computer over a network, such as for selectively retrieving asset information from a remote computing device such as an ERP system. The method 200 is triggered when an application implementing the communication module 105 is executed on the computing device 110.
[0025] Beacon devices are positioned at different locations within site 305, such as beacon device 310, beacon device 315, and beacon device 325 within the first floor of a building, such as Figure 3A 305. Beacon device 310 is configured to transmit a beacon signal encoded with information about beacon device 310. In one embodiment, a first portion of the beacon signal is encoded with an identifier of beacon device 310, a second portion of the beacon signal is encoded with a major number that maps to a venue identifier of venue 305, and a third portion of the beacon signal is optionally encoded with a minor number that maps to an asset identifier of an asset associated with beacon device 310. Since beacon device 310 is not associated with an asset, but is instead installed near an entrance to venue 305 as an indicator to computing devices that they have entered venue 305, the third portion may be encoded with a placeholder / dummy value or excluded from the beacon signal.
[0026] Beacon device 315 is associated with asset 320 and is configured to transmit a beacon signal encoded with information about beacon device 315 and asset 320. In one embodiment, a first portion of the beacon signal is encoded with an identifier of beacon device 315, a second portion of the beacon signal is encoded with a major number mapped to a venue identifier of venue 305, and a third portion of the beacon signal is encoded with a minor number mapped to an asset identifier of asset 320.
[0027] Beacon device 325 is associated with asset 330 and is configured to transmit a beacon signal encoded with information about beacon device 325 and asset 330. In one embodiment, a first portion of the beacon signal is encoded with an identifier of beacon device 325, a second portion of the beacon signal is encoded with a major number mapped to a venue identifier of venue 305, and a third portion of the beacon signal is encoded with a minor number mapped to an asset identifier of asset 330. It will be appreciated that any number of beacon devices may be located within venue 305. The beacon device may be stand-alone, attached to or mounted within a wall or structure, implemented as a stand-alone device, incorporated into another device, attached to or mounted within an asset, and the like.
[0028] Computing device 110 , such as a mobile device of a technician who will perform work orders on assets 320 and 330 within site 305 , is configured to execute communication module 105 for detecting and processing beacon signals received from beacon devices.
[0029] At 205, the communication module 105 controls the wireless receiver of the computing device 110 to listen for beacon signals sent by beacon devices located at different locations within the venue 305. In one embodiment, the communication module 105 (such as an application executed on the computing device 110) uses a Bluetooth driver installed within the operating system of the computing device 110 to access and control the Bluetooth receiver of the computing device 110. The commands and functions of the Bluetooth driver can be used by the communication module 105 to obtain beacon signals received by the Bluetooth receiver. In this way, the communication module 105 controls the wireless receiver to receive beacon signals and provides access to the received beacon signals to the communication module 105.
[0030] In response to receiving the first beacon signal from the beacon device 310 by the wireless receiver, the first beacon signal is evaluated at 210 to identify a venue identifier of the venue 305. Specifically, the communication module 105 parses the first beacon signal to identify the venue identifier and the identifier of the beacon device 310. In one embodiment where the first beacon signal includes a sequence of characters, a first portion of the sequence is parsed to extract the identifier of the beacon device 310, and a second portion of the sequence is parsed to extract a major number mapped to the venue identifier of the venue 305. Since the beacon device 310 is not associated with a particular asset, a third portion of the sequence may include a placeholder / dummy value indicating to the communication module 105 that the beacon device 310 is not associated with an asset. Therefore, the communication module 105 parses the third portion of the sequence to identify the minor number having the placeholder / dummy value. In one embodiment, in response to receiving a first beacon signal from a beacon device 310 not associated with an asset and located at an entrance to a venue 305 , the communication module 105 presents a venue description user interface populated with a description of the venue, such as a welcome message and information about the venue 305 .
[0031] At 215, the communication module 105 sends a request including a venue identifier to a remote computing system over a network to request asset information 340 of an asset located at the venue 305. The communication module 105 utilizes a representational state transfer (REST) application programming interface (API) to send the request over a network to an ERP system hosted by a remote computing device. The request includes instructions for the ERP system to query one or more data structures for asset information associated with the assets of the venue 305 (such as descriptions of assets with open work orders, open work orders, locations of assets, etc.). In one embodiment, the request includes an identifier of a technician so that asset information is requested only for assets with open work orders assigned to the technician. In one embodiment, the request includes a request for an electronic venue map 345 of the venue 305 (e.g., a request for data for constructing the electronic venue map 345). The electronic venue map 345 may depict walls, floors, doorways, assets, beacon devices, and / or other objects within a first floor of the venue 305.
[0032] At 220, asset information 340 is received from a remote computing device over a network. In one embodiment, the ERP system queries one or more data structures to determine that assets 320 and 330 are located within site 305 and have open work orders assigned to technicians. Thus, the ERP system sends descriptions, images, or other information of assets 320 and 330 as asset information 340. The ERP system may send the open work orders for assets 320 and 330 as asset information 340. In this manner, the communication module 105 receives asset information 340 from the ERP system over a network. In one embodiment where an electronic site map 345 is requested, the ERP system sends the electronic site map 345 to the computing device 110.
[0033] At 225, the communication module 105 constructs a user interface 335 using the asset information 340 to indicate the location of the assets within the place 305 relative to the computing device 110 so that the assets can be located by the technician within the place 305. In one embodiment, the user interface 335 is populated with descriptions of all assets, assets with open work orders, nearby assets associated with beacon devices within the communication distance of the computing device 110, or assets with open work orders assigned to the technician. Thus, asset information of various granularities can be displayed through the user interface 335. In one embodiment, the user interface 335 can be populated with images of assets, locations of assets, and / or employees who own these assets to help technicians find assets. In one embodiment, the user interface 335 is populated with open work orders for assets.
[0034] At 230, a user interface 335 is presented on a display of the computing device 110. The user interface 335 may be presented by an application implementing the communication module 105. The user interface 335 may be presented in an automated manner without a technician manually interfacing with the application to search for and retrieve the asset information 340 populated within the user interface 335. That is, listening for beacon signals, retrieving the asset information 340 and the electronic site map 345, and constructing the user interface 335 may be performed without manual input or intervention, which greatly reduces the error and manual burden of having a technician search for such information.
[0035] In one embodiment, an electronic site map 345 is presented on a display of the computing device 110. The electronic site map 345 is populated with asset indicators of assets within the site 305, such as assets within a threshold distance of the computing device 110, all assets within the site 305, or assets with open work orders assigned to a technician. The threshold distance corresponds to the distance at which the computing device 110 is able to receive a beacon signal from a beacon device associated with the corresponding asset. The asset indicators are populated at locations within the electronic site map 345 corresponding to the locations of these assets within the site 305. In one embodiment, these locations can be specified by asset information 340 received from a remote computing device. In another embodiment, these locations can be determined in real time based on beacon signals received from beacon devices associated with these assets. For example, when the communication module 105 detects a beacon signal from a beacon device 325 associated with an asset 330, the communication module 105 can determine that the computing device 110 is near the asset 330. Thus, if asset 330 is mobile, such as a laptop, computing device 110 may detect the current location of asset 330 relative to computing device 110 based on being able to receive or not receive a beacon signal from beacon device 325 .
[0036] The electronic venue map 345 is populated with device indicators to indicate the current location of the computing device 110 within the venue 305. The current location can be determined based on location information extracted from beacon signals received from beacon devices. In one embodiment, when the computing device 110 enters the communication range of the beacon device 315, the communication module 105 will begin to receive beacon signals from the beacon device 315. These beacon signals indicate the location of the computing device 110 close to the beacon device 315.
[0037] At 235, a route through the venue 305 to the target asset is generated and presented on the display of the computing device 110. In one embodiment, the technician may select the target asset from within the asset information 340, or may select an asset indicator of the target asset from the electronic venue map 345. In response to the selection, a path may be created (e.g., drawn) within the electronic venue map 345 from the device indicator of the computing device 110 to the asset indicator of the target asset within the electronic venue map 345. The path may be updated in real time as the computing device 110 moves within the venue 305. In this manner, the technician is routed to the target asset via the user interface 335.
[0038] In one embodiment, the communication module 105 is configured to continuously monitor using a wireless receiver to detect beacon signals from a beacon device as the computing device 110 moves about the location 305. That is, the communication module 105 instructs the wireless receiver to continuously listen for beacon signals using the wireless receiver's transceiver. In one example, the communication module 105 may periodically query the wireless receiver to determine whether a new beacon signal has been received. In another example, the communication module may register with the wireless receiver to receive push notifications from the wireless receiver when a new beacon signal is received. In this way, the computing device 110 listens for new and / or different beacon signals from other devices in the area as the computing device 110 is moved. Assume that the computing device 110 leaves the beacon device 310 and moves toward the beacon device 315, as shown in FIG. Figure 3B Upon detecting a beacon signal transmitted by the beacon device 315, the communication module 105 parses the beacon signal to identify an identifier of the beacon device 315, a venue identifier of the venue 305, an asset identifier of the asset 320 associated with the beacon device 315, and / or other information.
[0039] The communication module 105 sends a request to the remote computing device to retrieve updated asset information 350 including asset information for the asset 320 and an updated electronic site map 355 (e.g., data for constructing / presenting the updated electronic site map 355). The request may include an identifier of the beacon device 315, a site identifier of the site 305, an asset identifier of the asset 320, and / or other information (such as an identifier of a technician that may be used to determine whether there is an open work order assigned to the technician for the asset 320).
[0040] The updated asset information 350 may include work order information for the work order for the asset 320, such as a work order number for the work order, a description of the work order, a status of the work order, a priority of the work order, and an asset description of the asset 320. Accordingly, the work order information may be populated within the user interface 335. The updated site map 355 may display the device indicator located near the asset indicator of the asset 320 because the computing device 110 is now within the communication range of the beacon device 315. In this manner, the user interface 335 is updated with the updated asset information 350 and the updated electronic site map 355, thereby depicting that the device indicator is located near the asset 320. In one embodiment, the work order is displayed in response to the technician selecting the asset 320 from the updated asset information 350 or selecting the asset indicator of the asset 320 populated within the updated site map 355.
[0041] The computing device 110 may leave the beacon device 315 so that the communication module 105 no longer receives the beacon signal from the beacon device 315. Figure 3C As shown. The computing device 110 can move toward a beacon device 325 associated with an asset 330. Upon detecting a beacon signal emitted by the beacon device 325, the communication module 105 parses the beacon signal to identify an identifier of the beacon device 325, a location identifier of the location 305, an asset identifier of the asset 330 associated with the beacon device 325, and / or other information. The communication module 105 sends a request to a remote computing device to retrieve updated asset information 360 including asset information of the asset 330 and an updated electronic location map 365 (e.g., data for constructing / presenting the updated electronic location map 365). The request can include an identifier of the beacon device 325, a location identifier of the location 305, an asset identifier of the asset 330, and / or other information (such as an identifier of a technician that can be used to determine whether there is an open work order assigned to the technician for the asset 330).
[0042] The updated asset information 360 may include work order information for the work order for the asset 320, such as the work order number of the work order, the description of the work order, the status of the work order, the priority of the work order, and the asset description of the asset 320. Thus, the work order information may be populated within the user interface 335. The updated electronic site map 365 may display the device indicator located near the asset indicator of the asset 330 because the computing device 110 is now within the communication range of the beacon device 325. In one embodiment, the asset information and / or asset indicator of the asset 320 is no longer displayed because the computing device 110 is not within the communication range of the beacon device 315. In other embodiments, the asset information and / or asset indicator of the asset 320 is still displayed. Thus, the updated asset information 360 may include or exclude the asset information of the asset 320. In this manner, the user interface 335 is updated with the updated asset information 360 and the updated electronic site map 365, thereby depicting that the device indicator is located near the asset 330.
[0043] Computing device 110 may move to a location where communication module 105 receives beacon signals from both beacon device 315 and beacon device 325, such as Figure 3DAccordingly, communication module 105 retrieves updated asset information 370 for asset 320 and asset 330 and an updated venue map 375 depicting an asset indicator for asset 320 and device indicators near the asset indicator for asset 330. In this manner, as computing device 110 moves around venue 305, the asset information and asset indicators displayed via user interface 335 are continuously updated to include asset information and indicators for assets near computing device 110.
[0044] Figure 4 is an illustration of a scenario 400 involving an example non-transitory computer-readable medium 405. In one embodiment, one or more of the components described herein are configured as a program module, such as the communication module 105, stored in the non-transitory computer-readable medium 405. The program module is configured with stored instructions, such as processor-executable instructions 420, which, when executed by at least one processor, such as the processor 440, cause the computing device to perform the corresponding function(s) as described herein. In one embodiment, the functions of the communication module 405 stored in the non-transitory computer-readable medium 405 may be executed by the processor 440 as the processor-executable instructions 420 to perform Figure 2 Embodiment 425 of method 200 .
[0045] The non-transitory computer readable medium 405 includes processor executable instructions 420 that, when executed by a processor 440, cause at least some of the provisions herein to be performed. The non-transitory computer readable medium 405 includes a memory semiconductor (e.g., a semiconductor utilizing static random access memory (SRAM), dynamic random access memory (DRAM), and / or synchronous dynamic random access memory (SDRAM) technology), a platter of a hard drive, a flash memory device, or a magnetic or optical disk (such as a compact disk (CD), a digital versatile disk (DVD), or a floppy disk). The example non-transitory computer readable medium 405 stores computer readable data 410 that expresses the processor executable instructions 420 when the data is read 415 by a reader 435 of a device 430 (e.g., a read head of a hard drive or a read operation invoked on a solid-state storage device).
[0046] In some embodiments, processor executable instructions 420, when executed, cause operations to be performed, such as Figure 2 In some embodiments, the processor executable instructions 420 are configured to cause the system to implement, for example, Figure 1 At least some of the example systems 100 of .
[0047] Figure 5An example computing device 500 configured and / or programmed with one or more of the example systems and methods described herein and / or equivalents is illustrated. The example computing device 500 may be a computer 515 that includes a processor 520, a memory 535, and an I / O port 545 operably connected via a bus 525. In one embodiment, the computer 515 may include a processor configured to facilitate Figure 1-2 525. The logic of the communication module 105 of the system 100 and / or method 200 shown in FIG. 525. In different embodiments, the logic of the communication module 105 can be implemented in hardware, a non-transitory computer-readable medium 505 having stored instructions, firmware, and / or a combination thereof. Although the logic of the communication module 105 is shown as a hardware component attached to the bus 525, it should be appreciated that in other embodiments, the logic of the communication module 105 can be implemented in the processor 520, stored in the memory 535, or stored in the disk 555.
[0048] In one embodiment, the communication module 105 or the logic of the computer 515 is a means for performing the described actions (e.g., structure: hardware, non-transitory computer-readable media, firmware). In some embodiments, the computing device may be a server operating in a cloud computing system, a server configured in a software as a service (SaaS) architecture, a smart phone, a laptop, a tablet computing device, etc.
[0049] For example, these components can be implemented as an application specific integrated circuit (ASIC) that is programmed to implement a rule-based source sequence for allocation. These components can also be implemented as stored computer executable instructions that are presented to the computer 515 as data 510, which is temporarily stored in the memory 535 and then executed by the processor 520.
[0050] The logic of the communication module 105 may also provide means (eg, hardware, non-transitory computer-readable medium 505 storing executable instructions, firmware) for executing a rule-based source sequence for allocation.
[0051] Generally describing an example configuration of computer 515, processor 520 can be a variety of processors, including dual microprocessors and other multi-processor architectures. Memory 535 can include volatile memory and / or non-volatile memory. Non-volatile memory can include, for example, read-only memory (ROM), programmable read-only memory (PROM), etc. Volatile memory can include, for example, random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), etc.
[0052] The disk 555 may be operably connected to the computer 515 via, for example, an I / O interface 540 (e.g., card, device) and an I / O port 545. The disk 555 may be, for example, a magnetic disk drive, a solid state disk drive, a floppy disk drive, a tape drive, a Zip drive, a flash memory card, a memory stick, etc. In addition, the disk 555 may be a CD-ROM drive, a CD-R drive, a CD-RW drive, a DVDROM, etc. For example, the memory 535 may store processing, and / or data 510 in, for example, a non-transitory computer readable medium 505. The disk 555 and / or the memory 535 may store an operating system that controls and allocates resources of the computer 515.
[0053] The computer 515 can interact with input / output (I / O) devices via the I / O interface 540 and the I / O port 545. The I / O devices can be, for example, keyboards, microphones, pointing and selection devices, cameras, video cards, displays, disks 555, network devices 550, etc. The I / O port 545 can include, for example, a serial port, a parallel port, and a USB port. The I / O controller 530 can connect the I / O interface 540 to the bus 525.
[0054] The computer 515 can operate in a network environment and thus can be connected to a network device 550 via an I / O interface 540 and / or an I / O port 545. Through the network device 550, the computer 515 can interact with the network. Through the network, the computer 515 can be logically connected to a remote computer (e.g., the computer 515 can reside in a distributed computing environment to which a client can connect). The network with which the computer 515 can interact includes, but is not limited to, a local area network (LAN), a wide area network (WAN), and other networks.
[0055] Figure 6 6 is a diagram illustrating a system 600 in which embodiments of the present invention may be implemented. Enterprise network 604 may be associated with a business enterprise, such as a retailer, merchant, service provider, or other type of business. Alternatively, and depending on the advantages of an integrated business system hosted by an application service provider (ASP), such as a multi-tenant data processing platform, a business enterprise may include fewer or no dedicated facilities or business networks, as long as its end users have access to an Internet browser and have an Internet connection.
[0056] For simplicity and clarity of explanation, enterprise network 604 is represented by a field local area network 606 to which multiple personal computers 608 are connected, and an exemplary remote user computer 610, each of which is generally dedicated to a specific end user, such as a service agent or other employee (although such dedicatedness is not required), and an exemplary remote user computer 610 can be, for example, a laptop or tablet computer of a traveling employee who can access the Internet through a public Wi-Fi access point or other Internet access method. The end users (consumers) associated with computers 608 and 610 can have Internet-enabled smart phones or other electronic devices (such as PDAs, tablets, laptops) with wireless Internet access or other synchronization capabilities. Users of enterprise network 604 interface with integrated business system 602 across the Internet 612 or another suitable communication network or combination of networks.
[0057] The integrated business system 602, which may be hosted by a dedicated third party, may include: Figure 6 The integrated business server 614 and the web interface server 616 are shown coupled. It should be appreciated that even in Figure 6 6. Although shown as a single unit in FIG. 6, either or both of integrated business server 614 and web interface server 616 may be implemented on one or more different hardware systems and components.
[0058] In a typical example where system 602 is operated by a third party to take advantage of multiple account owners / tenants, each of which is operating a business, integrated business server 614 includes ERP module 618 and also includes CRM module 620. In many cases, it is desirable for ERP module 618 to share methods, libraries, databases, subroutines, variables, etc. with CRM module 620, and indeed ERP module 618 may be interwoven with CRM module 620 into an integrated business data processing platform (which may be single-tenant, but is typically multi-tenant).
[0059] ERP module 618 may include, but is not limited to, a finance and accounting module, an order processing module, a time and billing module, an inventory management and distribution module, an employee management and payroll module, a calendar and collaboration module, a reporting and communication module, and other ERP-related modules. CRM module 620 may include, but is not limited to, a sales force automation (SFA) module, a marketing automation module, a contact list module (not shown), a call center support module, a web-based customer support module, a reporting and communication module, and other CRM-related modules.
[0060] The integrated business server 614 (or multi-tenant data processing platform) may also provide other business functions, including a web store / e-commerce module 622, a partner and supplier management module 624, and an integrated reporting module 630. An SCM (supply chain management) module 626 and a PLM (product lifecycle management) module 628 may also be provided. The web interface server 616 is configured and adapted to interface with the integrated business server 614 to provide one or more web-based user interfaces to end users of the enterprise network 604.
[0061] Figure 6 The integrated business system shown in can be hosted on a distributed computing system consisting of at least one but possibly multiple "servers". A server is a physical computer dedicated to providing a data storage and execution environment for one or more software applications or services, and is intended to serve the needs of users of other computers that communicate data with the server via a public network such as the Internet or a private "intranet" network. The server and the services it provides can be referred to as a "host", and the remote computers being served and the software applications running on the remote computers can be referred to as "clients". Depending on the computing service(s) provided by the server, it can be called a database server, a data storage server, a file server, a mail server, a print server, a web server, etc. A web server is most often a combination of hardware and software that helps provide content to client web browsers that access the web server via the Internet, usually by hosting a website.
[0062] Figure 7 700 is a diagram illustrating elements or components of an example operating environment 700 in which embodiments of the present invention may be implemented. As shown, various clients 702 incorporated and / or coupled to various computing devices may communicate with a distributed computing service / platform 708 via one or more networks 714. For example, a client may be incorporated and / or coupled to a client application (e.g., software) implemented at least in part by one or more computing devices.
[0063] Examples of suitable computing devices include personal computers, server computers 704, desktop computers 706, laptop computers 708, notebook computers, tablet computers or personal digital assistants (PDAs) 710, smart phones 712, cellular phones, and consumer electronic devices incorporating one or more computing device components (such as one or more electronic processors, microprocessors, central processing units (CPUs) or controllers). Examples of suitable networks 714 include networks utilizing wired and / or wireless communication technologies and networks operating according to any suitable network and / or communication protocols (e.g., the Internet). In use cases involving the delivery of customer support services, the computing devices referred to represent the endpoints of the customer support delivery process, i.e., the consumer's devices.
[0064] The distributed computing service / platform (also referred to as a multi-tenant business data processing platform) 708 may include multiple processing layers, including a user interface layer 716, an application server layer 720, and a data storage layer 724. The user interface layer 716 may maintain multiple user interfaces 718, including graphical user interfaces and / or web-based interfaces. The user interface may include a default user interface for the service that provides access to applications and data for users or "tenants" of the service (depicted as a "service UI" in the figure), and one or more user interfaces that have been specialized / customized according to the specific requirements of the user (e.g., represented by "tenant A UI", ..., "tenant Z UI" in the figure, and accessible via one or more APIs).
[0065] The default user interface may include components that enable tenants to manage tenant participation in functions and capabilities provided by the service platform (such as accessing data, causing specific data processing operations to be performed, etc.). Each processing layer shown in the figure can be implemented with a set of computers and / or computer components including computer servers and processors, and can perform various functions, methods, processes or operations determined by executing software applications or instruction sets. The data storage layer 724 may include one or more data repositories, which may include a service data repository 725 and one or more tenant data repositories 726.
[0066] Each tenant data repository 726 may contain tenant-specific data that is used as part of providing a range of tenant-specific business services or functions, including but not limited to ERP, CRM, e-commerce, human resource management, payroll, etc. The data repository may be implemented using any suitable data storage technology, including a structured query language (SQL)-based relational database management system (RDBMS).
[0067] According to one embodiment of the present invention, the distributed computing service / platform 708 can be multi-tenant, and the service platform 708 can be operated by an entity to provide a set of business-related applications, data storage, and functions for multiple tenants. These applications and functions may include applications and functions used by an enterprise to manage various aspects of its operations. For example, the applications and functions may include providing web-based access to business information systems, thereby allowing users with a browser and an Internet or intranet connection to view, enter, process, or modify certain types of business information.
[0068] As described above, such business information systems may include an enterprise resource planning (ERP) system that integrates the capabilities of several historically separate business computing systems into a common system with the goal of streamlining business processes and improving efficiencies at the business-wide level. For example, the capabilities or modules of an ERP system may include (but are not required to include, nor limited to only include): accounting, order processing, time and billing, inventory management, retail point of sale (POS) systems, e-commerce, product information management (PIM), demand / material requirements planning (MRP), procurement, content management systems (CMS), professional service automation (PSA), employee management / payroll, human resource management, and employee calendaring and collaboration, as well as reporting and analysis capabilities related to these functions. These functions or business applications are typically implemented by one or more modules of software code / instructions that are maintained and executed by one or more servers 722 that are part of the application server layer 720 of the platform.
[0069] Another business information system that can be provided as part of the integrated data processing and service platform is an integrated customer relationship management (CRM) system, which is designed to assist in better understanding customers, enhancing service to existing customers, and assisting in acquiring new and profitable customers. For example, the capabilities or modules of the CRM system may include (but are not required to include, nor limited to only include): sales force automation (SFA), marketing automation, contact lists, call center support, return management authorization (RMA), loyalty program support, and web-based customer support, as well as reporting and analysis functions related to these functions.
[0070] In addition to ERP and CRM functions, business information systems / platforms (such as Figure 7Elements 708 of the platform may also include one or more of the following: integrated partner and supplier management systems, e-commerce systems (e.g., virtual storefront applications or platforms), product lifecycle management (PLM) systems, human resource management systems (which may include medical / dental insurance management, payroll, etc.), or supply chain management (SCM) systems. These functions or business applications are typically implemented by one or more modules of software code / instructions that are maintained and executed by one or more servers 722 that are part of the application server layer 720 of the platform.
[0071] It is noted that functional and strategic advantages can be gained through the use of an integrated business system that includes ERP, CRM, and other business capabilities, for example, where the integrated business system is integrated with a merchant's e-commerce platform and / or "web store." For example, a customer searching for a particular product can be directed to the merchant's website and can obtain a variety of products and / or services from their home computer or even their mobile phone. When a customer initiates an online sales transaction via a browser-based interface, the integrated business system can process the order, update accounts receivable, update inventory databases and other ERP-based systems, and can also automatically update strategic customer information databases and other CRM-based systems. These modules and other applications and functions can advantageously be integrated and executed by a single code base that accesses one or more integrated databases, where necessary, to form an integrated business management system or platform (such as Figure 7 Platform 708).
[0072] As about Figure 6 As pointed out, Figure 7 The integrated business system shown in the can be hosted on a distributed computing system consisting of at least one but usually multiple "servers". A server is a physical computer dedicated to providing a data storage and execution environment for one or more software applications or services, and is designed to meet the needs of other computer users who communicate data with the server, for example via a public network such as the Internet or a private "intranet" network.
[0073] Rather than building and maintaining such an integrated business system themselves, an enterprise may utilize a system provided by a third party. Such a third party may implement the integrated business system / platform described above in the context of a multi-tenant platform, in which individual instances of a single comprehensive integrated business system are provided to individual tenants. One advantage of such a multi-tenant platform is that each tenant is able to customize their instance of the integrated business system based on the tenant's specific business needs or operating methods. Each tenant may be an enterprise or entity that uses the multi-tenant platform to provide business data and functionality to multiple users. Some of these multiple users may have different roles or responsibilities within the enterprise or entity.
[0074] In some cases, a tenant may desire to modify or supplement the functionality of an existing platform application by introducing an extension to the application, where the extension will be made available to the tenant's employees and / or customers. In some cases, such extensions may be applied to process the tenant's business-related data residing on the platform. Extensions may be developed by the tenant or by a third-party developer, who then makes the extension available to the tenant for installation. The platform may include a "library" or directory of available extensions, which may be accessed and searched by the tenant to identify extensions of interest. Software developers may be allowed to "publish" extensions to the library or directory after appropriate validation of the proposed extension.
[0075] Thus, in order to allow tenants to obtain the services and functionality they desire (which may include providing certain services to their end customers, such as functionality associated with an e-commerce platform), a multi-tenant service platform may allow tenants to configure certain aspects of the available service(s) to better suit their business needs. In this manner, various aspects of the service platform may be customizable, thereby enabling tenants to configure various aspects of the platform to provide differentiated services to their respective users or groups of such users. For example, a business enterprise using the service platform may want to provide additional functionality or capabilities to its employees and / or customers, or to process its business data in a specific manner according to established workflows customized for their business needs, etc.
[0076] Tenant customization of the platform can include custom functionality built on top of lower-level operating system functionality (such as the ability to perform tenant- or user-specific functionality, data processing, or operations). Some multi-tenant service platforms may provide the ability to customize functionality or operations at multiple different levels of the service platform, from aesthetic modifications to the graphical user interface to providing integration of components and / or entire applications developed by independent third-party vendors. This can be very beneficial because by allowing the use of components and / or applications developed by third-party vendors, multi-tenant services can significantly enhance the functionality available to tenants and increase tenant satisfaction with the platform.
[0077] As noted, in addition to user customization, independent software developers can also create extensions to specific applications that are available to users through the multi-tenant data processing platform. Extensions can add new functionality or capabilities to the underlying application. One or more tenants / users of the platform may wish to add extensions to the underlying application in order to be able to take advantage of enhancements to the application that are made possible by the extension. In addition, developers may wish to upgrade or provide patches to the extension because they recognize the need for fixes or additional functionality that would be beneficial to incorporate into the extension. In some cases, developers (at least initially) may prefer to make upgrades that are only available to a selected group of users in order to obtain feedback on the new version of the improved extension, test the stability of the extension, or assist them in segmenting the market for their (one or more) extensions.
[0078] In another embodiment, the described methods and / or their equivalents may be implemented with computer executable instructions. Thus, in one embodiment, a non-transitory computer readable / storage medium is configured with computer executable instructions having stored algorithms / executable applications, which when executed by (one or more) machines cause the (one or more) machines (and / or associated components) to perform the described methods. Example machines include, but are not limited to, processors, computers, servers operating in a cloud computing system, servers configured with a software as a service (SaaS) architecture, smart phones, and the like. In one embodiment, a computing device is implemented with one or more executable algorithms configured to perform any of the disclosed methods.
[0079] In one or more embodiments, the disclosed methods or their equivalents are performed by any of the following: computer hardware configured to perform the methods; or, computer instructions embodied in a module stored in a non-transitory computer-readable medium, wherein the instructions are configured as an executable algorithm, which is configured to perform the methods when executed by at least one processor of a computing device.
[0080] Although for the purpose of simplifying the description, the method illustrated in the figure is shown and described as a series of square blocks of the algorithm, it should be appreciated that these methods are not limited by the order of the square blocks. Some square blocks may appear in a different order than shown and described and / or occur simultaneously with other square blocks. Moreover, the example method can be implemented using square blocks less than all the illustrated square blocks. Square blocks can be combined or divided into multiple actions / components. In addition, additional and / or alternative methods can adopt additional actions not illustrated in the square blocks. The methods described herein are limited to the statutory subject matter of citing 35 U.S.C. § 101.
[0081] The following includes definitions of selected terms used herein. The definitions include various examples and / or forms of components that fall within the scope of the terms and can be used for implementation. The examples are not intended to be limiting. Both singular and plural forms of the terms may be within the definitions.
[0082] References to "one embodiment," "an embodiment," "an example," "an example," etc. indicate that the embodiment(s) or examples described herein may include particular features, structures, characteristics, properties, elements, or limitations, but not every embodiment or example necessarily includes the particular features, structures, characteristics, properties, elements, or limitations. Furthermore, repeated use of the phrase "in one embodiment" does not necessarily refer to the same embodiment, but may.
[0083] As used herein, a "data structure" is an organization of data stored in a memory, storage device, or other computerized system in a computing system. A data structure can be, for example, any of a data field, a data file, a data array, a data record, a database, a data table, a graph, a tree, a linked list, etc. A data structure can be formed by and include many other data structures (e.g., a database includes many data records). Other examples of data structures are also possible according to other embodiments.
[0084] As used herein, "computer-readable medium" or "computer storage medium" refers to a non-transient medium that stores instructions and / or data configured to perform one or more of the disclosed functions when executed. In some embodiments, data can be used as instructions. Computer-readable media can take the form of, but not limited to, non-volatile media and volatile media. Non-volatile media can include, for example, optical disks, magnetic disks, etc. Volatile media can include, for example, semiconductor memories, dynamic memories, etc. Common forms of computer-readable media can include, but are not limited to, floppy disks, flexible disks, hard disks, tapes, other magnetic media, application-specific integrated circuits (ASICs), programmable logic devices, compact disks (CDs), other optical media, random access memories (RAMs), read-only memories (ROMs), memory chips or cards, memory sticks, solid-state storage devices (SSDs), flash drives, and other media that computers, processors, or other electronic devices can use to work. If each type of medium is selected for implementation in one embodiment, it may include storage instructions for algorithms configured to perform one or more of the disclosed and / or claimed functions. The computer-readable media described herein are limited to the statutory subject matter of citing 35 U.S.C. §101.
[0085] As used herein, "logic" means a component implemented using a computer or electrical hardware, a non-transient medium with instructions of an executable application or program module stored, and / or a combination of these, to perform any function or action as disclosed herein, and / or to cause a function or action from another logic, method, and / or system to be performed as disclosed herein. Equivalent logic may include firmware, a microprocessor programmed with an algorithm, discrete logic (e.g., ASIC), at least one circuit, an analog circuit, a digital circuit, a programmed logic device, a memory device containing instructions of an algorithm, etc., any of which may be configured to perform one or more of the disclosed functions. In one embodiment, logic may include one or more gates, a combination of gates, or other circuit components that are configured to perform one or more of the disclosed functions. In the case of describing multiple logics, it is possible to merge multiple logics into one logic. Similarly, in the case of describing a single logic, it is possible to distribute that single logic between multiple logics. In one embodiment, one or more of these logics are corresponding structures associated with performing the disclosed and / or claimed functions. Choosing which type of logic to implement can be based on desired system conditions or specifications. For example, if higher speed is considered, hardware will be selected to implement the function. If lower cost is a consideration, the stored instructions / executable application will be selected to implement the functionality. Logic is limited to the statutory subject matter invoking 35 USC §101.
[0086] An "operable connection" or a connection through which entities are "operably connected" is a connection in which signals, physical communications, and / or logical communications can be sent and / or received. An operable connection may include a physical interface, an electrical interface, and / or a data interface. An operable connection may include different combinations of interfaces and / or connections sufficient to allow operable control. For example, two entities may be operably connected to transmit signals to each other directly or through one or more intermediate entities (e.g., a processor, an operating system, logic, a non-transient computer-readable medium). Logical communication channels and / or physical communication channels may be used to create an operable connection.
[0087] As used herein, a "user" includes, but is not limited to, one or more persons, computers or other devices, or a combination of these.
[0088] Although the disclosed embodiments have been illustrated and described in considerable detail, it is not intended to restrict or in any way limit the scope of the appended claims to such detail. Of course, it is not possible to describe every contemplated combination of components or methods in order to describe various aspects of the subject matter. Therefore, the present disclosure is not limited to the specific details or illustrative examples shown and described. Therefore, the present disclosure is intended to cover changes, modifications and variations that fall within the scope of the appended claims, which satisfy the statutory subject matter requirements of 35 U.S.C. §101.
[0089] To the extent that the term "comprising" is employed in the detailed description or claims, it is intended to be inclusive in a manner similar to how the term "comprises" is interpreted when employed as a transitional word in a claim.
[0090] To the extent the term "or" is employed in the detailed description or claims (e.g., A or B), it is intended to mean "A or B, or both." When the applicants intend to indicate "only A or B but not both," then the phrase "only A or B but not both" will be used. Thus, the use of the term "or" herein is inclusive, rather than exclusive.
Claims
1. A non-transitory computer-readable medium storing computer-executable instructions which, when executed by a processor of a computing device, cause the processor to: controlling a wireless receiver of the computing device to listen for beacon signals transmitted by beacon devices located at different locations within the venue, wherein a specific beacon device of the beacon devices is attached to a specific movable asset, and wherein a specific beacon signal transmitted from the specific beacon device is encoded with a specific asset identifier of the specific movable asset; In response to receiving, by the wireless receiver, a first beacon signal from a first beacon device located at the location: evaluating the first beacon signal to identify a venue identifier of the venue; sending a request including the site identifier to a remote computing device over a network for requesting asset information for assets located at the site; receiving the asset information from the remote computing device via the network; constructing a user interface populated with the asset information to indicate the location of the asset within the venue relative to the computing device so that the asset can be located by a user within the venue, wherein the constructing comprises at least: detecting the current location of the specific movable asset based on the ability to receive or the inability to receive the specific beacon signal encoded with the specific asset identifier of the specific movable asset; and presenting the user interface on a display of the computing device; and A route is generated on the display through the venue to a target asset using the user interface, wherein a location of the asset provided through the user interface is updated based on a change in the location of the computing device within the venue.
2. The non-transitory computer-readable medium of claim 1, wherein the request comprises a request for an electronic venue map of the venue, and wherein the instructions comprise instructions for: receiving an electronic venue map of the venue from the remote computing device via the network; presenting the electronic venue map via the user interface; continuously monitoring by said wireless receiver to detect a beacon signal from a beacon device; in response to the computing device changing position in the venue and detecting a different beacon signal from a different beacon device, sending a subsequent request to retrieve an updated electronic venue map based on an identifier of the different beacon device identified from the different beacon signal; modifying the user interface with the updated electronic venue map; and The electronic venue map is updated each time a new beacon signal is detected from a beacon device within the venue.
3. The non-transitory computer-readable medium of claim 1, wherein the request comprises a request for an electronic venue map of the venue, and wherein the instructions comprise instructions for: receiving an electronic venue map of the venue from the remote computing device via the network; presenting the electronic venue map via the user interface; determining a current location of the computing device within the venue using location information from one or more beacon signals received from beacon devices; evaluating asset information and asset location information of one or more beacon signals received from the beacon device to determine a current location of the asset within the premises; populating the electronic venue map with a device indicator to indicate a current location of the computing device within the venue; as well as The electronic site map is populated with asset indicators to indicate the current location of assets within the site.
4. The non-transitory computer-readable medium of claim 3, wherein the instructions include instructions for: The current position of the device indicator within the electronic venue map is updated based on one or more additional beacon signals received from a beacon device, wherein the one or more additional beacon signals indicate a change in the location of the computing device within the venue.
5. The non-transitory computer-readable medium of claim 3, wherein the instructions include instructions for: As the computing device changes location within the venue, continuously updating the asset information populated within the user interface to include asset information for assets located within a threshold distance of the computing device, wherein When a beacon signal from a beacon device for an asset is received, the asset is within a threshold distance of the computing device.
6. The non-transitory computer-readable medium of claim 1, wherein the instructions include instructions for: In response to receiving the first beacon signal, a venue description user interface is presented that is populated with a description of the venue.
7. The non-transitory computer-readable medium of claim 1, wherein the instructions include instructions for: receiving a selection of an asset from the user interface; retrieving a work order for the asset from the remote computing device over the network; and The user interface is populated with the work order.
8. The non-transitory computer readable medium of claim 7, wherein the instructions include instructions for: evaluating input through the user interface to determine that the input corresponds to a modification to a work order; and The modifications are sent to the remote computing device over the network to modify the work order based on the modifications.
9. A computing system comprising: a processor, connected to the memory; as well as A communication module stored on a non-transitory computer readable medium and configured with instructions that, when executed by a processor, cause the processor to: controlling a wireless receiver of the computing device to listen for beacon signals transmitted by beacon devices located at different locations within the venue, wherein a specific beacon device of the beacon devices is attached to a specific movable asset, and wherein a specific beacon signal transmitted from the specific beacon device is encoded with a specific asset identifier of the specific movable asset; In response to receiving, by the wireless receiver, a first beacon signal from a first beacon device located at the location: evaluating the first beacon signal to identify a venue identifier of the venue; sending a request including the site identifier to a remote computing device over a network for requesting asset information for assets located at the site; receiving the asset information from the remote computing device via the network; constructing a user interface populated with the asset information to indicate the location of the asset within the venue relative to the computing device so that the asset can be located by a user within the venue, wherein the constructing comprises at least: detecting the current location of the specific movable asset based on the ability to receive or the inability to receive the specific beacon signal encoded with the specific asset identifier of the specific movable asset; and presenting the user interface on a display of the computing device; and A route is generated on the display through the venue to a target asset using the user interface, wherein a location of the asset provided through the user interface is updated based on a change in the location of the computing device within the venue.
10. The computing system of claim 9, wherein the request comprises a request for an electronic venue map of the venue, and wherein the instructions comprise instructions to cause the processor to: receiving an electronic venue map of the venue from the remote computing device via the network; presenting the electronic venue map via the user interface; populating the electronic venue map with device indicators to indicate locations of computing devices within the venue relative to locations of assets within the venue as the computing devices change locations within the venue; as well as The electronic site map is populated with asset indicators to indicate the current location of assets within the site.
11. The computing system of claim 10, wherein the instructions include instructions that cause the processor to: continuously monitoring by said wireless receiver to detect a beacon signal from a beacon device; in response to the computing device changing position in the venue and detecting a different beacon signal from a different beacon device, sending a subsequent request to retrieve an updated electronic venue map based on an identifier of the different beacon device identified from the different beacon signal; modifying the user interface with the updated electronic venue map; and The electronic venue map is updated each time a new beacon signal is detected from a beacon device within the venue.
12. The computing system of claim 10, wherein each asset is associated with a beacon device, and wherein the instructions include instructions that cause the processor to: The electronic site map is populated with asset indicators of assets within a threshold distance of the computing device, wherein the threshold distance corresponds to a distance at which the computing device is able to receive a beacon signal from a beacon device associated with the corresponding asset.
13. The computing system of claim 10, wherein the instructions include instructions that cause the processor to: receiving an input via the user interface, wherein the input corresponds to a selection of an asset; and The electronic site map is populated with a path from the current location of the computing device to the current location of the asset.
14. The computing system of claim 9, wherein the instructions include instructions that cause the processor to: receiving a second beacon signal from a second beacon device; evaluating the second beacon signal to identify an asset identifier of an asset associated with the second beacon device; retrieving asset information for an asset from the remote computing device over the network, wherein the asset information includes at least one of an asset description or a work order for the asset; and The user interface is populated with at least one of the asset description or the work order.
15. A computer-implemented method, the computer-implemented method involving a computing device including a processor, and the computer-implemented method comprising: controlling, by the processor, a wireless receiver of the computing device to listen for beacon signals transmitted by beacon devices located at different locations within a venue, wherein a specific beacon device among the beacon devices is attached to a specific movable asset, and wherein a specific beacon signal transmitted from the specific beacon device is encoded with a specific asset identifier of the specific movable asset; In response to receiving, by the wireless receiver, a first beacon signal from a first beacon device located at the location: evaluating, by the processor, the first beacon signal to identify a venue identifier of the venue; sending, by the processor, a request including the site identifier to a remote computing device over a network for requesting asset information of an asset located at the site; receiving, by the processor, asset information from the remote computing device via the network; Constructing, by the processor, a user interface populated with the asset information to indicate the location of the asset within the venue relative to the computing device so that the asset can be located within the venue by a user, wherein the constructing comprises at least: detecting the current location of the specific movable asset based on being able to receive or not being able to receive the specific beacon signal encoded with the specific asset identifier of the specific movable asset; and presenting, by the processor, the user interface on a display of the computing device; and A route is generated on the display through the venue to a target asset using the user interface by the processor, wherein the location of the asset provided through the user interface is updated based on a change in the location of the computing device within the venue.
16. The computer-implemented method of claim 15, further comprising: A Representational State Transfer (REST) application programming interface (API) is called to send the request to an enterprise resource planning (ERP) system hosted by the remote computing device.
17. The computer-implemented method of claim 15, wherein the request comprises a request for an electronic venue map of the venue, and the method further comprises: receiving an electronic venue map of the venue from the remote computing device via the network; presenting the electronic venue map via the user interface; populating the electronic venue map with a device indicator to indicate a current location of the computing device within the venue; populating the electronic venue map with the orientation of the computing device, the location accuracy of the electronic venue map, and the coordinates of the computing device; as well as The electronic site map is populated with asset indicators to indicate the current location of assets within the site.
18. The computer-implemented method of claim 15, further comprising: receiving a selection of an asset from the user interface; retrieving a work order for the asset from the remote computing device via the network; as well as The user interface is populated with the work order, wherein the work order includes a work order number of the work order, a description of the work order, a status of the work order, a priority of the work order, and an asset description of the asset.
19. The computer-implemented method of claim 15, further comprising: parsing a first portion of the first beacon signal to identify an identifier of a first beacon device, parsing a second portion of the first beacon signal to identify a major number mapped to a venue identifier, and parsing a third beacon portion of the signal to identify a minor number mapped to an asset identifier of an asset associated with the first beacon device; determining, using an identifier of a first beacon device and an asset identifier of the asset, that the first beacon device and the asset are within a threshold distance of the computing device; as well as The user interface is populated with a beacon indicator of a first beacon device and an asset indicator of the asset.
20. The computer-implemented method of claim 15, further comprising: The user interface is populated with a work order for the asset based on the asset being within a threshold distance of the computing device.
21. An apparatus comprising means for performing the method of any one of claims 15-20.
Citation Information
Patent Citations
Facility map framework
US20090216438A1
System and method for providing situation awareness via a mobile device
US20170064497A1