Method for managing beacon, terminal device, server and storage medium

A beacon managing method is provided. The method includes receiving a first beacon signal from a first beacon at a first time; receiving a second beacon signal from a second beacon at a second time; and identifying a location error of at least one of the first beacon and the second beacon, based on first movement information of a terminal between the first time and the second time.

PRIORITY

This application claims priority under 35 U.S.C. § 119(a) to Korean Patent Application Serial No. 10-2014-0114503, which was filed in the Korean Intellectual Property Office on Aug. 29, 2014, the entire disclosure of which is incorporated herein by reference.

BACKGROUND

1. Field of the Invention

The present invention relates generally to beacon managing methods, and more specifically, to beacon managing methods for processing beacon signals.

2. Description of the Related Art

A beacon is a device that transmits beacon signals at predetermined time intervals based on various communication schemes (e.g., Bluetooth®, Wi-Fi®, ANT®, etc.). A terminal receives a beacon signal from the beacon, often to display information related to a region in which the beacon is located, e.g., to provide an advertisement service. Accordingly, beacon-related technologies are gaining popularity.

Further, beacons reduce infrastructure costs and provide a wide effective distance, as compared with Near Field Communication (NFC)®, and present more applicability.

Generally, a signal transmitted from a beacon has an effective range of 5 cm to 50 m, and a terminal may receive data when passing near the beacon. Accordingly, beacons, by such nature, have various applications, such as for providing advertisements in department stores, showcases in exhibition halls, or seat guidance/advertisement in stadiums.

Topographical information on an area in which a beacon has been installed may be managed by a server. A beacon is often manufactured in a small size, and thus, may be freely moved. However, because a beacon may be easily moved, beacons are often moved without updating the topographical information. Consequently, a beacon may provide information that is not relevant to its actual position.

Similar problems can occur even when a beacon is not moved, but a topology change occurs, like when departments in a department store are rearranged, without properly updating the topographical information.

SUMMARY

Accordingly, the present invention is designed to address at least the problems and/or disadvantages described above and to provide at least the advantages described below.

An aspect of the present invention to provide a beacon managing method and apparatus for addressing the foregoing or other issues.

In accordance with an aspect of the present invention, a beacon managing method is provided, which includes receiving a first beacon signal from a first beacon at a first time; receiving a second beacon signal from a second beacon at a second time; and identifying a location error of at least one of the first beacon and the second beacon, based on first movement information of a terminal between the first time and the second time.

In accordance with another aspect of the present invention, a beacon managing method is provided, which includes receiving a first beacon signal from a first beacon at a first time; receiving a second beacon signal from a second beacon at a second time; obtaining a first distance between the first beacon and the second beacon; and identifying a location error of at least one of the first beacon and the second beacon, based on a result of a comparison between a time difference between the first time and the second time and a threshold set according to the first distance.

In accordance with another aspect of the present invention, a beacon managing method is provided, which includes receiving a first beacon signal from a first beacon at a first time; receiving a second beacon signal from a second beacon at a second time; and identifying a location error of at least one of the first beacon and the second beacon, based on whether there is an inter-floor difference between the first beacon and the second beacon and whether the first beacon and the second beacon is movable between floors.

In accordance with another aspect of the present invention, a beacon managing method by a beacon managing server is provided, which includes receiving, from a terminal, a request for a distance between a first beacon and a second beacon; transmitting, to the terminal, the distance between the first beacon and the second beacon; receiving error, information of the first beacon from the terminal; and updating beacon information on the first beacon based on the received error information.

In accordance with another aspect of the present invention, a beacon managing method by a beacon managing server is provided, which includes receiving, from each of a plurality of terminals, a beacon recognition log including terminal information; updating beacon information based on the received beacon recognition log; and transmitting at least one of the updated beacon information and an indication that a beacon has been updated.

In accordance with another aspect of the present invention, a terminal is provided, which includes a beacon signal receiving module configured to receive a first beacon signal from a first beacon at a first time and to receive a second beacon signal from a second beacon at a second time; and a processor configured to identify a location error of at least one of the first beacon and the second beacon, based on first movement information of the terminal between the first time and the second time.

In accordance with another aspect of the present invention, a server is provided, which includes a communication module configured to receive, from a terminal, a request for a distance between a first beacon and a second beacon, to transmit, to the terminal, the distance between the first beacon and the second beacon, and to receive, from the terminal, error information of the first beacon; and a processor configured to update beacon information on the first beacon, based on the error information.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

Hereinafter, various embodiments of the present invention are described with reference to the accompanying drawings. However, it should be appreciated that the present invention is not limited to the described embodiments, and all changes and/or equivalents or replacements thereto also belong to the scope of the present invention.

The same or similar reference numerals may be used to refer to the same or similar elements throughout the specification and the drawings.

Herein, the terms “have,” “may have,” “include,” or “may include” (e.g., a number, function, operation, or a component such as a part) indicate the existence of the feature, and do not exclude the existence of other features.

Herein, the terms “A or B,” “at least one of A and/or B,” or “one or more of A and/or B” may include all possible combinations of A and B, e.g., (1) including at least one A, (2) including at least one B, or (3) including at least one A and at least one B.

Herein, the terms “first” and “second” may modify various components regardless of importance and do not limit the components. These terms are only used to distinguish one component from another. For example, a first user device and a second user device may indicate different user devices from each other regardless of the order or importance of the devices. For example, a first component may be referred to as a second component, and vice versa, without departing from the scope of the present invention.

It will be understood that when an element (e.g., a first element) is referred to as being (operatively or communicatively) “coupled with/to,” or “connected with/to” another element (e.g., a second element), the element can be directly coupled or connected with/to the other element or via a third element. However, when an element is referred to as being “directly coupled with/to” or “directly connected with/to” another element, no other element (e.g., a third element) intervenes between the element and the another element.

Herein, the terms “configured (or set) to” may be interchangeably used with terms “suitable for,” “having the capacity to,” “designed to,” “adapted to,” “made to,” or “capable of” depending on circumstances. The term “configured (or set) to” may mean “specifically designed in hardware to.” and may also mean that a device can perform an operation together with another device or parts. For example, the term “a processor configured (or set) to perform A, B, and C” may mean a generic-purpose processor (e.g., a central processing unit (CPU) or application processor) that may perform the operations by executing one or more software programs stored in a memory device or a dedicated processor (e.g., an embedded processor) for performing the operations.

Herein, the term “module” may refer to a unit including one of hardware, software, and firmware, or a combination thereof. The term “module” may be interchangeably used with a unit, logic, logical block, component, or circuit. The module may be a minimum unit or part of an integrated component. The module may be a minimum unit or part of performing one or more functions. The module may be implemented mechanically or electronically. For example, the module may include at least one of Application Specific Integrated Circuit (ASIC) chips, Field Programmable Gate Arrays (FPGAs), or Programmable Logic Arrays (PLAs) that perform some operations, which have already been known or will be developed in the future.

The terminology as used herein is provided merely to describe some embodiments thereof, but not to limit the scope of other embodiments of the present invention.

All terms, including technical and scientific terms, as used herein have the same meanings as commonly understood by one of ordinary skill in the art to which the embodiments of the present invention belong. Further, terms, such as those defined in commonly used dictionaries, should be interpreted as having meanings that are consistent with their recognized meanings in the context of the relevant art and should not be interpreted in an idealized or overly formal sense unless expressly so defined herein. In some cases, the terms defined herein may be interpreted to exclude embodiments of the present disclosure.

Herein, the term “user” may denote a human or another device (e.g., an artificial intelligent electronic device) that uses an electronic device.

Examples of an electronic device according to an embodiment of the present invention include a smartphone, a tablet personal computer (PC), a mobile phone, a video phone, an e-book reader, a desktop PC, a laptop computer, a netbook computer, a workstation, a personal digital assistant (PDA), a portable multimedia player (PMP), an MP3 player, a mobile medical device, a camera, a wearable device (e.g., smart glasses, a head-mounted device (HMD), electronic clothes, an electronic bracelet, an electronic necklace, an electronic appcessory, an electronic tattoo, a smart mirror, or a smart watch), etc.

Further, an electronic device according to an embodiment of the present invention may be a smart home appliance. Examples of the smart home appliance include a television (TV), a digital video disk (DVD) player, an audio player, a refrigerator, an air conditioner, a cleaner, an oven, a microwave oven, a washer, a drier, an air cleaner, a set-top box, a home automation control panel, a security control panel, a TV box (e.g., Samsung HomeSync®, Apple TV®, or Google TV®), a gaming console (e.g., Xbox® or PlayStation®), an electronic dictionary, an electronic key, a camcorder, or an electronic picture frame.

Additionally, an electronic device according to an embodiment of the present invention may include various medical devices (e.g., diverse portable medical measuring devices such as a blood sugar measuring device, a heartbeat measuring device, or a body temperature measuring device, a magnetic resource angiography (MRA) device, a magnetic resource imaging (MRI) device, a computed tomography (CT) device, an imaging device, or an ultrasonic device), a navigation device, a global positioning system (GPS) receiver, an event data recorder (EDR), a flight data recorder (FDR), an automotive infotainment device, a sailing electronic device (e.g., a sailing navigation device or a gyro compass), avionics devices, security devices, vehicular head units, industrial or home robots, automatic teller machines (ATMs), point of sales (POS) devices, or Internet of Things (IoT) devices (e.g., a bulb, various sensors, an electric or gas meter, a sprinkler, a fire alarm, a thermostat, a street light, a toaster, fitness equipment, a hot water tank, a heater, or a boiler).

An electronic device according to an embodiment of the present invention may also be furniture, part of a building/structure, an electronic board, an electronic signature receiving device, a projector, or various measurement devices (e.g., devices for measuring water, electricity, gas, or electromagnetic waves).

Further, an electronic device according to an embodiment of the present invention may be a combination of the above-listed devices.

An electronic device according to an embodiment of the present invention may also be a flexible electronic device.

However, an electronic device herein is not limited to the above-listed devices, and may include new and other electronic devices depending on the development of technology.

FIG. 1illustrates a network environment including an electronic device according to an embodiment of the present invention.

Referring toFIG. 1, the network environment includes an electronic device101, which includes a bus110, a processor120, a memory130, an input/output interface150, a display160, a communication interface170, and a beacon managing module180. In some embodiments, the electronic device101may exclude at least one of the components or may add another component.

The bus110includes a circuit for connecting the components120to180and transferring communications (e.g., control messages and/or data) between the components120to180.

The processing module120may include one or more of CPUs, an application processor (AP), or a communication processor (CP). The processor120may perform control on at least one of the other components of the electronic device101, and/or perform an operation or data processing relating to communication. The processor120may also be referred to as a controller, or the processor120may include a controller as a part thereof.

The memory130, which may include a volatile and/or non-volatile memory, may store commands or data related to at least one other component of the electronic device101. Further, the memory130stores software and/or a program140.

The program140includes a kernel141, middleware143, an application programming interface (API)145, and/or application programs (or applications)147. At least a portion of the kernel141, middleware143, or API145may be referred to as an operating system (OS).

The kernel141may control or manage system resources (e.g., the bus110, processor120, or a memory130) used to perform operations or functions implemented in other programs (e.g., the middleware143, API145, or application programs147). The kernel141may provide an interface that allows the middleware143, the API145, or the application147to access the individual components of the electronic device101to control or manage the system resources.

The middleware143may function as a relay to allow the API145or the application147to communicate data with the kernel141, for example. The middleware143may control work requests received from the applications147, e.g., by allocation the priority of using the system resources of the electronic device101to at least one of the plurality of applications134.

The API145is an interface allowing the applications147to control functions provided from the kernel141or the middleware143. For example, the API133may include at least one interface or function (e.g., a command) for filing control, window control, image processing or text control.

The input/output interface150may serve as an interface that may, e.g., transfer commands or data input from a user or other external devices to other component(s) of the electronic device101. Further, the input/output interface150may output commands or data received from other component(s) of the electronic device101to the user or the other external device.

The display160may include, e.g., a liquid crystal display (LCD), a light emitting diode (LED) display, an organic light emitting diode (OLED) display, a microelectromechanical systems (MEMS) display, or an electronic paper display. The display160may display various content (e.g., text, images, videos, icons, or symbols) to the user. The display160may also include a touchscreen and may receive, e.g., a touch, gesture, proximity or hovering input using an electronic pen or a body part of the user.

The power manager module170may manage power of the electronic device101, for example. For example, the communication interface170may be connected with a network162through wireless or wired communication in order to communicate with an external electronic device (e.g., a second external electronic device104or a server106).

InFIG. 1, a first external electronic device102may be a beacon, which communicates beacon signals at predetermined time intervals. For example, the first external electronic device102may communicate the beacon signals based on various communication protocols, such as Bluetooth®, Wi-Fi®, or ANT®.

The wireless communication may also use at least one of, e.g., Long Term Evolution (LTE)®, LTE-Advanced (LTE-A)®, code division multiple access (CDMA)®, wideband CDMA (WCDMA)®, universal mobile telecommunications system (UMTS)®, wireless broadband (WiBro)®, LiFi®, or global system for mobile communications (GSM)®, as a cellular communication protocol. The wired connection may include at least one of universal serial bus (USB), high definition multimedia interface (HDMI), recommended standard 232 (RS-232), or plain old telephone service (POTS). The network162may include at least one of a telecommunication network, e.g., a computer network (e.g., a local area network (LAN) or wide area network (WAN)), Internet, or a telephone network.

The first and second external electronic devices102and104each may be a device of the same or a different type from the electronic device101.

The server106may include a group of one or more servers. All or some of the operations executed on the electronic device101may be executed on another or multiple other electronic devices (e.g., the electronic devices102and104or server106). Further, when the electronic device101should perform some function or service automatically or at a request, the electronic device101, instead of executing the function or service on its own or additionally, may request another device102,104, or106to perform at least some functions associated therewith. The other electronic device102,104, or106) may execute the requested functions or additional functions and transfer a result of the execution to the electronic device101. The electronic device101may provide a requested function or service by processing the received result as it is or additionally. For example, a cloud computing, distributed computing, or client-server computing technique may be used.

The beacon managing module180may support to drive the electronic device101by performing at least one operation implemented on the electronic device101. For example, the server106includes a beacon managing server module108that may support the beacon managing module180implemented in the electronic device101. The beacon managing server module108may include at least one element of the beacon managing module180in order to perform at least one operation normally performed by the beacon managing module180.

The beacon managing module180may process at least part of information obtained from other elements (e.g., at least one of the processor120, the memory130, the input/output interface150, or the communication interface170) and may use the same in various manners. For example, the beacon managing module180may control at least some functions of the electronic device101using the processor120or independently from the processor120, such that the electronic device101may interwork with another electronic device (e.g., the electronic device102or104or the server106).

The beacon managing module180may be integrated with the processor120or the communication interface170.

At least one configuration of the beacon managing module180may be included in the server106(e.g., the beacon managing server module108) and may be supported for at least one operation implemented on the beacon managing module180from the server106.

FIG. 2illustrates a program module according to an embodiment of the present invention. For example, the program module210inFIG. 2can be used as the program140in a network environment as illustrated inFIG. 1.

Referring toFIG. 2, the program module210may include an OS controlling resources related to the electronic device and/or various applications driven on the OS. For example, the OS includes Android®, iOS®, Windows®, Symbian®, Tizen®, or Bada®.

The program210includes a kernel220, middleware230, an API260, and applications270. At least a part of the program module210may be preloaded on the electronic device or may be downloaded from a server.

The kernel220includes a system resource manager221and a device driver223. The system resource manager221may perform control, allocation, or recovery of system resources. The system resource manager221may also include a process managing unit, a memory managing unit, or a file system managing unit. The device driver223may include a display driver, a camera driver, a Bluetooth driver, a shared memory driver, a USB driver, a keypad driver, a Wi-Fi driver, an audio driver, an inter-process communication (IPC) driver, etc. In other embodiments, the kernel220may include a system resource manager221or a device driver223.

The middleware230may provide various functions to the application270through the API260in order for the application270to efficiently use limited system resources in the electronic device or provide functions jointly required by applications270. The middleware230includes a runtime library235, an application manager241, a window manager242, a multimedia manager243, a resource manager244, a power manager245, a database manager246, a package manager247, a connectivity manager248, a notification manager249, a location manager250, a graphic manager251, and a security manager252. In other embodiments, some libraries and managers may be removed and/or other libraries and managers may be added.

For example, when the electronic device has a telephony capability, the middleware230may further include a telephony manager for managing voice call or video call functions of the electronic device.

The middleware230may also include a middleware module forming a combination of various functions of the above-described components.

The middleware230may also provide a specified module per type of the operating system in order to provide a differentiated function.

The runtime library235may include a library module used by a compiler to add a new function through a programming language, e.g., while the application270is being executed. The runtime library235may perform input/output management, memory management, operation on arithmetic functions, etc.

The application manager241may manage the life cycle of at least one of the applications270.

The window manager242may manage graphic user interface (GUI) resources used on the screen.

The multimedia manager243may manage formats for playing various media files and use a codec appropriate for a format to perform encoding or decoding on media files.

The resource manager244may manage resources, such as a source code of at least one of the applications270, memory, or storage space.

The power manager245may operate together with a basic input/output system (BIOS) to manage battery or power and provide power information for operating the electronic device.

The database manager246may generate, search, or vary a database to be used in at least one of the applications270.

The package manager247may manage installation or update of an application that is distributed in the form of a package file.

The notification manager249may display or notify an event, such as an incoming message, an appointment, or a proximity notification, of the user without interfering with the user.

The location manager250may manage location information on the electronic device.

The graphic manager251may manage graphic effects to be offered to the user and their related user interface.

The security manager252may provide various security functions for system security or user authentication.

The API260may be a set of API programming functions and may have different configurations depending on the type of OS. For example, when using Android® or iOS®, one API set may be provided per platform, and when using Tizen®, two or more API sets may be offered per platform.

The applications270may include one or more applications that provide functions. The applications270include a home271, a dialer272, a short message service (SMS)/multimedia messaging service (MMS)273, an instant message (IM) service274, a browser275, a camera276, an alarm277, a contact list278, a voice dialer279, an email service280, a calendar281, a media player282, a photo album283, and a clock284. The applications270also include other applications, such as a health-care service (e.g., measuring the degree of workout or blood sugar) or environmental information provider (e.g., provision of air pressure, moisture, or temperature information).

The applications270may also include an application for information exchange between the electronic device and an external electronic device (hereinafter, “an information exchanging application”). Examples of the information exchange application include, but are not limited to, a notification relay application for transferring specific information to the external electronic device or a device management application for managing the external electronic device.

For example, the notification relay application may include a function for relaying notification information generated from other applications of the electronic device (e.g., the SMS/MMS application273, email application280, health-care application, or environmental information application) to the external electronic device102or104. Further, the notification relay application may receive notification information from the external electronic device and may provide the received notification information to the user.

The device management application may perform at least some functions of the external electronic device102or104communicating with the electronic device (for example, turning on/off the external electronic device (or some components of the external electronic device) or control of brightness (or resolution) of the display), and the device management application may manage (e.g., install, delete, or update) an application operating in the external electronic device or a service (e.g., call service or message service) provided from the external electronic device.

The applications270may include an application (e.g., a health-care application) designated depending on an attribute of the external electronic device (e.g., as an attribute of the electronic device, the type of electronic device is a mobile medical device).

The applications270may also include an application received from an external electronic device102or104, and/or may include a preloaded application or a third party application downloadable from a server.

The names of the components of the program module210illustrated inFIG. 2may vary depending on the type of OS.

At least a part of the program module210may be implemented in software, firmware, hardware, or a combination of two or more thereof. At least a part of the programming module210may be implemented (e.g., executed) by a processor (e.g., the AP210). At least a part of the program module210may include a module, program, routine, set of instructions, process, etc., for performing one or more functions.

FIG. 3illustrates a beacon managing module of an electronic device according to an embodiment of the present invention.

Referring toFIG. 3, the beacon managing module180includes a beacon signal receiving module310, a communication module330, a processing module330, a storage module340, and an obtaining module350. The beacon managing module180may be provided separately from a processor (e.g., the processor120) or may be fully or partially integrated with the processor.

The beacon signal receiving module310may receive beacon signals. For example, the beacon signal receiving module310may receive beacon signals from a beacon. When the electronic device101enters within an effective range of a signal transmission of the beacon, the beacon signal receiving module310may receive a beacon signal. The beacon signal receiving module310may receive a first beacon signal from a first beacon at a first time and a second beacon signal from a second beacon at a second time.

The communication module330may previously receive first beacon information for the first beacon and second beacon information for the second beacon from a server.

The storage module340may store (or cache) the received first beacon information for the first beacon and the received second beacon information for the second beacon.

The obtaining module350may obtain first movement information that is information on a movement of a user between the first time and the second time. The obtaining module350may obtain the first movement information from a sensor in the electronic device101or a processor that has processed data from the sensor. The first movement information may include at least one of the electronic device's velocity (or speed), distance (or displacement) or a user step count and vertical movement information between the first time and the second time. For example, the sensor or the processor that has processed data from the sensor may be a pedometer.

The processing module330may determine whether to process at least one of the first beacon signal and the second beacon signal based on the first movement information of the electronic device between the first time and the second time. That is, the processing module330may identify a location error of at least one of the first beacon and the second beacon.

The processing module330may determine a first time difference between the first time and the second time. The obtaining module350may obtain a first distance between the first beacon and the second beacon. The processing module330may determine a first speed based on the first time difference and the first distance.

The obtaining module350may obtain the first distance based on topographical information previously stored in the electronic device101. The obtaining module350may receive the topographical information from a server in order to obtain the first distance, or may directly obtain the first distance from a server.

The processing module330may determine whether to process at least one of the first beacon signal and the second beacon signal based on a result of a comparison between the first speed and a first electronic device speed obtained from the first movement information.

The processing module330may determine at least one of the first beacon and the second beacon as a suspect beacon, when the first speed exceeds the first electronic device speed allowed for the electronic device.

The beacon signal receiving module310may receive a third beacon signal from a third beacon at a third time. The processing module330may identify a second time difference between the second time and the third time. The obtaining module350may obtain a second distance between the third beacon and the second beacon. The processing module330may identify a second speed based on the second time difference and the second distance. The processing module330may compare the second speed with a second electronic device speed obtained from second movement information of the electronic device between the second time and the third time. When the second speed is larger than the second electronic device speed, the processing module330may determine that the second beacon has an error and might not process the second beacon signal. When the second speed is less than or equal to the second electronic device speed, the processing module330may determine that the first beacon has an error and might not process the first beacon signal.

The processing module330may determine a third time difference between the first time and the third time. The obtaining module350may obtain a third distance between the third beacon and the first beacon. The processing module330may determine a third speed based on the third time difference and the third distance. The processing module330may compare the third speed with a third electronic device speed obtained from third movement information of the electronic device between the first time and the third time. The processing module330may determine whether to process at least one of the first beacon signal and the second beacon signal based on a result of the comparison between the second speed and the second electronic device speed and a result of the comparison between the third speed and the third electronic device speed.

The processing module330may determine a normal beacon (i.e., a beacon without an error) of the first beacon and the second beacon and determine that the other beacon has an error based on the result of comparison between the second speed and the second electronic device speed and the result of comparison between the third speed and the third electronic device speed.

When the first speed is greater than the first electronic device speed, the processing module330may determine that the second beacon has an error and might not process the second beacon signal.

The obtaining module350may compute the first distance or may receive the first distance from the outside. The obtaining module350may compute the second distance or may receive the second distance from the outside. The obtaining module350may compute the third distance or may receive the third distance from the outside.

The processing module330may determine whether to process at least one of the first beacon signal and the second beacon signal, based on whether there is an inter-floor difference between the first beacon and the second beacon and the vertical movement information obtained from the electronic device movement information.

The communication module330may receive first beacon information for the first beacon and second beacon information for the second beacon.

The storage module340may store reception histories of the first beacon signal and the second beacon signal.

The communication module330may transmit the determination as to whether to process at least one of the first beacon signal and the second beacon signal to a server.

The processing module330may perform a control to not process at least one of relevant information of the first beacon and relevant information of the second beacon, based on the determination as to whether to process at least one of the first beacon signal and the second beacon signal.

The processing module330may determine whether to process at least one of the first beacon signal and the second beacon signal, based on whether the first speed is included in a first range corresponding to the first movement information.

The beacon signal receiving module310may receive a third beacon signal from a third beacon at a third time. The processing module330may identify a second time difference between the second time and the third time. The obtaining module350may identify the second distance between the third beacon and the second beacon. The processing module330may determine the second speed based on the second time difference and the second distance. The processing module330may determine whether the second speed is included in a second range corresponding to the second movement information of the electronic device between the second time and the third time. The processing module330may determine if at least one of the first beacon and the second beacon has an error, based on whether the second speed is included in the second range.

The beacon information communication module310may receive a first beacon signal from a first beacon at a first time and a second beacon signal from a second beacon at a second time. The obtaining module350may obtain a first distance between the first beacon and the second beacon. The processing module330may determine whether to process at least one of the first beacon signal and the second beacon signal, based on a result of comparison between the time difference between the first time and the second time and a threshold set as per the first distance.

The beacon information communication module310may receive a first beacon signal from a first beacon at a first time and a second beacon signal from a second beacon at a second time. The obtaining module350may obtain whether there is an inter-floor difference between the first beacon and the second beacon. The processing module330may determine whether to process at least one of the first beacon signal and the second beacon signal, based on the time difference between the first time and the second time.

The beacon signal receiving module310may receive a plurality of different beacon signals. The obtaining module350may obtain movement information of the electronic device101. The processing module330may determine whether to process each of a plurality of beacon signals, based on the respective reception times of the plurality of beacon signals and the obtained movement information.

FIG. 4illustrates a server according to an embodiment of the present invention.

Referring toFIG. 4, a server106includes a storage module410, a communication module420, and a processing module430.

The storage module410may store beacon information and relevant information. The beacon information may include at least one of a beacon logic identification (ID), a beacon name, a beacon ID, a beacon type, a tag, a security code, a beacon location, group information, and an owning company. The beacon logic ID may allow the server to identify a beacon. The beacon name may be a name assigned to identify a beacon. The beacon ID may be for identifying a beacon. The beacon type is for identifying a communication scheme in which the beacon performs communication, e.g., Bluetooth Low Energy (BLE)®, Wi-Fi®, or ANT®. The tag may be a tag or user tag determined per type and may indicate information, e.g., a restaurant, an exhibition, or an event. The security code may be a key value for encrypting or decoding a beacon signal. The beacon location may include at least one of two-dimensional coordinates and per-floor information of a beacon. The group information may be information on the group where a beacon belongs, e.g., the name of a department store or store information. The owning company information may denote information on the company owning a beacon. The relevant information may be information related to a beacon, such as marketing information.

The communication module420may transmit at least one of the beacon information and the relevant information to an electronic device. The communication module420may receive a beacon information request from the electronic device, and in response to the request, transmit at least one of the beacon information and the relevant information.

The communication module420may receive a request for providing a distance between the first beacon and the second beacon from the electronic device. In response to the request, the communication module420may transmit the distance between the first beacon and the second beacon to the electronic device. The communication module420may receive error information on the first beacon from the electronic device. The processing module430may update the beacon information on the first beacon, based on the error information.

The processing module430may delete the information on the first beacon or modify the information on the first beacon.

The communication module420may receive a beacon recognition log from each of a plurality of electronic devices. The processing module430may update the beacon information based on the received beacon recognition log.

FIG. 5illustrates a beacon according to an embodiment of the present invention.

Referring toFIG. 5, the beacon102includes a processing module510and a beacon signal transmitting module520.

The processing module510may generate a beacon signal, which may include at least one of a beacon type, transmission strength information, a beacon ID, a group ID, and a time stamp. The processing module510may encrypt a beacon signal. For example, when the beacon102uses BLE communication, the processing module510may generate a beacon signal using an advertisement packet following a BLE communication standard.

The beacon signal transmitting module520may transmit generated beacon signals at predetermined time intervals.

FIG. 6is a signal flow diagram illustrating a beacon managing method according to an embodiment of the present invention. Specifically, in the method illustrated inFIG. 6, an electronic device601receives beacon signals from two beacons602aand602b.

Referring toFIG. 6, in step610, the first beacon602atransmits a first beacon signal to the electronic device601at a first time t1.

In step620, the second beacon602btransmits a second beacon signal to the electronic device601at a second time t2.

For example, a user carrying the electronic device601may enter an effective range of a beacon signal from the first beacon602aand may then enter an effective range a beacon signal from the second beacon602b. Accordingly, the electronic device601may sequentially receive the first beacon signal and the second beacon signal at the first time t1and the second time t2, respectively.

In step630, the electronic device601obtains movement information of the electronic device601. For example, the electronic device601may obtain first movement information corresponding to the user's movement information between the first time and the second time, e.g., from a sensor in the electronic device601or a processor that has processed data from the sensor. The first movement information may include at least one of a velocity (or speed), a distance (or displacement) or a step count and vertical movement information between the first time and the second time. For example, the sensor or the processor may be a pedometer.

In step640, the electronic device601determines whether to process at least one of the first beacon signal and the second beacon signal, based on the first movement information. That is, the electronic device601may determine, based on the first movement information, whether at least one of the first beacon and the second beacon has an error. The error may be a location error, i.e., an error in which a position of the first beacon or the second beacon is different from a managed position.

FIG. 7is a flowchart illustrating a beacon managing method by an electronic device according to an embodiment of the present invention.

FIG. 8Aillustrates beacon topology managed by a server or an electronic device, e.g., information regarding a beacon as stored in the server or the electronic device,FIG. 8Billustrates an actual beacon topology, e.g., information regarding an actual position of a beacon, andFIG. 9illustrates topology information according to an embodiment of the present invention.

Referring toFIG. 7, in step710, the electronic device receives a first beacon signal from a first beacon B1at a first time t1, e.g., as illustrated inFIG. 8B. The electronic device may store a beacon signal reception history851.

In step720, the electronic device receives a second beacon signal from a second beacon B5at a second time t2, e.g., as illustrated inFIG. 8B. The electronic device may store a beacon signal reception history852.

In step730, the electronic device obtains a first distance d1between the first beacon B1and the second beacon B5. For example, the first distance d1may be a distance for moving from the first beacon B1to the second beacon B5, or may be a distance on beacon topology managed by a server or the electronic device. The managed beacon topology includes information indicating that the first beacon B1is located on a first floor810and that the second beacon B5is located on a second floor820, as illustrated inFIG. 8A. Accordingly, the first distance d1may be a sum of a distance between the first beacon B1and a stairway815, a distance of the stairway815, and a distance between the stairway815and the second beacon B5.

The electronic device may receive and store beacon topology managed by a server. In such case, the electronic device may obtain the first distance d1from the stored, managed beacon topology.

Alternatively, the electronic device may send a request for beacon topology to a server and may receive the beacon topology from the server. In this case, the electronic device may obtain the first distance d1from the received, managed beacon topology.

The electronic device may send a request for the first distance d1to the server and receive the first distance d1. For example, the electronic device may send a first distance request including IDs of the first beacon B1and the second beacon B5to the server. The server may obtain the first distance d1for the electronic device in response to the received first distance request, and the electronic device may obtain the first distance d1from the server.

At least one of the electronic device and the server may include topological information, e.g., as illustrated inFIG. 9.

Referring toFIG. 9, the topological information includes per-floor planar configuration information. The topological information includes information indicating that a walk way911and first to third stores912to914are arranged on the first floor910and an arrangement relationship. Further, the topological information includes information indicating that a walk way921and fourth to sixth stores922to924are arranged on the second floor920and an arrangement relationship. Further, the topological information also includes information on an arrangement of beacons on each floor.

At least one of the electronic device and the server may obtain the first distance based on the topological information.

In step740, the electronic device determines a first speed v1from the first distance d1. The electronic device determines a first time difference (Δt1) based on a second time t2and a first time t1. The electronic device determines the first speed v1, based on the first time difference (Δt1) and the first distance d1. For example, the electronic device may determine the first speed v1using Equation (1).

The first speed v1determined by the electronic device is a speed in the managed beacon topology.

In step750, the electronic device compares the first speed v1and an electronic device speed (vterminal), i.e., determines which is larger or smaller.

As described above, the electronic device may obtain the electronic device speed (vterminal) from first movement information. For example, the electronic device may obtain a mean speed of the electronic device between the first time t1and the second time t2from a sensor included in the electronic device or from a processor processing data from the sensor. The electronic device may also obtain a moving state of the electronic device between the first time t1and the second time t2. For example, the moving state may include a walk state, a run state, or a climb state.

Further, a speed corresponding to each state may be previously determined. For example, when the moving state is a walk state, the speed may be previously determined as 4 km/h. The electronic device may obtain the electronic device speed based on the speed corresponding to the moving state or the mean speed. Here, the electronic device speed (vterminal) between the first time t1and the second time t2may be referred to as a first electronic device speed.

In step760, the electronic device101determines if the first beacon or the second beacon is a suspect beacon, when the first speed v1exceeds the electronic device speed (vterminal). Here, the term “suspect beacon” may refer to a beacon whose location is determined to be different from an initially set location, i.e., a beacon that has been improperly moved or moved without updating the movement in the server.

For example, as illustrated inFIG. 8B, the second beacon B5is actually located on the first floor810, not the second floor820, different from information provided in the managed beacon topology. In this case, the electronic device has actually moved from the location of the first beacon B1inFIG. 8Bto the location of the second beacon B5for the first time difference (Δt1). Accordingly, the obtained first electronic device speed may be a value obtained by dividing the displacement between the first beacon B1and the second beacon B5inFIG. 8Bwith the first time difference (Δt1).

However, the first speed v1determined from a point of view of the managed beacon topology may be a value obtained by dividing a sum of the distance between the first beacon B1and the stairway815, the distance of the stairway815, and the distance between the stairway815and the second beacon B5inFIG. 8Awith the first time difference (Δt1).

Accordingly, because the first speed v1will be larger than the first electronic device speed, the electronic device may identify at least one of the first beacon B1and the second beacon B5as a suspect beacon.

FIG. 10is a flowchart illustrating a beacon managing method according to an embodiment of the present invention. For example, the beacon managing method illustrated inFIG. 10may be performed after the beacon managing method illustrated inFIG. 7has been performed.

Referring toFIG. 10, in step1010, the electronic device receives a third beacon signal from a third beacon B2at a third time t3, e.g., as illustrated inFIG. 8B. The electronic device may store a beacon signal reception history853.

In step1020, the electronic device obtains a second distance d2between the third beacon B2and the second beacon B5. Here, the second distance d2may be a distance for moving from the third beacon B2to the second beacon B5, or may be a distance based on beacon topology managed by the server or the electronic device. The managed beacon topology, as illustrated inFIG. 8A, includes information indicating that the third beacon B2is located on the first layer810and the second beacon B5is located on the second layer820. Accordingly, the second distance d2may be a sum of a distance between the third beacon B2and the stairway815, a distance of the stairway815, and a distance between the stairway815and the second beacon B5.

As described above, the electronic device may obtain the second distance d2from the stored, managed beacon topology, or the electronic device may send a request for beacon topology to the server and may receive the beacon topology from the server in order to obtain the second distance d2. The electronic device may also send a request for the second distance d2to the server and receive the second distance d2from the server.

In step1030, the electronic device determines a second speed v2from the second distance d2. The electronic device may determine a second time difference (Δt2) based on a third time t3and a second time t2. The electronic device may determine the second speed v2based on the second time difference (Δt2) and the second distance d2. For example, the electronic device may determine the second speed v2using Equation (2).

The second speed v2determined by the electronic device is a speed in the managed beacon topology.

In step1040, the electronic device determines if the second speed v2is larger than a electronic device speed (vterminal). The electronic device may obtain its movement information between the third time t3and the second time t2. The electronic device movement information between the third time t3and the second time t2may be referred to as second movement information.

As described above, the electronic device may obtain the electronic device speed (vterminal) from the second movement information. Specifically, the electronic device may obtain a mean speed of the electronic device between the third time t3and the second time t2from a sensor included in the electronic device or a processor processing data from the sensor. The electronic device may obtain a moving state of the electronic device101between the third time t3and the second time t2. The electronic device may obtain the electronic device speed based on the speed corresponding to the moving state or the mean speed. Here, the electronic device speed (vterminal) between the third time t3and the second time t2is referred to as a second electronic device speed.

In step1040, the electronic device determines whether the second speed v2exceeds the second electronic device speed.

In step1050, when the second speed v2exceeds the second electronic device speed (vterminal), the electronic device determines that the second beacon B5has an error, i.e., is incorrectly positioned, as illustrated inFIG. 8B.

In step1060, the electronic device abstains from processing the second beacon signal received from the second beacon B5determined to have the error.

In step1070, when the second speed v2is not more than the second electronic device speed, the electronic device determines that the first beacon B1has an error, i.e., is incorrectly positioned.

In step1080, the electronic device abstains from processing the first beacon signal received from the first beacon B1determined to have the error.

In step1090, the electronic device reports the error to the server.

Accordingly, the server may share the error information with other electronic devices, and the other electronic devices may abstain from processing the second beacon signal from the second beacon B5.

FIG. 11is a flowchart illustrating a beacon managing method by an electronic device according to an embodiment of the present invention.

Referring toFIG. 11, in step1110, the electronic device receives a first beacon signal from a first beacon B1at a first time t1, as illustrated inFIG. 8B. The electronic device101may store a beacon signal reception history851.

In step1120, the electronic device receives a second beacon signal from a second beacon B5at a second time t2, as illustrated inFIG. 8B. The electronic device101may store a beacon signal reception history852.

In step1130, the electronic device obtains an inter-floor difference (Δz) between the first beacon B1and the second beacon B5. Here, the inter-floor difference (Δz) may be a difference between the floor810on which the first beacon B1is located and the floor820on which the second beacon B5is located. Further, the inter-floor difference (Δz) may be a distance on beacon topology managed by the server or the electronic device. As described above, inFIG. 8A, the managed beacon topology includes information indicating that the first beacon B1is located on a first floor810and the second beacon B5is located on a second floor820. Thus, the inter-floor difference (Δz) may be a difference of one floor.

In step1140, the electronic device determines whether there is a vertical movement of the electronic device corresponding to the inter-floor difference (Δz). As described above, the electronic device may obtain the first movement information from a sensor in the electronic device or a processor that has processed data from the sensor. The electronic device may determine whether there has been a vertical movement from the first movement information.

InFIG. 8B, the user has only moved on the first floor830, and thus, the first movement information indicates that there is no vertical movement.

In step1150, when it is determined that there is no vertical movement of the electronic device corresponding to the inter-floor difference (Δz), the first beacon B1and the second beacon B5are determined to be suspect beacons.

Further, the electronic device, thereafter, receives a third beacon signal from a third beacon B2at a third time t3and determines a beacon having an error based on a result of the comparison between an inter-floor difference between the third beacon B2and the second beacon B2and a vertical movement difference of the electronic device101for a second time difference. For example, as illustrated inFIG. 8A, the inter-floor difference between the third beacon B2and the second beacon B5should be one floor, but because there is no vertical movement difference of the electronic device for the second time difference, as illustrated inFIG. 8B, the electronic device may determine that the second beacon B5has an error.

Although not illustrated inFIGS. 8A and 8B, it can be easily appreciated by one of ordinary skill in the art that if there was a vertical movement of the electronic device corresponding to the inter-floor difference for the second time difference, the electronic device would determine that the first beacon B1has an error.

In the above-described embodiments, the electronic device detects a beacon having an error, i.e., being located in an incorrect position, through speed-based comparison or through inter-floor comparison. However, according to another embodiment of the present disclosure, the electronic device may also detect a beacon having an error considering both a speed and an inter-floor difference.

FIG. 12is a signal flow diagram illustrating a beacon registration procedure according to an embodiment of the present invention.

Referring toFIG. 12, in step1205, the electronic device101sends a request for a beacon list to the server106. Here, the beacon list includes at least one of beacon information and relevant information.

In step1210, the server106transmits a beacon list to the electronic device101, in response to the request for the beacon list from the electronic device101.

In step1215, the electronic device101receives a first beacon signal from a first beacon102a. For example, the first beacon signal may be a BLE-based advertisement signal that is encrypted according to a predetermined encryption scheme. For example, the first beacon signal may be encrypted as per a onetime-password scheme. Accordingly, a K value obtained by applying a Hash function for a time stamp and a group key from the first beacon signal may be obtained. Further, a beacon identification and an encryption connection (ENC) Parameter value in which the K value has been encrypted may be acquired. The first beacon signal may have the group identification, time stamp, and ENC value.

In step1220, the electronic device101transmits a group ID for the corresponding group to the server106.

In step1225, the server106transmits a group key corresponding to the group ID to the electronic device101.

In step1230, the electronic device101decodes the first beacon signal using the received group key. The electronic device101may obtain K′, which is a result obtained by applying the Hash function for the time stamp and the group key. The electronic device101may decode the ENC value and K′ value to obtain the beacon ID. The electronic device101may determine whether the obtained beacon ID is present in an existing beacon list.

When the obtained beacon ID is not present in the existing beacon list, the electronic device101, in step1235, requests the server106to register the first beacon102a. The registration request from the electronic device101may include at least one of an identification of the first beacon102a, a group identification, a reception time difference (T0=current time-time of time stamp), and a beacon location (at least one of two-dimensional coordinates and per-floor information).

When the beacon location may be located indoors or outdoors, the electronic device101may receive three-dimensional coordinates associated with the beacon from the outside and transfer the same to the server106. When the beacon location is located indoors, the electronic device101may obtain positioning data through a Wi-Fi map and may transfer the same to the server106.

In step1240, the server106registers the first beacon102ain a beacon list, e.g., based on the information included in a first beacon registration request.

Further, the server106may identify group information and creator-related information and may also register the same in the beacon list. Here, the creator-related information may be identification information of the electronic device101or the user of the electronic device101.

FIG. 13is a signal flow diagram illustrating a beacon managing method according to an embodiment of the present invention.

Referring toFIG. 13, in step1305, the electronic device101transmits location information of the electronic device101to the server106. The electronic device101may include a location determining module, such as a GPS module that may determine an arrangement location, and may obtain location information of the electronic device101.

In step1310, the server106transmits a beacon list corresponding to the location information to the electronic device101. For example, the server106may identify a beacon group corresponding to the location information and transmit the beacon list of the beacon group to the electronic device101.

In step1315, the electronic device101stores (or caches) at least one of the beacon information and relevant information of the received beacon list.

In step1320, the electronic device101receives a first beacon signal from a first beacon102aat a first time.

In step1325, the electronic device101stores a beacon signal reception history indicating that the first beacon has been received at the first time.

In step1330, the electronic device101provides relevant information corresponding to the first beacon signal.

FIG. 14is a signal flow diagram illustrating a beacon managing method according to an embodiment of the present invention. For example, the beacon managing method illustrated inFIG. 14may be performed after the beacon managing method illustrated inFIG. 13has been performed.

Referring toFIG. 14, in step1405, the electronic device101receives a second beacon signal from a second beacon102b. The electronic device101may receive the second beacon signal after receiving the first beacon signal. Further, in this case, the electronic device101might not immediately provide the relevant information corresponding to the second beacon signal.

In step1410, the electronic device101sends a request for information on a distance between the first beacon102aand the second beacon102bto the server106.

In step1415, the server106transmits the distance information between the first beacon102aand the second beacon102bto the electronic device101. As described above, alternatively, the electronic device101may obtain the distance information on its own.

In step1420, the electronic device101obtains movement information of the electronic device101.

In step1425, the electronic device101determines whether a beacon signal is normal, based on at least one of the obtained movement information and distance information. As described above, the electronic device101may determine whether the beacon signal is normal, based on a result of a comparison between speed information obtained from the distance information and electronic device speed information obtained from the movement information. Alternatively, the electronic device101may determine whether the beacon signal is normal, based on a result of a comparison between the inter-floor difference information obtained from the distance information and the vertical movement information of the electronic device101obtained from the movement information.

In step1430, when the beacon signal is determined to be normal, the electronic device101provide (e.g., display) relevant information corresponding to the second beacon signal.

In step1435, when the beacon signal is determined to be abnormal, the electronic device101determines that the first beacon102aand the second beacon102bare suspect beacons.

In step1440, the electronic device101receives a third beacon signal from a third beacon102c.

In step1445, the electronic device101sends a request for distance information between the third beacon102cand the second beacon102bto the server106.

In step1450, the server106transmits the distance information between the third beacon102cand the second beacon102bto the electronic device101. As described above, alternatively, the electronic device101may obtain distance information on its own.

In step1455, the electronic device101obtains movement information of the electronic device101.

In step1460, the electronic device101determines whether the beacon signal is normal, based on at least one of the obtained movement information and distance information.

In step1465, the electronic device101determines that at least one of the first beacon102a(as illustrated inFIG. 13) and the second beacon102bis a beacon having an error, based on a result of the determination.

FIG. 15is a flowchart illustrating a beacon managing method according to an embodiment of the present invention. For example, the beacon managing method illustrated inFIG. 15may be performed after the beacon managing method illustrated inFIG. 7has been performed. That is, after the first beacon and the second beacon have been determined to be suspect beacons, the method illustrated inFIG. 15may be performed.

FIG. 16illustrates actual beacon topology and managed beacon topology according to an embodiment of the present invention.

Referring toFIG. 16, beacon topology managed by the electronic device101or the server106indicates that a first beacon B1is located at (x1,y1,z1), a second beacon B2is located at (x2,y2,z2), and a third beacon B3is located at (x3,y3,z3). However, in actual beacon topology, the first beacon B1, the second beacon B2, and the third beacon B3, respectively, are located at (X1,Y1,Z1), (X2,Y2,Z2), and (X3,Y3,Z3). In the example illustrated inFIG. 16, the second beacon B2has moved, i.e., the second beacon B2has an error.

Referring toFIG. 15, in step1510, the electronic device receives a third beacon signal from the third beacon B3at a third time t3.

In step1520, the electronic device obtains a second distance d2between the third beacon B3and the second beacon B2. Here, the second distance d2may be a distance for moving from the third beacon B2to the second beacon B2.

In step1530, the electronic device obtains a third distance d3between the third beacon B3and the first beacon B1. Here, the third distance d3may be a distance for moving from the third beacon B3to the first beacon B1.

In step1540, the electronic device obtains a second speed v2and a third speed v3. For example, the third speed v3may be obtained using Equation (3).

In step1550, the electronic device determines an error based on the second speed v2and the third speed v3.

Specifically, the electronic device may compare the second speed v2with a second electronic device speed. Further, the electronic device may compare the third speed v3with a third electronic device speed. The electronic device101may determine a beacon that is normal based on the result of the comparison.

For example, when the third speed v3is equal to the third electronic device speed, the electronic device may determine that the first beacon B1is a normal beacon. Further, the electronic device may determine that the beacon, the second beacon B2, which is not classified as the normal beacon, may have an error.

InFIG. 16, for a distance between the third beacon B3and the first beacon B1, the distance on the managed beacon topology is the same as the actual distance. Accordingly, the electronic device may determine that the third speed v3is the same as the third electronic device speed. As used herein, the term “the same” may include cases where the difference between the speeds is less than a predetermined threshold.

As a result of the determination, the first beacon B1and the second beacon B2may both be determined to have errors. In such a case, the electronic device may operate based on a multi-error action rule.

The multi-error action rule may include at least one of stopping servicing all of beacons having multiple errors, deleting a beacon that has an error and that abstains from providing only information related to corresponding to an erroneous beacon, and/or stopping servicing relevant information for the whole group to which the beacons correspond.

As described above, the electronic device may compare a latest received beacon signal with a beacon signal received a few steps earlier, while abstaining from only comparing the latest received beacon signal with a beacon signal received immediately before in the beacon signal reception history.

FIG. 17is a flowchart illustrating a beacon managing method according to an embodiment of the present invention.

FIG. 18illustrates movement of an electronic device in actual beacon topology.

Referring toFIGS. 17 and 18, in step1710, the electronic device receives a first beacon signal from a first beacon B1at a first time t1. The electronic device may store a beacon signal reception history.

In step1720, the electronic device receives a second beacon signal from a second beacon B2at a second time t2. The electronic device may store a beacon signal reception history.

In step1730, the electronic device obtains a first distance d1between the first beacon B1and the second beacon B2. Here, the first distance d1may be a distance for moving from the first beacon B1to the second beacon B2. Further, the first distance d1may be a distance on beacon topology managed by a server or the electronic device.

The electronic device may receive and store beacon topology managed by the server. In such a case, the electronic device may obtain the first distance d1from the stored, managed beacon topology.

Alternatively, the electronic device may send a request for beacon topology to the server and receive the beacon topology from the server. In this case, the electronic device may obtain the first distance d1from the received, managed beacon topology.

The electronic device may send a request for the first distance d1to the server and receive the first distance d1from the server. For example, the electronic device may send a first distance request including identifications of the first beacon B1and the second beacon B2to the server. The server may obtain the first distance d1for the electronic device in response to the received first distance request, and the electronic device may obtain the first distance d1from the server.

In step1740, the electronic device determines a first speed v1from the first distance d1. The electronic device may determine a first time difference (Δt1) based on a second time t2and a first time t1. The electronic device101may determine the first speed v based on the first time difference (Δt1) and the first distance d1. The first speed v1determined by the electronic device is a speed in the managed beacon topology.

In step1750, the electronic device determines whether the first speed v1is included in a first range corresponding to the electronic device speed (vterminal). The electronic device may obtain movement information of the electronic device101as illustrated inFIG. 18.

InFIG. 18, it is assumed that the first distance d1is 520 m and that the electronic device moves 240 m at 2.4 km/h from the first beacon B1, stays fourteen minutes, and moves 280 m at 2.8 km/h. A sensor, such as a pedometer, or a processor processing data from the sensor in the electronic device may obtain movement information indicating that it takes the electronic device 26 minutes to move 520 m. Accordingly, the electronic device may obtain information indicating that the terminal speed (e.g., a mean speed) is 1.21 cm/h.

The electronic device may set a first range corresponding to the terminal speed (e.g., 1.2 km/h). The electronic device may set a first range having a predetermined deviation (e.g., 0.2 km/h) with respect to the electronic device speed (e.g., 1.21 km/h). For example, the electronic device may set the first range from 1 km/h to 1.4 km/h.

The electronic device may determine whether the first speed v1belongs to the first range to determine whether the beacon has an error. For example, when the first speed v1is smaller or larger than the first range, at least one of the first beacon B1and the second beacon B2is determined as a suspect beacon in step1760.

However, when the first speed v1is included within the first range, the electronic device provides relevant information corresponding to the second beacon B2in step1770.

FIG. 19is a flowchart illustrating a beacon managing method according to an embodiment of the present invention. For example, the beacon managing method illustrated inFIG. 19may be performed after the beacon managing method illustrated inFIG. 17has been performed.

FIG. 20illustrates movement of an electronic device in an actual beacon topology.

Referring toFIG. 19, in step1910, the electronic device receives a third beacon signal from a third beacon B3at a third time t3. The electronic device101may store a beacon signal reception history.

In step1920, the electronic device obtains a second distance d2between the third beacon B3and the second beacon B2. As illustrated inFIG. 20, the second distance d2is a distance for moving from the third beacon B3to the second beacon B2, e.g., 300 m.

In step1930, the electronic device determines the second speed v2from the second distance d2. The electronic device101may determine a second time difference (Δt2) based on a third time t3and a second time t2. The electronic device101may determine the second speed v2based on the second time difference (Δt2) and the second distance d2. The second speed v2determined by the electronic device101is a speed in the managed beacon topology.

In step1940, the electronic device determines whether the second speed v2falls into the second range.

InFIG. 20, the electronic device may obtain information indicating that the terminal speed is 3 km/h as illustrated inFIG. 20. The electronic device may set a second range, e.g., from 2.8 km/h to 3.2 km/h.

In step1950, when the electronic device speed is determined not to correspond to the second speed v2, the electronic device determines that the second beacon has an error.

In step1960, the electronic device abstains from processing the second beacon signal.

In step1970, when the electronic device speed corresponds to the second speed v2, the electronic device determines that the second beacon is a normal beacon and that the first beacon has an error.

In step1980, the electronic device abstains from processing the first beacon signal.

In step1990, the electronic device reports error information to the server106.

Alternatively, the electronic device may compare a latest received beacon signal with a beacon signal received a few steps before, while abstaining from only comparing the latest received beacon signal with a beacon signal received immediately before so as to determine whether there is an error.

For example, the electronic device may obtain a third distance d3between the first beacon B1and the third beacon B3and its corresponding third speed v3. In this case, the electronic device may obtain its speed for a third time difference, which is a difference between the first time and the third time. The electronic device may set a third range corresponding to the electronic device speed for the third time difference. The electronic device may determine whether the beacon has an error, based on whether the third speed v3corresponds to the third range.

FIG. 21is a flowchart illustrating a beacon managing method according to an embodiment of the present invention.

Referring toFIG. 21, in step2110, an electronic device receives a plurality of beacon signals.

In step2120, the electronic device determines a first physical amount, based on the received beacon signals. For example, a unit for representing the first physical amount may be a time unit, speed unit, or acceleration unit of the electronic device.

In step2130, the electronic device determines whether a beacon has an error based on the first physical amount and a predetermined threshold.

Unlike the beacon managing method illustrated inFIG. 7, the beacon managing method illustrated inFIG. 21may determine whether the beacon has an error without using movement information of the electronic device.

FIG. 22is a flowchart illustrating a beacon managing method according to an embodiment of the present invention.

FIG. 23illustrates actual beacon topology and managed beacon topology.

Referring toFIG. 23, in the managed beacon topology, a first beacon B1and a second beacon B2, respectively, are disposed at (X1,Y1,Z1) and (X2,Y2,Z2). Further, in the actual beacon topology, the first beacon B1and the second beacon B2, respectively, are disposed at (x1,y1,z1) and (x2,y2,z2). Accordingly, the second beacon B2is actually closer to the first beacon B1than is reflected in the managed beacon topology.

Referring toFIG. 22, in step2210, an electronic device receives a first beacon signal from the first beacon B1at a first time t1. The electronic device may store a beacon signal reception history.

In step2220, the electronic device receives a second beacon signal from the second beacon B2at a second time t2. The electronic device may store a beacon signal reception history.

In step2230, the electronic device obtains a first distance d1between the first beacon B1and the second beacon B2. Here, the first distance d1may be a distance for moving from the first beacon B1to the second beacon B2. Further, the first distance d1may be a distance based on beacon topology managed by a server or the electronic device.

In step2240, the electronic device determines a first speed v1from the first distance d1. The electronic device may determine a first time difference (Δt1) based on a second time t2and a first time t1. The electronic device may determine the first speed v based on the first time difference (Δt1) and the first distance d1.

InFIG. 23, the first speed v1in the actual beacon topology may be larger than the speed in the managed beacon topology.

In step2250, the electronic device determines whether the first speed v1exceeds a threshold speed vth. Here, the threshold speed vth may be a predetermined speed managed by the electronic device or the server.

In step2260, when the first speed v1is determined to be larger than the threshold speed, the electronic device determines that the second beacon has an error.

As described above, the electronic device may determine whether a beacon has an error without using movement information of the electronic device.

The above-described speed-based comparison is merely an example, and an electronic device according to an embodiment of the present invention may also determine whether an error occurs through time comparison.

FIG. 24is a flowchart illustrating a beacon managing method according to an embodiment of the present invention.FIG. 25illustrates managed beacon topology.

Referring toFIG. 24, in step2410, an electronic device receives a first beacon signal from a first beacon B1at a first time t1. The electronic device may store a beacon signal reception history.

In step2420, the electronic device receives a second beacon signal from a second beacon B2at a second time t2. The electronic device may store a beacon signal reception history.

In step2430, the electronic device determines whether there is an inter-floor difference between the first beacon B1and the second beacon B2.

InFIG. 25, the first beacon B1is located on a first floor, and the second beacon B2is located on a second floor. Accordingly, an inter-floor difference of one floor is present between the first beacon B1and the second beacon B2, and the electronic device may obtain the same.

The electronic device may determine whether an error occurs depending on whether the first beacon B1and the second beacon B2are beacons that may move between floors. For example, inFIG. 25, a fourth beacon B4and a fifth beacon B5are positioned near a stairway2510, and thus, are beacons that may move between floors. The first to third beacons B1to B3and a sixth beacon B6, which are not adjacent to the stairway2510, are beacons that do not move between floors.

In step2440, the electronic device determines that the first beacon B1and the second beacon B2are beacons that might not move between floors, and accordingly, determines that the second beacon B2has an error.

FIG. 26is a signal flow diagram illustrating a beacon managing method according to an embodiment of the present invention.

Referring toFIG. 26, in step2610, a first electronic device101astores a first log, which may include a history of beacon signals received by the first electronic device101a. Herein, the term “log” may also be referred to as a beacon signal reception history.

In step2620, a second electronic device101bstores a second log, which may include a history of beacon signals received by the second electronic device101b.

In step2630, the first electronic device101atransmits the first log to the server106, and in step2640, the second electronic device101btransmits the second log to the server106.

In step2650, the server106analyzes the received first log and second log. For example, the server106may compare the first log with the second log.

In step2660, the server106determines a beacon having an error based on a result of the log analysis.

In step2670, the server106updates beacon information based on the error.

In steps2680and2690, the server106transmits the updated beacon information to the second electronic device101band the first electronic device101a, respectively.

FIG. 27is a signal flow diagram illustrating a beacon managing method according to an embodiment of the present invention. InFIG. 27, it is assumed that an electronic device101receives a plurality of beacon signals within a shorter time than a predetermined threshold.

Referring toFIG. 27, in step2710, the electronic device101receives a first beacon signal from a first beacon102aat a first time.

In step2720, the electronic device101receives a second beacon signal from a second beacon102bat a second time.

In step2730, the electronic device101receives a third beacon signal from a third beacon102cat a third time. Here, a time interval between the first time and the third time is assumed to be shorter than the predetermined threshold.

In step2740, the electronic device101stores a log when the time difference in beacon signal reception time is smaller than a predetermined threshold.

In step2750, the electronic device101transmits the stored log to the server106.

In step2760, the server106analyzes the received log. For example, the server106may analyze the log received from the electronic device101, together with a log received from another electronic device.

In step2770, the server106determines an erroneous beacon based on a result of the log analysis.

In step2780, the server106updates beacon information by reflecting the error.

In step2790, the server106transmits the updated beacon information to the electronic device101.

FIG. 28Aillustrates a configuration of a server according to an embodiment of the present invention.

Referring toFIG. 28A, the server includes a web interface module2805, a rest interface module2810, a route path module2815, a service data management module2820, a distance calculator module2825, a map data management module2830, a profile module2835, a notification management module2840, a log analyzer module2845, a map database2850, a service database2855, and a device log database2860.

The web interface module2805may receive or modify information on a beacon, topological information, and log information in the form of a webpage, a hybrid web, or an application through an Internet web protocol.

The rest interface module2810may be implemented in a type of REST that is a call protocol of the WEB. The rest interface module2810may function as an interface to allow a library included in a terminal or an application implemented in the terminal to communicate with a server in order to transmit or receive the information on the beacon, information related to the beacon, and information on the terminal.

The route path module2815may compute a path between two particular points as per map data.

The service data management module2820may process information, such as information on a beacon or group or relevant information, in the form of a table or list so that the information may be provided to a user. An example of the table is illustrated inFIG. 28B.

The distance calculator module2825may compute a distance between two particular points.

The map data management module2830may perform inquiry, modification, or history management on data, such as a map drawing, a network, and a link.

The profile module2835may include information on moving states of an electronic device, such as, e.g., a walk state, a run state, or a climb state.

The notification management module2840may notify a service data manager of automatic modification of an error or occurrence of a critical error.

The log analyzer module2845may perform the process of creating a raw data type of log of an electronic device into a path per time or per event and may compare the processed data with map data to automatically process network data.

The map database2850may include topological information in a group. The map data may include data, such as the map drawing, network, and link.

The service database2855may store a table or list generated in the service data management module2820.

The device log database2860may store a log received from a device.

As described above, an electronic device may directly manage beacon topology as well. In such case, the electronic device may include at least one of the map database, the map data management module, the route path module, and the distance calculation module.

FIGS. 29 to 31are flowcharts illustrating operations of a server receiving an error report according to various embodiments of the present invention.

Referring toFIG. 29, the server receives error information in step2910.

In step2920, the server registers the received error information in an error registration table and may identify the same. In step2930, the server transmits the error information to another electronic device.

Referring toFIG. 30, the server receives error information in step3010.

In step3020, the server generates map data including error information, and in step3030, the server transmits the map data including the error information.

Referring toFIG. 31, in step3110, the server receives log information.

In step3120, the server loads map data. Specifically, the server loads network data of the map data. The server106may determine whether to be able to remove a variable wall among the network data, and when possible, the server, in step3130, modifies variable wall data and then redistributes the map data. When the variable wall cannot be removed, the server transmits information indicating that a map data error occurs, e.g., through the notification management module2840, in step3140.

Accordingly, a server may trace respective movement paths of a plurality of terminals based on at least one of beacon information and a log received from each of the plurality of terminals. Further, the server may determine whether the network information and link information of the map data comply with the traced movement paths. The server, when determining that the network (or path) has moved, may vary the map data. The map data may be automatically or manually varied.

The server may transmit the modified map data, send a request for log information or location information to a terminal, transmit topological information on an updated area to all the terminals, or transmit an indication that the topological information on the updated area has been varied. The server may determine that a terminal is related to the corresponding topology based on log information transmitted within a predetermined time and may transmit updated information to the related terminal.

FIG. 32illustrates an electronic device according to an embodiment of the present disclosure. The electronic device3201, as illustrated inFIG. 32, may be substitute for the electronic device101in the network environment illustrated inFIG. 1.

Referring toFIG. 32, the electronic device3201includes an application processor (AP)3210, a communication module3220, a subscriber identification module (SIM) card3224, a memory3230, a sensor module3240, an input module3250, a display3260, an interface3270, an audio module3280, a camera module3291, a power management module3295, a battery3296, an indicator3297, and a motor3298.

The AP3210may control multiple hardware and software components connected to the AP3210by running, e.g., an OS or application programs, and the AP3210may process and compute various data. The AP3210may be implemented in, e.g., a System on Chip (SoC). The AP3210may further include a graphic processing unit (GPU) and/or an image signal processor. The AP3210may include at least some (e.g., the cellular module3221) of the components illustrated inFIG. 2. The AP3210may load a command or data received from at least one of other components (e.g., a non-volatile memory) on a volatile memory, process the command or data, and store various data in the non-volatile memory.

The communication module3220may have the same or similar configuration to the communication interface170as illustrated inFIG. 1. The communication module3220includes a cellular module3221, a Wi-Fi module3223, a BT module3225, a GPS module3227, an NFC module3228, and a radio frequency (RF) module3229.

The cellular module3221may provide voice call, video call, text, or Internet services through a communication network (e.g., an LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, or GSM network). The cellular module3221may perform identification or authentication of an electronic device in a communication network using the SIM card3224.

The cellular module3221may perform at least some of the functions providable by the AP3210. The cellular module3221may include a communication processor (CP). The Wi-Fi module3223, the BT module3225, the GPS module3227, or the NFC module3228may include a process for processing data communicated through the module. At least some (e.g., two or more) of the cellular module3221, the Wi-Fi module3223, the BT module3225, the GPS module3227, and the NFC module3228may be included in a single integrated circuit (IC) or an IC package.

The RF module3229may communicate data, e.g., RF communication signals. The RF module3229may include a transceiver, a power amp module (PAM), a frequency filter, a low noise amplifier (LNA), and/or an antenna. At least one of the cellular module3221, the Wi-Fi module3223, the BT module3225, the GPS module3227, or the NFC module3228may communicate RF signals through a separate RF module.

The SIM card3224may include a subscriber identification module and/or an embedded SIM, and may contain unique identification information (e.g., an integrated circuit card identifier (ICCID) or subscriber information (e.g., an international mobile subscriber identity (IMSI)).

The memory3230includes an internal memory3232or an external memory3234. The internal memory3232may include at least one of a volatile memory (e.g., a dynamic RAM (DRAM), a static RAM (SRAM), a synchronous dynamic RAM (SDRAM), etc.) or a non-volatile memory (e.g., a one time programmable ROM (OTPROM), a programmable ROM (PROM), an erasable and programmable ROM (EPROM), an electrically erasable and programmable ROM (EEPROM), a mask ROM, a flash ROM, a flash memory (e.g., a NAND flash, or a NOR flash), a hard drive, or solid state drive (SSD).

The external memory3234may include a flash drive, such as a CF (compact flash) memory, an SD (9 secure digital) memory, a micro-SD memory, a mini-SD memory, an xD (extreme digital) memory, or a memory Stick®. The external memory3234may be functionally and/or physically connected with the electronic device3201via various interfaces.

For example, the sensor module3240may measure a physical quantity or detect an operational state of the electronic device3201, and the sensor module3240may convert the measured or detected information into an electrical signal. The sensor module3240includes a gesture sensor3240A, a gyro sensor3240B, an atmospheric pressure sensor3240C, a magnetic sensor3240D, an acceleration sensor3240E, a grip sensor3240F, a proximity sensor3240G, a color sensor3240H, such as an RGB (Red, Green, Blue) sensor, a bio sensor3240I, a temperature/humidity sensor3240J, an illumination sensor3240K, or an Ultra Violet (UV) sensor2340M.

The sensor module3240may further include a control circuit for controlling at least one or more of the sensors included in the sensor module.

The electronic device3201may further include a processor configured to control the sensor module3240as part of an AP3210or separately from the AP3210, and the electronic device3201may control the sensor module3240while the AP is in a sleep mode.

The input module3250includes a touch panel3252, a (digital) pen sensor3254, a key3256, and an ultrasonic input device3258. The touch panel3252may use at least one of capacitive, resistive, infrared, or ultrasonic methods. The touch panel3252may further include a control circuit and/or a tactile layer for providing a user with a tactile reaction. The (digital) pen sensor3254may include a part of a touch panel or a separate sheet for recognition.

The key3256may include a physical button, optical key or key pad.

The ultrasonic input device3258may use an input tool that generates an ultrasonic signal and enable the electronic device3201to identify data by sensing the ultrasonic signal to a microphone3288.

The display3260includes a panel3262, a hologram device3264, and a projector3266. The panel3262may have the same or similar configuration as the display160illustrated inFIG. 1. The panel3262may be implemented to be flexible, transparent, and/or wearable. The panel3262may also be incorporated with the touch panel3252in a module.

The hologram device3264may make three dimensional (3D) images (holograms) in the air by using light interference.

The projector3266may display an image by projecting light onto a screen. The screen may be, for example, located inside or outside of the electronic device3201.

The display3260may further include a control circuit to control the panel3262, the hologram device3264, and/or the projector3266.

The interface3270includes a High Definition Multimedia Interface (HDMI)3272, a USB3274, an optical interface3276, or a D-subminiature (D-sub)3278.

Additionally or alternatively, the interface3270may include a Mobile High-definition Link (MHL) interface, a secure digital (SD) card/multimedia card (MMC) interface, and/or an IrDA standard interface.

The audio module3280may convert a sound into an electric signal or vice versa, for example. The audio module3280may process sound information input or output through e.g., a speaker3282, a receiver3284, an earphone3286, or a microphone3288.

For example, the camera module3291may be a device for capturing still images and videos, and may include one or more image sensors (e.g., front and back sensors), a lens, an Image Signal Processor (ISP), or a flash such as an LED or xenon lamp.

The power manager module3295may manage power of the electronic device3201.

A Power management Integrated Circuit (PMIC), a charger IC, and/or a battery or battery gauge may be included in the power manager module3295. The PMIC may have a wired and/or wireless recharging scheme. The wireless charging scheme may include a magnetic resonance scheme, a magnetic induction scheme, and/or an electromagnetic wave based scheme, and an additional circuit, such as a coil loop, a resonance circuit, a rectifier, etc., may be added for wireless charging.

The battery gauge may measure an amount of remaining power of the battery3296, a voltage, a current, or a temperature while the battery3296is being charged. The battery3296may be a rechargeable battery and/or a solar battery.

The indicator3297may indicate a particular state of the electronic device3201or a part of the electronic device (e.g., the AP3210), including a booting state, a message state, or recharging state.

The motor3298may convert an electric signal to a mechanical vibration and to generate a vibrational or haptic effect. A processing unit for supporting mobile TV, such as a GPU may be included in the electronic device3201. The processing unit for supporting mobile TV may process media data conforming to a standard for Digital Multimedia Broadcasting (DMB), Digital Video Broadcasting (DVB), or media flow.

Each of the aforementioned components of the electronic device3201may include one or more parts, and a name of the part may vary with a type of the electronic device3201.

In accordance with various embodiments of the present invention, the electronic device3201may include at least one of the aforementioned components, omit some of them, or include other additional component(s). Some of the components may be combined into an entity, but the entity may perform the same functions as the components may do.

At least a part of any device (e.g., modules or their functions) or method (e.g., operations) in the above-described embodiments of the present invention may be implemented as instructions stored in a computer-readable storage medium e.g., in the form of a program module. The instructions, when executed by a processor, control the processor to carry out a corresponding function. The computer-readable storage medium may be a memory.

The computer-readable storage medium may include a hardware device, such as hard discs, floppy discs, and magnetic tapes (e.g., a magnetic tape), optical media such as Compact Disc ROMs (CD-ROMs) and Digital Versatile Discs (DVDs), magneto-optical media such as floptical disks, ROMs, RAMs, Flash Memories, etc. Examples of the program instructions may include not only machine language codes but also high-level language codes which are executable by various computing means using an interpreter. The aforementioned hardware devices may be configured to operate as one or more software modules to carry out exemplary embodiments of the present disclosure, and vice versa.

Modules or programming modules in accordance with various embodiments of the present disclosure may include at least one or more of the aforementioned components, omit some of them, or further include other additional components. Operations performed by modules, programming modules or other components in accordance with various embodiments of the present disclosure may be carried out sequentially, simultaneously, repeatedly, or heuristically. Furthermore, some of the operations may be performed in a different order, or omitted, or include other additional operation(s).

According to an embodiment of the present disclosure, a storage medium storing commands is provided. The commands are configured to control at least one processor to perform at least one process when executed by the at least one processor. The at least one processor may include receiving a first beacon signal from a first beacon at a first time and receiving a second beacon signal from a second beacon at a second time; and identifying a location error of at least one of the first beacon and the second beacon based on first movement information of a terminal between the first time and the second time.

According to an embodiment of the present invention, when a beacon is improperly relocated, irrelevant information regarding the beacon's new position may be prevented from being displayed on a electronic device receiving a beacon signal.

A server may manage erroneous information on a beacon and send the same to other terminals. The other terminals may abstain from processing relevant information on the beacon that has caused an error.

Accordingly, the occurrence of errors and management of moved beacons may be easily performed.