WO2015005820A1 - Method and system for transferring data between devices, taking into account the relative positions thereof - Google Patents

Method and system for transferring data between devices, taking into account the relative positions thereof Download PDF

Info

Publication number
WO2015005820A1
WO2015005820A1 PCT/RU2013/000752 RU2013000752W WO2015005820A1 WO 2015005820 A1 WO2015005820 A1 WO 2015005820A1 RU 2013000752 W RU2013000752 W RU 2013000752W WO 2015005820 A1 WO2015005820 A1 WO 2015005820A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal device
devices
server
data
terminal
Prior art date
Application number
PCT/RU2013/000752
Other languages
French (fr)
Russian (ru)
Inventor
Алексей Валерьевич КАЛИНИН
Максим Алексеевич КАМАНИН
Андрей Михайлович СМИРНОВ
Максим Александрович СОКОЛОВ
Original Assignee
Дисплаир, Инк.
Обществос Ограниченной Ответственностью "Шеир"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Дисплаир, Инк., Обществос Ограниченной Ответственностью "Шеир" filed Critical Дисплаир, Инк.
Publication of WO2015005820A1 publication Critical patent/WO2015005820A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/026Services making use of location information using location based information parameters using orientation information, e.g. compass
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup

Definitions

  • the invention relates to the field of data transmission, in particular, to a method for wireless data transmission between mobile terminal devices or between a mobile terminal device and a stationary terminal device, taking into account the relative position of these devices.
  • identification and authorization of the sender and recipient of data is required.
  • the identification and authorization of devices when connecting via the Bluetooth interface is carried out by means of visual control by the user of the device name and in some cases requires a password.
  • various methods are proposed based on the physical location or physical interaction of mobile devices.
  • Patent Application WO2011119499 (Bump Technologies Inc.) describes a method for identifying and authorizing two mobile devices using accelerometer readings when impacting mobile devices for further data transfer between these devices.
  • the range of this method is limited by the length of the user's extended arms, in addition, the impact of mobile devices may not always be acceptable.
  • US2011163944 (Apple Inc.) describes a method for establishing communication using determining the relative position of two or more devices, in which the first device receives from other devices the vector coordinates of other devices in the inertial coordinate system ECEF (Earth Centered Earth Fixed) common to all of these devices. Further, based on the obtained vectors the first device calculates the line of sight vector for each of the other devices and compares it with the user’s gesture vector on the touch screen of the first device, determining which of the other devices the user’s gesture is most likely aimed at. At the same time, the specified application does not disclose a method for determining the vector coordinates of devices in the inertial coordinate system ECEF, therefore, the reliability of the correct determination of the partner device remains unclear.
  • ECEF Earth Centered Earth Fixed
  • US2011004329 (Microsoft Corp.) describes a method for refining magnetometer readings, in which the magnetometer and accelerometer are pre-calibrated, then the magnetometer readings are refined based on the calculation of pitch, roll and yaw according to the accelerometer, then the yaw angle
  • the proposed method has a number of limitations, in particular, it is ineffective in the presence of fields that distort the Earth's natural magnetic field.
  • the proposed method has a number of limitations, in particular, it is ineffective in the presence of fields that distort the natural magnetic field of the Earth, in addition, it provides the establishment of collinearity of two wireless devices,
  • Patent application US20110092155 (Apple Inc.) describes a method for establishing communication between two mobile devices, in which, for identification and authorization of devices, the magnetometer measures the dynamic magnetic signature of the device, which is generated by a special generator and emitted using a magnetic loudspeaker system. Moreover, the proposed method requires a special generator in the devices, which limits its application, in particular, makes it difficult or impossible to use it in existing mobile devices that are not equipped with such a generator.
  • Patent Application EP2521342 (Research In Motion Ltd.) describes a method
  • the magnetometer measures the magnetic field of a device generated by an electromagnet.
  • the proposed the method requires a special electromagnet in the devices, which limits its use, in particular, makes it difficult or impossible to use it in existing mobile devices not equipped with such an electromagnet.
  • the range of this method is limited by the range of the NFC, while the application does not disclose a method for determining the orientation of devices using an accelerometer, optical sensor, gyroscope or magnetometer, so the reliability of the correct determination of the partner device remains unclear.
  • Patent Application WO2011041434 (Qualcomm Inc.) describes a method for establishing communication between two mobile devices based on calculating a possible ballistic trajectory with a throwing gesture performed with one mobile device and comparing this trajectory with the location of another mobile device, which is determined by known methods. Moreover, the proposed method requires a certain space for the execution of the throwing gesture and may be inconvenient and / or unsafe in some circumstances.
  • Patent application US2010278345 (Apple Inc.) describes a method for establishing a connection between two mobile devices, in which a pair using an infrared, ultrasonic or radio frequency interface of a limited range (not more than 10 cm) is used to identify devices in pair, and an exchange is used to authorize devices verification information (passwords, etc.). Moreover, the proposed method requires user participation for authorization, i.e. not automatic.
  • US2010156812 (Verizon Data Services LLC) describes a method for establishing communication between two mobile devices based on calculating a gesture direction on a touch screen and comparing this direction with
  • the aim of the present invention is the implementation of an easy-to-use method for wireless data transmission between terminal devices with
  • Another objective of the present invention is the implementation of an easy-to-use system for wireless data transfer between terminal devices with reliable automatic determination of a pair of terminal devices based on geolocation data and terminal device orientation data.
  • FIG. 1 contains an example of the composition of a system for wireless data transmission between terminal devices, taking into account the relative position of these devices.
  • FIG. 2 contains an example of a diagram of the process of waiting and generating a request to connect or disconnect a mobile device in accordance with the method of wireless data transmission between terminal devices, taking into account the relative positions of these devices.
  • FIG. 3 contains an example of a process for a server to analyze geolocation data and orientation data of a mobile device in accordance with the method of wireless data transmission between terminal devices, taking into account the relative positions of these devices.
  • FIG. 4 contains an example of a process diagram for a server analyzing geolocation data and orientation data of a mobile device in accordance with a method for wireless data transmission between terminal devices taking into account the relative position of these devices.
  • FIG. 5 contains an example of a geographic area diagram of a mobile device in accordance with a method for wireless data transmission between terminal
  • FIG. 6 contains an illustration of the degrees of freedom of a mobile terminal.
  • FIG. 7 contains an example of the arrangement and orientation of two devices in a Cartesian coordinate system.
  • FIG. 8 contains an example of a partial diagram of a mobile terminal device.
  • FIG. 9 contains an example of a process diagram for interrogating orientation sensors
  • FIG. 10 contains an illustration of a method for correcting orientation data using gesture control.
  • One aspect of the present invention is a method for wirelessly transmitting data between terminal devices, comprising the following steps:
  • (A2) determine the geolocation data of the terminal devices and transmit them to the server;
  • step (ab) it is possible to further check whether the first terminal device is connected to the second terminal device, and if it is determined that the first terminal device is not connected to the second terminal device, it is possible to determine whether the first terminal device is in a moving state or at rest .
  • step (a8) If it is established that the previous state of the first terminal device is a state of motion, it is possible to proceed to step (a2).
  • step (a9) If it is established that the first terminal device is at rest, it is possible to check for a request from the server to connect to the second terminal device. If a request is found from the server to connect to the second terminal device, it is possible to proceed to step (a9). If a request from the server for connection with the second terminal device is not detected, it is possible to check whether the previous state of the first terminal device is a motion state or a rest state. If it is established that the previous state of the first terminal device is a state of motion, it is possible to proceed to step (a7). If it is established that the previous state of the first terminal device is at rest, it is possible to proceed to step (a2).
  • step (al l) If a request from the server to disconnect from the second terminal device is not detected, it is possible to proceed to step (aU).
  • the state of rest and the state of motion can be defined, respectively, as the state of rest and state of motion of the first terminal device relative to potential partner devices.
  • step (a4) it is possible to additionally determine the geographical area to which each potential partner device belongs, and to determine the second terminal device in step (a8), taking into account the priority of the geographical area.
  • the geographical area and the priority of the geographical area can be determined based on the distance between the terminal devices.
  • step (a 10) It is possible to transfer data between the first terminal device and the second terminal device in step (a 10) directly between the first terminal device and the second terminal device via the connection established in step (a9), or partially directly between the first terminal device and the second terminal device through the connection established in step (a9), and partially through the connection of the first and second terminal devices to the server, established in step (al), or through the connection The first and second terminal devices with the server installed in step (al).
  • step (aY) It is possible to continue the data transfer between the first terminal device and the second terminal device in step (aY) through the connection of the first and second terminal devices with the server after the execution of step (al 1). It is possible to continue the data transfer between the first terminal device and the second terminal device in step (aU) even if the execution of the other steps of the method is stopped.
  • the orientation data of the first terminal device and potential partner devices in step (a8) can be the pitch, roll and yaw angles and the rotation speed of each terminal device around three axes forming an orthogonal coordinate system.
  • the orientation data of the first terminal device and potential partner devices in step (a8) may further comprise refined values of at least one of the pitch, roll and yaw angles of at least one of the terminal devices. Clarifying the value of at least one of the pitch, roll, and yaw angles may include the following steps:
  • (B3) calculate the pitch, roll and yaw angles and the rotation speed of the first terminal device
  • step (B5) calculate the difference between the value obtained in step (b4) and the number of the largest element in the number array
  • step (B6) determine whether the first terminal device is at rest or in a state of motion based on the rotation speed values of the first terminal device calculated in step (b3);
  • step (B7) if at step (b6) it is determined that the first terminal device is in a state of motion, the value of an element of a numerical array with a number equal to the calculation result in step (b4) is increased by one;
  • step (B8) if it was determined in step (b6) that the first terminal device is at rest, the time elapsed after the first terminal device has stopped and the time during which the first terminal device has been in motion before it is stopped, and verify that the first, second and third predetermined conditions with respect to at least one of the following values: the time elapsed after the first terminal device stopped, the time during which the first terminal device was in the state of motion until it stops, and the result of the calculation in step (b5);
  • step (B9) if the first predefined condition is satisfied, the value of the variable is taken equal to the result of the calculation in step (b5), and the value of the largest element of the number array is increased by one;
  • step (L0) if the second predetermined condition is satisfied, the value of the element of the numerical array with a number equal to the result of the calculation in step (L4) is increased by one;
  • step (bl 1) if the third predefined condition is satisfied, the value of the variable is taken equal to the result of the calculation in step (b5), the value of the largest element of the number array is increased by one, and the values of the time elapsed after stopping the first terminal device, and the time during which the first terminal device was in a state of motion before it stopped, zero;
  • (B12) specify the values of at least one of the pitch, roll and yaw angles based on the number of the largest element of the number array and the value of the variable;
  • step (b4) it is possible to calculate the difference between the value of at least one of the pitch, roll and yaw angles calculated on the basis of the readings of the magnetometer and the accelerometer and the value of the same angle calculated on the basis of the readings of the gyroscope, and / or calculate the difference between the value of at least one of the pitch, roll and yaw angles calculated based on the readings of the magnetometer, and the value of the same angle calculated based on the readings of the gyroscope and accelerometer.
  • Clarifying the value of at least one of the pitch, roll, and yaw angles may further comprise the following steps:
  • step (c3) specify the value of at least one of the pitch, roll and yaw angles based on the direction of motion calculated in step (c2).
  • (dl) have two terminal devices, between which it is necessary to transmit data, in the same plane close to each other, so that they are directed at each other;
  • (e2) include a calibration mode in the first terminal device
  • step (e5) specify the values of at least one of the pitch, roll and yaw angles of the first terminal device based on the errors calculated in step (e4).
  • the determination of the second terminal device in step (a8) can be performed manually by the user of the first terminal device, if the method does not automatically detect the second terminal device with the required reliability.
  • Manual determination of the second terminal device can be performed based on the extended information about potential partner devices that is received from the server.
  • the result of manual determination can be entered into the database in the server, subjected to statistical processing, and the result of statistical processing can subsequently be used in step (a8) to increase the reliability of determining the second terminal device.
  • Another aspect of the present invention is a system for wirelessly transferring data between terminal devices, comprising a remote server, a transport network, and at least two terminal devices configured to implement the method described in any of the preceding paragraphs.
  • FIG. Figure 1 shows an example of the composition of a system (9) for wireless data transmission between terminal devices, taking into account the relative positions of these devices (hereinafter, systems (9)).
  • System (9) contains a remote server (1),
  • transport network (2) which may include any means of data transmission, including optical, wired, wireless and hybrid networks, and use any technology for wireless data transmission, including satellite, cellular,
  • mobile terminal devices (5) including computers, tablet devices, smartphones, cameras, video cameras, etc., capable of exchanging multimedia data, including text, images ( fixed and moving), sound and data in special formats, and a wireless communication channel (6) between mobile terminal devices (5) or between mobile terminal devices (5) and
  • Server (1) can be a single server, a group of servers (for example, with functional separation — a geolocation data server, user data server, application server, etc.) or a distributed network of servers.
  • FIG. Figure 2 shows an example of a process for waiting and generating a request to connect or disconnect a mobile device in accordance with the method of wireless data transfer between terminal devices, taking into account the mutual arrangement of devices (hereinafter - the method).
  • the device (5) is connected to the server (1) via the transport network (2), registration
  • mobile device (5) on the server (1) receiving mobile device (5) stable geolocation data in order to determine its geographic location and transmitting geolocation data from mobile device (5) to server (1).
  • step (11) the server (1) based on the geolocation data received from the mobile device (5) determines whether the mobile device (5) belongs to
  • Step (11) is described in more detail below with reference to FIG. 3.
  • step (12) the mobile device (5) stores information about potential partner devices in order to quickly obtain from the server (1) extended information about potential partner devices if necessary.
  • step (13) the mobile device (5) reads the readings of its orientation sensors and generates orientation data of the mobile device (5).
  • Step (13) is described in more detail below with reference to FIG. 9.
  • step (14) the mobile device (5) checks if there is a connection with any partner device. If the mobile device (5) is not connected to any partner device, then in step (15), the mobile device (5) checks whether it is in a moving state or at rest. Such verification is based on the readings of the orientation sensors of the mobile device (5), for example, at a frequency of 10 times per second. If the mobile device (5) is in a state of movement, then in step (19), the mobile device (5) checks whether its previous state was movement or rest. The previous state can be determined by comparing the last two sets of readings of the orientation sensors of the mobile device (5) or it can be determined in a more complex way, for example, using three, four, five, etc.
  • the required number of sets of readings of orientation sensors is stored in the mobile device (5). If the previous state of the mobile device (5) was motion, the transition to step (27) is performed. If the previous state of the mobile device (5) was rest, then the mobile device (5) thus detects a transition from the rest state to the motion state and, in step (21), transmits orientation data to the server (1).
  • step (21) The transfer of the orientation data of the mobile device (5) to the server (1) upon detecting a transition from the rest state to the motion state allows avoiding unnecessary server (1) loading by a continuous stream of redundant data.
  • step (27) the transition to step (27) is performed. If it is determined in step (15) that the mobile device (5) is at rest, then in step (17) the mobile device (5) polls the server (1) and receives an updated from it W
  • the mobile device (5) checks for a connection request in the received information. If a connection request is received, then in step (24), the mobile device (5) establishes a connection with the corresponding partner device for the subsequent transmission of user data.
  • a connection can be made by any known method ⁇ supported by both devices establishing a connection, in particular, it can be direct (for example, via the WiFi or Bluetooth interface) or through the server (1) via any data transmission channel (for example, via the WiFi interface or system mobile communications). Alternative methods are also possible.
  • wireless local communication for example, through a microcellular network or a femtocell network.
  • the mobile device (5) in step (26) After establishing a connection with a partner device in step (24), the mobile device (5) in step (26) performs reception and / or transmission of user data, for example, reception and / or transmission of images.
  • step (22) If it turns out at step (22) that the connection request has not been received, then at step (23), the mobile device (5) checks whether its previous state was motion or rest. Such a check is generally similar to the check in step (19), and if the previous state of the mobile device (5) was at rest, the transition to step (27) is performed. If the previous state of the mobile device (5) was motion, then the mobile device (5) thus detects a transition from the motion state to the idle state and at the step (25) transmits orientation data to the server (1). After performing step (25), the transition to step (27) is performed.
  • step (14) the mobile device (5) determines that it is connected to the partner device
  • step (16) the mobile device (5) polls the server (1) and receives updated information from it regarding the situation in the geographical area, including disconnect requests from partner devices that are connected to.
  • step (18) the mobile device (5) checks for the disconnection request in the received information. If a disconnect request is received, then in step (20), the mobile device (5) disconnects from the corresponding partner device. After performing step (20), the transition to step (27) is performed. W 201
  • step (27) the mobile device (5) transmits the geolocation data to the server (1). After performing step (27), it returns to step (11).
  • the embodiment described above involves the establishment of communication and data exchange with only one partner device, however, in another embodiment of the invention, the method allows communication and data exchange with several partner devices at the same time if there are sufficient resources of the mobile device (5 ), for example, the performance of its processor, communication channel (3), for example, its bandwidth, and server (1), for example, taking into account its current load.
  • the mobile device for example, the performance of its processor, communication channel (3), for example, its bandwidth, and server (1), for example, taking into account its current load.
  • the partner device of the mobile device (5) for exchanging data with it is selected at rest. This avoids unnecessarily loading the server (1), however, this is not the only variant of the method and in another embodiment of the invention, the selection of the partner device and the exchange of data with it can be performed in a moving state, for example, when the mobile device (5) and the partner device in a moving vehicle or users of these devices are walking nearby.
  • the mobile device (5) may not interrogate all orientation sensors and / or use weighting factors, including dynamic ones, to decide on the need to transmit the orientation data of the mobile device (5) to the server (1).
  • FIG. Figure 3 shows an example of a process for a server analyzing geolocation data and orientation data of a mobile device in accordance with the method of wireless data transmission between terminal devices, taking into account the relative positions of these devices.
  • step (1101) the server (1) based on the geolocation data received from the mobile device (5) determines the geographical area of the mobile device (5).
  • step (1102) the server (1) selects potential partner devices for the mobile device (5).
  • potential partner devices the priority of the geographical area can be taken into account, for example, based on geolocation data, the server calculates the distance between the mobile device (5) and other
  • a phased search of potential partner devices can reduce the computational load on the server (1), since if one or several potential partner devices are detected in a higher priority subzone, searches in lower priority subzones may not be performed.
  • step (1103) the server (1) transmits information about potential partner devices, which may be
  • the server (1) transmits information about the mobile device (5) to potential partner devices and caches extended information about the mobile device (5).
  • Copying extended information about devices can reduce server response time when requesting extended information about potential partner devices from a mobile device (5) and when generating a connection request.
  • the server (1) receives from the mobile device (5) updated geolocation data transmitted in step (27) and orientation data, for example, when a previously moving mobile device (5) stops, transmitted in step (25).
  • Geolocation data and orientation data may include the results of processing in a mobile device (5) data received from a receiver of a satellite positioning system, data from a receiver of signals from stationary beacons, beacons, etc., data from a receiver of a cellular communication system, data from a receiver local wireless network, magnetometer (compass), accelerometer (acceleration sensor), barometer (atmospheric pressure), gyroscope, etc.
  • the mobile device (5) transmits to the server (1) its geolocation data with a predetermined period, for example, once every few seconds or once every several minutes if it is connected to the server (1). This allows the server (1) to track the movement of the mobile device (5) and to timely update information about potential partner devices. Moreover, orientation data updated in the mobile device (5) is much more frequent, for example, ten times per second, is transmitted to the server (1) only when the movement starts and when the mobile device (5) stops moving or in other cases when the system (9) predicts the desire of the user of the mobile device (5) to begin data exchange. This avoids loading the server (1) by processing excessive data flow. W
  • step (1105) the server (1) checks for the presence of orientation data in the data received from the mobile device (5). If orientation data is detected, proceeds to step (1106). If no orientation data is detected, return to step (1101) is performed.
  • step (1106) the server (1) processes the geolocation data and the orientation data of the mobile device (5).
  • step (1106) is described with reference to FIG. four.
  • step (1107) the server (1) verifies that the conditions for connecting the mobile device (5) to the partner device are satisfied. If the join condition is satisfied, go to step (1108). If the connection condition is not fulfilled, return to step (1101).
  • the server (1) generates and transmits to both devices a request to connect the mobile device (5) with the partner device.
  • step (1109) the server (1) receives user data from the mobile device (5) and / or from the partner device and transmits user data to the mobile device (5) and / or the partner device.
  • Step (1109) is
  • the exchange of user data can be carried out directly between the mobile device (5) and the partner device, for example, on the basis of a peer-to-peer network, or through a server (1), for example, on the principles of a client-server architecture.
  • User data exchange may be carried out directly between the mobile device (5) and the partner device, for example, on the basis of a peer-to-peer network, or through a server (1), for example, on the principles of a client-server architecture.
  • a low-resolution image can be transmitted via a direct connection using any known wireless interface, for example, WiFi or Bluetooth, which can take a matter of seconds or fractions of a second, and A high resolution image can be transmitted through the server (1) in the background, which can take several hours.
  • a high-resolution image can be stored on the server (1) and remain available for subsequent download for a predetermined time.
  • Steps (1110) - (1112) are essentially similar to steps (1104) - (1106) and their description is omitted.
  • step (1113) the server (1) verifies that the condition for disconnecting the mobile device (5) from the partner device is satisfied. If the disconnect condition is satisfied, go to step (1108). If the connection condition is not fulfilled, return to step (1101).
  • the server (1) generates and transmits to both devices a request to disconnect the mobile device (5) from the partner device.
  • step (1115) the server (1) receives user data from the mobile device (5) and / or from the partner device and transmits user data to the mobile device (5) and / or the partner device. Step (1115) is
  • the exchange of user data through the server (1) can continue even after the mobile device (5) is disconnected from the partner device.
  • the mobile device (5) receives a low-resolution image directly from the partner device and authorizes the receipt of a high-resolution image through the server (1)
  • the mobile device (5) can disconnect the direct connection with the partner device, while the high-resolution image is received permissions through the server (1) will continue until its completion.
  • step (1115) After performing step (1115), it returns to step (1101).
  • FIG. Figure 4 shows an example of a process for the server (1) to process geolocation data and orientation data of a mobile device (5) to further verify that the connection condition or disconnect condition with the partner device is fulfilled.
  • step (11060) the server (1) calculates the distance between the mobile device (5) and potential partner devices based on geolocation data and ranks the list of potential partner devices based on the calculated distance.
  • server (1) generates a list of pairs of devices, one of which is a mobile device (5), and the second is a potential partner device directed at each other, for this server (1) requests
  • potential partner device geolocation data and orientation data and enumeration of potential partner devices is performed according to the ranked list formed in step (11060).
  • Each transmission to the server (1) of geolocation data and orientation data is accompanied by a time stamp corresponding to the time of formation of this data.
  • the orientation of the devices toward each other is determined by the orientation data in the local coordinate system associated with each mobile device.
  • these orientations include pitch angle, roll angle, and yaw angle.
  • the orientation data comprises an updated yaw angle calculated by each mobile device, as described in detail with reference to FIG. 9.
  • the server (1) checks the number of such pairs of devices. If no such device pairs are found, it returns to step (11060); if one such pair of devices is detected, proceeds to step (11064), if several such pair of devices is detected, proceeds to step (11063).
  • the server (1) further analyzes the probability of selecting a partner device for each such pair of devices to determine the most likely partner device.
  • the server (1) checks for the presence of the most likely partner device. If the server (1) is not able to identify the most likely partner device, the user of the mobile device (5) at step (11065) is invited to manually select the partner device from several devices in accordance with the list,
  • step (11066) the server (1) sets the flag for the presence of the most likely partner device, which is then checked as a connection condition in step (1107).
  • a geographic area is an area on or near the surface of the Earth of a particular shape and size.
  • the geographical area of the mobile device (5) can be determined based on geolocation data obtained using a satellite positioning system, for example, global satellite positioning systems NAVSTAR, GLONASS,
  • a terrestrial positioning system for example, LAAS, NDGPS
  • a cellular communication system for example, using COO (Cell Of Origin) method, E-OTD (Enhanced Observed Time) method Difference), TOA (Time of Arrival) or by the AOA (Angle of Arrival) method
  • COO Cell Of Origin
  • E-OTD Enhanced Observed Time
  • TOA Time of Arrival
  • AOA Angle of Arrival
  • a local wireless network for example, WiFi or Bluetooth.
  • Methods for obtaining geolocation data using commercial positioning systems are well known in the art and are omitted.
  • Obtaining geolocation data using a local wireless network, such as WiFi or Bluetooth is based on the short range of these interfaces, when the known location of a WiFi access point or Bluetooth device is taken as an approximate
  • the location of the mobile device (5) located in the coverage area of such an interface For example, the presence of two mobile devices in a WiFi network on board a ship, sea vessel or other object with limited and previously known geometric dimensions may indicate that these two devices belong to the same geographic area or high priority subzone. In this case, the user may be given the opportunity to indicate that he is on board an aircraft, sea or river vessel or other object with
  • the shape of the geographical area depends on the method for determining the geographical area and can be round, elliptical, polygonal, etc.
  • the geographic area can be essentially flat (for example, a projection onto the surface of the Earth) or three-dimensional (for example, have a vertical size attribute).
  • the size of the geographical area also depends on the method for determining the geographical area and can range from several meters to several tens of meters, and in some cases several kilometers.
  • a geographic area may be single or multiple.
  • FIG. 5 shows an example of a planar plural
  • the subzone (101), in which the mobile device (5) is located, has the highest priority
  • the subzone (102) adjacent to the subzone (101) has an average priority
  • the far subzone (103) has the lowest priority.
  • the choice of the type of geographical area can be carried out manually by the user, or automatically, for example, taking into account the terrain, or semi-automatically with manual confirmation. So, for flat terrain, the default location may W
  • a flat geographical area is selected, and for highlands or for areas with high-rise urban areas, a non-flat one can be selected by default
  • the geolocation data of mobile devices may contain a height value above sea level.
  • the choice of the type of geographical area can be carried out taking into account user profile data, for example, taking into account the declared hobbies or the current status of the user. So, for a user who is fond of mountaineering or parachuting, during his holidays or weekends, by default, a non-planar geographic area with a thickness attribute can be selected, and the geolocation data of mobile devices may contain a height value above sea level.
  • the local coordinate system X, ⁇ , Z is connected with the mobile device (5) so that the center of coordinates coincides with the center of mass of the mobile device (5), the Z axis is normal to the working surface of the mobile device (5), the X axis coincides with the longitudinal the axis of the mobile device (5), and the Y axis coincides with the transverse axis of the mobile device (5).
  • the Z axis is directed downward from the user
  • the X axis is directed forward from the user
  • the Y axis is directed to the right of the user (FIG. 6).
  • Mobile device (5) has six degrees of freedom: it can move along and
  • the center of the local coordinate system of the mobile device (5) (point A in Fig. 7) is determined on the basis of geolocation data — geographic latitude, geographic longitude, and altitude — representing the coordinates in
  • x a , y a , z a are the coordinates of the center of mass of the mobile device (5)
  • R is the conditional radius of the Earth
  • h is the height above sea level
  • is the geographical latitude
  • is the geographical longitude.
  • the orientation of the devices at each other in each pair is estimated by the angles of roll, pitch and yaw, as well as by the coordinates x a , y a , z a and xb, yb, gb. If the devices in the pair are directed strictly at each other and the plane their workers
  • a, yb are the roll angles
  • ⁇ ⁇ , bb are pitch angles and ⁇ ⁇ , - yaw angles, which refers to three degrees of freedom - the rotation of devices located at points A and B, respectively, around each of the coordinate axes X a , Y a , Z a , and Xb, Y b , Z b ,
  • the orthogonal coordinate system X a , Y a , Z a with the origin at point A is converted to spherical and, using
  • the orthogonality of the coordinate system X a , Y a , Z a and the values of the angles y a , ⁇ ⁇ , ⁇ ⁇ , the angles a a , ⁇ ⁇ are calculated for the vector AX a (Fig. 7B). Then, based on the coordinates x a , y a , ⁇ ⁇ of point A and the coordinates x, y, z, Zb of point B, the angles a a ', D are calculated for the vector AB:
  • the above-mentioned second directivity condition makes sense to check with sufficiently accurate determination of the coordinates x a , y a , z a of point A and coordinates xb, yb, point B, for example, with accuracy commensurate with the geometric dimensions of mobile devices. If it is impossible to accurately determine the coordinates, we can restrict our to checking only the first directivity condition. Practice shows that even when checking only the first directivity condition (i.e., based on only the orientation data for a , ⁇ ⁇ , ⁇ ⁇ ,) in many cases it is possible to obtain an acceptable reliability of the automatic determination of the desired partner device.
  • the criteria used to evaluate the directivity may vary depending on the model used to determine the most likely partner device. For example, in the case of a flat geographical area, where
  • the degree of directionality of the devices in the pair i.e., the deviation of the X axis of the mobile device (5) from the straight line passing through points A, B of the coordinate centers of the devices in the pair
  • the yaw angle i.e., the largest permissible angle of heel
  • the permissible pitch angle can be, for example, in the range from + 30 ° to -20 °:
  • a pair of mobile devices may be in a plane different from essentially horizontal, and for to determine the degree of directivity of the devices in a pair, a more complex method can be used, which includes calculating the mutual orientation function of the two devices, while each of the pitch, roll and yaw angles can be assigned a weight coefficient.
  • the yaw angle weight factor may be
  • the roll angle weight coefficient may be 0.3, and the pitch angle weight coefficient may be 0.2:
  • F (y, e, y) is a function of relative orientation
  • criterion for evaluating the directivity can have the following form:
  • is the threshold value of the relative orientation function.
  • the weight coefficients of the yaw angle, roll angle and pitch angle can be dynamic, i.e. have variable values depending on other factors.
  • the relative orientation function may have variable weights, depending on the distance in a straight line between the devices in a pair:
  • weight coefficient of each angle may depend on the values of two other angles:
  • each angle may depend on the velocity vector (i.e., on the magnitude of the speed and direction of movement) of each of the devices in a pair, and the direction of movement of the device in the general case may not coincide with its orientation:
  • F (y, e l V r) f r ⁇ 6 a ) f Y (v b ) F (Y) + / c ) + spares, where f r (o a ) is the weight coefficient, which is a function of the velocity vector mobile device (5), af r ( b ) is the weight coefficient, which is a function of the speed vector of another device in a pair.
  • the device that has the lowest value of the mutual orientation function can be automatically selected if the difference in the values of this function for this potential partner device and the closest competitor exceeds a predetermined value: where ⁇ , ⁇ , ⁇ , ⁇ ) and ⁇ ⁇ , ⁇ , ⁇ ) are the values of the mutual orientation function of two potential partner devices with the smallest values of this function with respect to the mobile device (5), AF is a predetermined value.
  • AF can be a variable and depend on specific potential partner devices:
  • the system (9) cannot automatically determine the partner device with a given reliability, for example, if a large number of potential partner devices with close coordinates, speeds, direction of movement, etc. are concentrated in the nearby geographical area, which can be observed , for example, in a dense traffic stream or in public transport, then
  • the user is asked to manually select a device for communication from among the most likely partner devices.
  • the result of manual selection can be entered by the system (9) into the database, and subsequently the statistical data obtained during the analysis of such a database can be used in an adaptive way of selecting a partner device under uncertainty.
  • FIG. Figure 8 shows an example of a partial structural diagram of a mobile device (5) containing a satellite positioning system receiver, a cellular communication system receiver, a local wireless network receiver, a beacon signal receiver, a magnetometer, an accelerometer, a barometer and a gyroscope, as well as a touch surface with an appropriate controller to determine direction of the control gesture.
  • the signals of orientation sensors are read and processed by the device for processing the signals of orientation sensors, the output signals of which are the angles of roll, pitch and yaw, which are fed to the device for generating orientation data.
  • the output signals of the orientation data generation device are the adjusted roll, pitch, and yaw angles, as well as data for calibrating the orientation sensors, which are supplied to the server communication device (1) for transmission to the server (1) in steps (21), (25) and (27).
  • Signals of geolocation sensors barometer, satellite positioning system receiver, cellular communication system receiver, local receiver
  • a wireless network a beacon receiver
  • a signal processing device for geolocation sensors the output signals of which are geographical latitude and geographical longitude, speed and direction of movement, time stamp and altitude.
  • the output signals of the device for generating geolocation data are the specified geographical latitude and geographical longitude, speed and direction of movement, time stamp and the specified height above sea level, which are formed as a result of comparison and refinement of the input signals, and are sent to the communication device with the server (1) for transfers to the server (1) in steps (21), (25) and (27).
  • the refinement of geolocation data is performed by analyzing and comparing geolocation data received from different sources.
  • geolocation data from more than one source of such data is available in a mobile device (5), for example, from a receiver of a satellite positioning system and from a receiver of a ground-based positioning system
  • mobile device (5) can compare these geolocation data and choose from them most reliable.
  • the reliability assessment can be performed both on the basis of the geolocation data themselves, for example, on the basis of the number of satellites located in the radio visibility zone of the mobile device (5), the visibility angles of these satellites, the nominal accuracy of determining the angular geographical coordinates, etc., and on the basis of data other systems, for example, based on statistics on the quantity and / or percentage
  • geolocation data instead of selecting the most reliable geolocation data from several sets of these data, it is possible to refine the geolocation data by averaging geolocation data received from different sources. Data averaging can be performed using weighting factors, which can be static or dynamic and can be determined as based on the geolocation data themselves, for example, based on the number of satellites in the zone
  • the radio visibility of the mobile device (5) the visibility angles of these satellites, the nominal accuracy of determining the angular geographical coordinates, etc., and based on data from other systems, for example, based on statistics on the number of and or the percentage of successful cases of connecting devices in pairs made on the basis of geolocation data from a specific source.
  • the geolocation data by amending, based on data received from one source, data from another source.
  • the altitude value obtained from a receiver of a satellite positioning system or from a receiver of a ground-based system
  • the barometer can be specified according to the barometer. If the height above sea level cannot be determined from the data received from the receiver of one or another positioning system and only the readings of the barometer of terminal devices are available, then based on the readings of the barometer it is possible to determine the difference in height above sea level of each pair of terminal devices, which can be directly used in determining accessories of terminal devices to a geographical area and / or when calculating the distance between terminal devices.
  • FIG. Figure 9 shows an example of a process diagram for interrogating orientation sensors and calculating the specified yaw angle of a mobile device (5) in the case of a flat geographical area when a pair of mobile devices is in a substantially horizontal plane.
  • the mobile device (5) initializes the numerical array MX of dimension 360 and the variable p, while the values of the elements of the array MX and the variable p are set to 0.
  • the values of the variable p are also used below to calculate the specified yaw angle.
  • the mobile device (5) reads the readings of the magnetometer, accelerometer and gyroscope:
  • step (1302) the mobile device (5) calculates the yaw angle based on the readings of the accelerometer and magnetometer:
  • xh magX cos (pitch) + magZ sin (pitch);
  • step (1303) the mobile device (5) calculates the difference between the value of the yaw angle obtained on the basis of the readings of the magnetometer and the accelerometer and the value of the yaw angle obtained on the basis of the gyro readings:
  • step (1304) the mobile device (5) calculates the difference between the currentR value and the mxi number of the largest element in the MX array:
  • step (1305) the mobile device (5) determines its state. Determination of the state of the mobile device (5) - rest or movement - is based on the readings of the accelerometer assX, accY, accZ and the readings of the gyroscope rotationRateX, rotationRateY, rotationRateZ. Methods for such a determination are well known in the art and are omitted.
  • step (1306) the mobile device (5) corrects the values of the elements of the MX array and the variable p depending on the result of determining the state of the mobile device (5) in step (1305).
  • the element with the number currentR in the array increases by one:
  • step (1305) If it is determined in step (1305) that the mobile device (5) is moving, then in step (1306), the calculated yaw angle difference is fixed in the MX array, i.e.
  • the calculated yaw angle difference can be filtered to provide the most reliable data in the array. For example, with sufficient speed of the magnetometer and sufficient computing resources of the mobile device (5), it is possible to filter the values of the difference in yaw angles,
  • the readings of the magnetometer should exceed 100/120 Hz, and preferably should exceed 200/240 Hz.
  • the yaw angle difference is calculated based on data read from orientation sensors for a predetermined time. In the above embodiment, this time,
  • the time used to track possible adjustments to sensor readings by internal algorithms is 1 s. In other embodiments, this time may depend on the frequency of reading the magnetometer, accelerometer, and gyroscope, and
  • the conditions described above are the preferred option for one type of mobile device (5) and may differ depending on the implementation of the functions of the magnetometer,
  • accelerometer and gyroscope in a specific mobile device (5) can be automatically assigned when installed on a mobile device (5)
  • step (1307) the mobile device (5) calculates the updated yaw angle based on the current yaw angle determined based on the gyro readings, and W 201
  • FusionYaw mod [(-currentYaw + mxi + p), 360] if mod [(-currentYaw + mxi + p), 360]> 0;
  • FusionYaw mod [(-currentYaw + mxi + p), 360] + 360,
  • magnetometer the least reliable, since the magnetometer is exposed to external magnetic fields induced by permanent magnets and electric current, and distortions of the Earth’s magnetic field caused by the proximity of ferromagnetic or diamagnetic materials, however, the statistical processing of data from orientation sensors using this angle improves accuracy determining the actual yaw angle of the mobile device (5).
  • the difference between the direction to the geographic north and magnetic north can be taken into account, which is determined on the basis of geolocation data using predefined correction tables, if such correction is not applied in the built-in algorithms implemented by the manufacturer of the mobile device (5).
  • the dimension of the numerical array MX is taken to be 360, which provides a resolution of 1 °. In other cases, the dimension of the numerical array MX may be less than 360 or greater than 360. For example, the dimension of the numerical array MX, equal to 180, provides the resolution
  • the dimension of the numerical array Y is taken equal to 1, which ensures the refinement of one parameter - the yaw angle.
  • the dimension of the numerical array MX may be different.
  • the numerical array Y can be three-dimensional. Accordingly, the number of variables used to calculate the three specified parameters will also be three.
  • the proposed method for specifying the yaw angle based on the use of analytical and statistical data allows to obtain an acceptable reliability of the result with sufficient speed.
  • the calculation the specified yaw angle takes a time of the order of one second, which is commensurate with the time of the motor reaction of the user when positioning the mobile device (5) to establish communication with a potential partner device.
  • the statistical approach for correcting orientation data can also be used to calculate the adjusted roll or pitch angle in those positions of the mobile device (5), when the roll or pitch angle obtained on the basis of the gyroscope and accelerometer readings can be refined based on the readings of the magnetometer and accelerometer essentially similar to the described method of refining the yaw angle.
  • these orientations may include updated roll, pitch, and yaw angles, as shown in FIG. 8.
  • the sliding movement of the user's finger on the surface of the touch screen is used to determine the direction to the potential partner device, which is transmitted to the server (1) and used by the server (1) to select the device partner along with the orientation data described above. This allows you to choose a partner device, even in cases where you can accurately orient the mobile device (5) to
  • a potential partner device is not possible and / or when several potential partner devices having similar values of orientation data are located close to each other, for example, in a row in front of a mobile device (5).
  • the sliding movement (G) of the user's finger on the surface of the touch screen in the direction (P) to the potential partner device, as shown in FIG. 10 is detected by means of a touch screen
  • the direction (P) is calculated by the standard firmware of the mobile device (5) and then used to determine the angle ( ⁇ ⁇ ) between the direction (P) of the potential partner device and the direction ( ⁇ ) of the geographical or magnetic north, which characterizes the actual direction to the potential partner device in the horizontal plane, which is used to select the partner device directly or is compared with the yaw or nennym yaw angle ( ⁇ ) obtained by the method described above and the result of this comparison is used to select a partner device.
  • the angle ⁇ directly determined in the mobile device (5) can be used to correct orientation data.
  • the accuracy of determining the orientation data can be further improved by calibrating the orientation sensors (if this mode is supported by the firmware of the mobile device (5)) or by making corrections directly to the orientation data processed by the server (1). Corrections can be made by the mobile device (5) before sending the orientation data to the server (1) or transmitted to the server (1) and then made by the server (1).
  • the calibration mode mobile devices are placed in a predetermined position, for example, they are laid on a flat horizontal surface close to each other and towards each other, and both mobile devices are transferred by users to calibration mode. Enabling calibration mode indicates to the server (1) that
  • calibrated devices are oriented exactly to each other and the server (1) identifies errors in the orientation data and takes into account the identified errors in further calculations when choosing a partner device.
  • the calibration of orientation sensors can be carried out using the orientation of the mobile device (5) and / or a gesture indicating the direction to the object with known in advance exact
  • the claimed method is extremely easy to use from the point of view of the user.
  • the user of the mobile device (5) after registering with the server (1), if there is a connection with the server (1), receives a notification that the system (9) is ready for operation.
  • To exchange data with another mobile device registered on the server (1) and connected to the server (1) it is enough for him to point the mobile device (5) to another partner device and, after automatically establishing communication with him, give a command to transfer and / or receiving data.
  • the command to transmit and / or receive data in the mobile device (5) is preferably implemented by gesture control, for example, in a mobile device (5) equipped with a touch screen, such a command can be issued by a sliding movement of the user's finger on the surface of the touch screen, while moving a finger in the direction of another mobile device means a command to transmit data, and moving a finger in the direction from another mobile device means a command to receive data.
  • gesture control for example, in a mobile device (5) equipped with a touch screen, such a command can be issued by a sliding movement of the user's finger on the surface of the touch screen, while moving a finger in the direction of another mobile device means a command to transmit data, and moving a finger in the direction from another mobile device means a command to receive data.
  • the user of the mobile device (5) is invited to manually select the partner device from the list of available potential partner devices.
  • Manual selection by a user of a partner device can also be performed by gesture control, for example, by touching the image of the partner device on the touch screen of a mobile device (5).
  • gesture control for example, by touching the image of the partner device on the touch screen of a mobile device (5).
  • gesture commands can be successfully used to control system (9).
  • the partner device may be a mobile device similar to a mobile device (5), or
  • the claimed method is a simple and convenient way to exchange data between users of mobile devices, for example, the transmission and reception of photo images.
  • this method is a simple and convenient way to exchange data between a user of a mobile device and a user of a stationary device, as well as between a user of a mobile device and an automatic information system, for example, an on-demand advertising system, an automatic help system, an electronic guide, etc. ., in which, in order to obtain the information of interest, one should orient the mobile device in the direction indicated on the corresponding pointer and confirm its desire by teach the information.
  • Using the binding to a geographical area in the claimed method allows implementing some additional exchange modes, for example, a broadcast request for help, which a user of a mobile device can make (5), and which can be accepted by all potential partner devices located in this geographical area or in adjacent geographical areas, if their users are allowed to receive such requests.
  • This mode allows you to speed up assistance, for example, in the mountains, in the forest, on the water, etc.
  • a broadcast warning about the danger for example, about the danger of avalanches, about man-made disasters, about road accidents, about committed offenses, etc. can be implemented in a similar way.
  • the claimed method also allows you to implement other services, for example, notification of the appearance of a nearby mobile device of one or another a user of the system (9), for example, having the status of a “friend”, or about the availability of certain goods or services, for example, a gas station, bank or cafe.
  • other services for example, notification of the appearance of a nearby mobile device of one or another a user of the system (9), for example, having the status of a “friend”, or about the availability of certain goods or services, for example, a gas station, bank or cafe.
  • the main technical result of the present invention is the implementation of an easier to use method of wireless data transfer between terminal devices with more reliable (reliable) automatic
  • An additional technical result of the present invention is to increase the speed of the method by optimizing the information exchange of the terminal device with the server.
  • An additional technical result of the present invention is the implementation of additional types of services for users of mobile devices based on the proposed method of wireless data transmission.
  • the hardware may contain one or more of the following devices: a programmable computing device (processor), a programmable logic device, a specialized integrated circuit, a storage device, an interface chip, a graphic display, an acoustic emitter, a visual indicator, a vibration indicator, a keyboard, a touch surface, an optical sensor, a power source and other devices necessary and sufficient for implementing the method and akternye for mobile and stationary endpoint devices.

Abstract

A method for wireless transmission of data between terminal devices contains the following steps: establishing a connection between terminal devices and a server; determining geolocation data for the terminal devices and sending same to the server; determining orientation data for the terminal devices; determining potential partner-devices for each terminal device on the basis of the geolocation data; directing two terminal devices, between which data must be transferred, to one another; determining a first terminal device, which initiates the establishment of communication with a potential partner-device, on the basis of the terminal device orientation data; transmitting orientation data of the first terminal device to the server; determining a second terminal device, acting as the partner-device for the first terminal device, on the basis of the geolocation data and the orientation data of the first terminal device and of potential partner-devices; establishing a connection between the first terminal device and the second terminal device; transmitting data between the first terminal device and the second terminal device; breaking the connection between the first terminal device and the second terminal device. A system for the wireless transmission of data between terminal devices carries out the said method.

Description

СПОСОБ И СИСТЕМА ДЛЯ ПЕРЕДАЧИ ДАННЫХ МЕЖДУ  METHOD AND SYSTEM FOR DATA TRANSFER BETWEEN
УСТРОЙСТВАМИ С УЧЕТОМ ИХ ВЗАИМНОГО РАСПОЛОЖЕНИЯ  DEVICES ACCORDING TO THEIR MUTUAL LOCATION
Область техники, к которой относится изобретение FIELD OF THE INVENTION
Изобретение относится к области передачи данных, в частности, к способу беспроводной передачи данных между мобильными оконечными устройствами или между мобильным оконечным устройством и стационарным оконечным устройством с учетом взаимного расположения этих устройств.  The invention relates to the field of data transmission, in particular, to a method for wireless data transmission between mobile terminal devices or between a mobile terminal device and a stationary terminal device, taking into account the relative position of these devices.
Уровень техники State of the art
Для адресной передачи данных между пользователями мобильных устройств необходима идентификация и авторизация отправителя и получателя данных. Например, идентификация и авторизация устройств при соединении через интерфейс Bluetooth осуществляется посредством визуального контроля пользователем имени устройства и в ряде случаев требует введения пароля. С целью упрощения процедуры идентификации и авторизации предложены различные способы, основанные на физическом расположении или физическом взаимодействии мобильных устройств.  For targeted data transfer between users of mobile devices, identification and authorization of the sender and recipient of data is required. For example, the identification and authorization of devices when connecting via the Bluetooth interface is carried out by means of visual control by the user of the device name and in some cases requires a password. In order to simplify the identification and authorization procedure, various methods are proposed based on the physical location or physical interaction of mobile devices.
В патентной заявке WO2011119499 (Bump Technologies Inc.) описан способ идентификации и авторизации двух мобильных устройств с использованием показаний акселерометра при соударении мобильных устройств для дальнейшей передачи данных между этими устройствами. Дальность действия такого способа ограничена длиной вытянутой руки пользователя, кроме того, соударение мобильных устройств может быть не всегда приемлемым.  Patent Application WO2011119499 (Bump Technologies Inc.) describes a method for identifying and authorizing two mobile devices using accelerometer readings when impacting mobile devices for further data transfer between these devices. The range of this method is limited by the length of the user's extended arms, in addition, the impact of mobile devices may not always be acceptable.
В патентной заявке US2008195735 (Microsoft Corp.) описан способ  US2008195735 (Microsoft Corp.) describes a method.
идентификации и авторизации двух мобильных устройств при соударении мобильных устройств для дальнейшей передачи данных между этими устройствами. Дальность действия такого способа ограничена длиной вытянутой руки пользователя, кроме того, соударение мобильных устройств может быть не всегда приемлемым. identification and authorization of two mobile devices in the collision of mobile devices for further data transfer between these devices. The range of this method is limited by the length of the user's extended arms, in addition, the impact of mobile devices may not always be acceptable.
В патентной заявке US2011163944 (Apple Inc.) описан способ установления связи с использованием определения взаимного расположения двух или большего количества устройств, в котором первое устройство получает от других устройств векторные координаты других устройств в инерциальной системе координат ECEF (Earth Centered Earth Fixed), общей для всех этих устройств. Далее на основе полученных векторов первое устройство вычисляет вектор линии визирования для каждого из остальных устройств и сравнивает его с вектором жеста пользователя на сенсорном экране первого устройства, определяя, на какое из остальных устройств наиболее вероятно направлен жест пользователя. При этом в указанной заявке не раскрыт способ определения векторных координат устройств в инерциальной системе координат ECEF, поэтому надежность правильности определения устройства-партнера остается неясной. US2011163944 (Apple Inc.) describes a method for establishing communication using determining the relative position of two or more devices, in which the first device receives from other devices the vector coordinates of other devices in the inertial coordinate system ECEF (Earth Centered Earth Fixed) common to all of these devices. Further, based on the obtained vectors the first device calculates the line of sight vector for each of the other devices and compares it with the user’s gesture vector on the touch screen of the first device, determining which of the other devices the user’s gesture is most likely aimed at. At the same time, the specified application does not disclose a method for determining the vector coordinates of devices in the inertial coordinate system ECEF, therefore, the reliability of the correct determination of the partner device remains unclear.
В патентной заявке US2011004329 (Microsoft Corp.) описан способ уточнения показаний магнетометра, в котором магнетометр и акселерометр предварительно калибруются, затем показания магнетометра уточняются на основе вычисления углов тангажа, крена и рысканья по показаниям акселерометра, затем угол рысканья  US2011004329 (Microsoft Corp.) describes a method for refining magnetometer readings, in which the magnetometer and accelerometer are pre-calibrated, then the magnetometer readings are refined based on the calculation of pitch, roll and yaw according to the accelerometer, then the yaw angle
уточняется по показаниям магнетометра. При этом предложенный способ имеет целый ряд ограничений, в частности неэффективен в присутствии полей, искажающих естественное магнитное поле Земли. specified by the readings of the magnetometer. Moreover, the proposed method has a number of limitations, in particular, it is ineffective in the presence of fields that distort the Earth's natural magnetic field.
В патентной заявке US20080299912 (Sony Corp.) описан способ определения коллинеарности двух беспроводных устройств с использованием показаний  US20080299912 (Sony Corp.) describes a method for determining collinearity of two wireless devices using readings
магнетометра для дальнейшей передачи данных между этими устройствами. При этом предложенный способ имеет целый ряд ограничений, в частности, он неэффективен в присутствии полей, искажающих естественное магнитное поле Земли, кроме того, он обеспечивает установление коллинеарности двух беспроводных устройств, magnetometer for further data transfer between these devices. Moreover, the proposed method has a number of limitations, in particular, it is ineffective in the presence of fields that distort the natural magnetic field of the Earth, in addition, it provides the establishment of collinearity of two wireless devices,
расположенных в одной плоскости, что уже само по себе не обеспечивает надежной автоматической идентификации и авторизации адресата передачи в других случаях и требует применения дополнительных средств идентификации и авторизации. located in one plane, which in itself does not provide reliable automatic identification and authorization of the transfer destination in other cases and requires the use of additional means of identification and authorization.
В патентной заявке US20110092155 (Apple Inc.) описан способ установления связи между двумя мобильными устройствами, в котором для идентификации и авторизации устройств применяется измерение магнетометром динамической магнитной сигнатуры устройства, формируемой особым генератором и излучаемой с помощью магнитной системы громкоговорителя. При этом предложенный способ требует наличия в устройствах особого генератора, что ограничивает его применение, в частности, затрудняет или делает невозможным его применение в существующих мобильных устройствах, не оснащенных таким генератором.  Patent application US20110092155 (Apple Inc.) describes a method for establishing communication between two mobile devices, in which, for identification and authorization of devices, the magnetometer measures the dynamic magnetic signature of the device, which is generated by a special generator and emitted using a magnetic loudspeaker system. Moreover, the proposed method requires a special generator in the devices, which limits its application, in particular, makes it difficult or impossible to use it in existing mobile devices that are not equipped with such a generator.
В патентной заявке ЕР2521342 (Research In Motion Ltd.) описан способ  Patent Application EP2521342 (Research In Motion Ltd.) describes a method
установления связи между двумя мобильными устройствами, в котором для establishing a connection between two mobile devices, in which for
идентификации и авторизации устройств применяется измерение магнетометром магнитного поля устройства, генерируемого электромагнитом. При этом предложенный способ требует наличия в устройствах особого электромагнита, что ограничивает его применение, в частности, затрудняет или делает невозможным его применение в существующих мобильных устройствах, не оснащенных таким электромагнитом. identification and authorization of devices, the magnetometer measures the magnetic field of a device generated by an electromagnet. Moreover, the proposed the method requires a special electromagnet in the devices, which limits its use, in particular, makes it difficult or impossible to use it in existing mobile devices not equipped with such an electromagnet.
В патентной заявке US2012220221 (Research In Motion Ltd.) описан способ установления связи между двумя мобильными устройствами с применением NFC (Near Field Communication), в котором связь устанавливается между устройствами,  In patent application US2012220221 (Research In Motion Ltd.) describes a method of establishing communication between two mobile devices using NFC (Near Field Communication), in which communication is established between devices,
находящимися в пределах дальности действия NFC, и зависит от ориентации устройств, которая определяется контроллером NFC и, опционально, акселерометра, оптического датчика, гироскопа или магнетометра. Дальность действия такого способа ограничена дальностью действия NFC, при этом в указанной заявке не раскрыт способ определения ориентации устройств с использованием акселерометра, оптического датчика, гироскопа или магнетометра, поэтому надежность правильности определения устройства-партнера остается неясной. within the range of NFC, and depends on the orientation of the devices, which is determined by the NFC controller and, optionally, an accelerometer, optical sensor, gyroscope or magnetometer. The range of this method is limited by the range of the NFC, while the application does not disclose a method for determining the orientation of devices using an accelerometer, optical sensor, gyroscope or magnetometer, so the reliability of the correct determination of the partner device remains unclear.
В патентной заявке WO2011041434 (Qualcomm Inc.) описан способ установления связи между двумя мобильными устройствами на основе вычисления возможной баллистической траектории при бросающем жесте, выполняемом с одним мобильным устройством, и сравнения этой траектории с местоположением другого мобильного устройства, которое определяется известными способами. При этом предложенный способ требует определенного пространства для вьшолнения бросающего жеста и может быть неудобным и/или небезопасным при некоторых обстоятельствах.  Patent Application WO2011041434 (Qualcomm Inc.) describes a method for establishing communication between two mobile devices based on calculating a possible ballistic trajectory with a throwing gesture performed with one mobile device and comparing this trajectory with the location of another mobile device, which is determined by known methods. Moreover, the proposed method requires a certain space for the execution of the throwing gesture and may be inconvenient and / or unsafe in some circumstances.
В патентной заявке US2010278345 (Apple Inc.) описан способ установления связи между двумя мобильными устройствами, в котором для идентификации устройств в паре применяется соединение по инфракрасному, ультразвуковому или радиочастотному интерфейсу ограниченной дальности действия (не более 10 см), а для авторизации устройств применяется обмен верификационной информацией (пароли и т.п.). При этом предложенный способ требует участия пользователя для авторизации, т.е. не является автоматическим.  Patent application US2010278345 (Apple Inc.) describes a method for establishing a connection between two mobile devices, in which a pair using an infrared, ultrasonic or radio frequency interface of a limited range (not more than 10 cm) is used to identify devices in pair, and an exchange is used to authorize devices verification information (passwords, etc.). Moreover, the proposed method requires user participation for authorization, i.e. not automatic.
В патентной заявке US2010156812 (Verizon Data Services LLC) описан способ установления связи между двумя мобильными устройствами на основе вычисления направления жеста на сенсорном экране и сравнения этого направления с  US2010156812 (Verizon Data Services LLC) describes a method for establishing communication between two mobile devices based on calculating a gesture direction on a touch screen and comparing this direction with
местоположением другого мобильного устройства, которое определяется известными способами. При этом в указанной заявке не раскрыт способ определения направления жеста и сравнения этого направления с местоположением другого мобильного устройства, поэтому надежность правильности определения устройства-партнера остается неясной. the location of another mobile device, which is determined by known methods. However, in this application is not disclosed a method of determining the direction of the gesture and comparing this direction with the location of another mobile devices, therefore, the reliability of the correct determination of the partner device remains unclear.
Таким образом, на современном уровне развития техники связи существует потребность в реализации лишенного указанных выше недостатков, простого в использовании, быстрого и надежного способа автоматического установления связи между устройствами, по меньшей мере, одно из которых является мобильным, для дальнейшей передачи данных между этими устройствами, в частности, способа идентификации и авторизации отправителя и получателя данных.  Thus, at the current level of development of communication technology, there is a need to implement a devoid of the above disadvantages, easy to use, fast and reliable way to automatically establish communication between devices, at least one of which is mobile, for further data transfer between these devices, in particular, a method for identifying and authorizing the sender and receiver of data.
Целью настоящего изобретения является реализация простого в использовании способа беспроводной передачи данных между оконечными устройствами с  The aim of the present invention is the implementation of an easy-to-use method for wireless data transmission between terminal devices with
достоверным автоматическим определением пары оконечных устройств на основе данных геолокации и данных ориентации оконечных устройств. reliable automatic determination of a pair of terminal devices based on geolocation data and terminal device orientation data.
Другой целью настоящего изобретения является реализация простой в использовании системы для беспроводной передачи данных между оконечными устройствами с достоверным автоматическим определением пары оконечных устройств на основе данных геолокации и данных ориентации оконечных устройств.  Another objective of the present invention is the implementation of an easy-to-use system for wireless data transfer between terminal devices with reliable automatic determination of a pair of terminal devices based on geolocation data and terminal device orientation data.
Краткое описание чертежей Brief Description of the Drawings
Фиг. 1 содержит пример состава системы для беспроводной передачи данных между оконечными устройствами с учетом взаимного расположения этих устройств.  FIG. 1 contains an example of the composition of a system for wireless data transmission between terminal devices, taking into account the relative position of these devices.
Фиг. 2 содержит пример схемы процесса ожидания и формирования запроса на соединение или разъединение мобильного устройства в соответствии со способом беспроводной передачи данных между оконечными устройствами с учетом взаимного расположения этих устройств.  FIG. 2 contains an example of a diagram of the process of waiting and generating a request to connect or disconnect a mobile device in accordance with the method of wireless data transmission between terminal devices, taking into account the relative positions of these devices.
Фиг. 3 (А, Б) содержит пример схемы процесса анализа сервером данных геолокации и данных ориентации мобильного устройства в соответствии со способом беспроводной передачи данных между оконечными устройствами с учетом взаимного расположения этих устройств.  FIG. 3 (A, B) contains an example of a process for a server to analyze geolocation data and orientation data of a mobile device in accordance with the method of wireless data transmission between terminal devices, taking into account the relative positions of these devices.
Фиг. 4 содержит пример схемы процесса анализа сервером данных геолокации и данных ориентации мобильного устройства в соответствии со способом беспроводной передачи данных между оконечными устройствами с учетом взаимного расположения этих устройств. Фиг. 5 содержит пример схемы географической зоны мобильного устройства в соответствии со способом беспроводной передачи данных между оконечными FIG. 4 contains an example of a process diagram for a server analyzing geolocation data and orientation data of a mobile device in accordance with a method for wireless data transmission between terminal devices taking into account the relative position of these devices. FIG. 5 contains an example of a geographic area diagram of a mobile device in accordance with a method for wireless data transmission between terminal
устройствами с учетом взаимного расположения этих устройств. devices taking into account the relative position of these devices.
Фиг. 6 содержит иллюстрацию степеней свободы мобильного оконечного устройства.  FIG. 6 contains an illustration of the degrees of freedom of a mobile terminal.
Фиг. 7 (А, Б) содержит пример схемы расположения и ориентации двух устройств в декартовой системе координат.  FIG. 7 (A, B) contains an example of the arrangement and orientation of two devices in a Cartesian coordinate system.
Фиг. 8 содержит пример частичной схемы мобильного оконечного устройства. FIG. 8 contains an example of a partial diagram of a mobile terminal device.
Фиг. 9 содержит пример схемы процесса опроса датчиков ориентации и FIG. 9 contains an example of a process diagram for interrogating orientation sensors and
вычисления уточненного угла рысканья мобильного устройства в соответствии со способом беспроводной передачи данных между оконечными устройствами с учетом взаимного расположения этих устройств. calculating the specified yaw angle of the mobile device in accordance with the method of wireless data transmission between terminal devices, taking into account the relative position of these devices.
Фиг. 10 содержит иллюстрацию способа коррекции данных ориентации с применением жестового управления.  FIG. 10 contains an illustration of a method for correcting orientation data using gesture control.
Раскрытие изобретения Disclosure of invention
Один аспект настоящего изобретения представляет собой способ беспроводной передачи данных между оконечными устройствами, содержащий следующие шаги:  One aspect of the present invention is a method for wirelessly transmitting data between terminal devices, comprising the following steps:
(al) устанавливают соединение оконечных устройств с сервером;  (al) establish a connection of terminal devices with the server;
(а2) определяют данные геолокации оконечных устройств и передают их серверу; (A2) determine the geolocation data of the terminal devices and transmit them to the server;
(аЗ) определяют данные ориентации оконечных устройств; (a3) determine the orientation data of the terminal devices;
(а4) определяют потенциальных устройств-партнеров для каждого оконечного устройства на основе данных геолокации;  (a4) identify potential partner devices for each terminal device based on geolocation data;
(а5) направляют два оконечных устройства, между которыми необходимо осуществить передачу данных, друг на друга;  (a5) send two terminal devices between which it is necessary to transfer data to each other;
(аб) определяют первое оконечное устройство, инициирующее установление связи с потенциальным устройством-партнером, на основе данных ориентации  (ab) determining a first terminal device initiating communication with a potential partner device based on orientation data
оконечных устройств; terminal devices;
(а7) передают серверу данные ориентации первого оконечного устройства;  (a7) transmitting orientation data of the first terminal device to the server;
(а8) определяют второе оконечное устройство, представляющее собой устройство- партнера для первого оконечного устройства, на основе данных геолокации и данных ориентации первого оконечного устройства и потенциальных устройств-партнеров;  (a8) determining a second terminal device, which is a partner device for the first terminal device, based on geolocation data and orientation data of the first terminal device and potential partner devices;
(а9) устанавливают соединение между первым оконечным устройством и вторым оконечным устройством; (a 10) передают данные между первым оконечным устройством и вторым оконечным устройством; (a9) establish a connection between the first terminal device and the second terminal device; (a 10) transmitting data between the first terminal device and the second terminal device;
(al 1) разрывают соединение между первым оконечным устройством и вторым оконечным устройством.  (al 1) disconnect the connection between the first terminal device and the second terminal device.
На шаге (а4) возможно дополнительное сохранение в первом оконечном  At step (a4), additional storage is possible in the first terminal
устройстве краткой информации о потенциальных устройствах-партнерах для ускорения получения с сервера расширенной информации о потенциальных устройствах-партнерах для первого оконечного устройства и кеширование в сервере расширенной информации о потенциальных устройствах-партнерах для первого оконечного устройства. device brief information about potential partner devices to expedite the receipt from the server extended information about potential partner devices for the first terminal device and caching in the server extended information about potential partner devices for the first terminal device.
На шаге (аб) возможна дополнительная проверка того, соединено ли первое оконечное устройство со вторым оконечным устройством, и если установлено, что первое оконечное устройство не соединено со вторым оконечным устройством, возможно определение того, находится первое оконечное устройство в состоянии движения или в состоянии покоя.  In step (ab), it is possible to further check whether the first terminal device is connected to the second terminal device, and if it is determined that the first terminal device is not connected to the second terminal device, it is possible to determine whether the first terminal device is in a moving state or at rest .
Если установлено, что первое оконечное устройство находится в состоянии движения, возможна проверка того, является предыдущее состояние первого оконечного устройства состоянием движения или состоянием покоя. Если установлено, что предыдущее состояние первого оконечного устройства является состоянием покоя, возможно выполнение перехода к шагу (а8). Если установлено, что предыдущее состояние первого оконечного устройства является состоянием движения, возможно выполнение перехода к шагу (а2).  If it is determined that the first terminal device is in a motion state, it is possible to check whether the previous state of the first terminal device is a motion state or a rest state. If it is established that the previous state of the first terminal device is at rest, it is possible to proceed to step (a8). If it is established that the previous state of the first terminal device is a state of motion, it is possible to proceed to step (a2).
Если установлено, что первое оконечное устройство находится в состоянии покоя, возможна проверка наличия запроса с сервера на соединение со вторым оконечным устройством. Если обнаружен запрос с сервера на соединение со вторым оконечным устройством, возможно выполнение перехода к шагу (а9). Если не обнаружен запрос с сервера на соединение со вторым оконечным устройством, возможно выполнение проверки того, является предыдущее состояние первого оконечного устройства состоянием движения или состоянием покоя. Если установлено, что предыдущее состояние первого оконечного устройства является состоянием движения, возможно выполнение перехода к шагу (а7). Если установлено, что предыдущее состояние первого оконечного устройства является состоянием покоя, возможно выполнение перехода к шагу (а2).  If it is established that the first terminal device is at rest, it is possible to check for a request from the server to connect to the second terminal device. If a request is found from the server to connect to the second terminal device, it is possible to proceed to step (a9). If a request from the server for connection with the second terminal device is not detected, it is possible to check whether the previous state of the first terminal device is a motion state or a rest state. If it is established that the previous state of the first terminal device is a state of motion, it is possible to proceed to step (a7). If it is established that the previous state of the first terminal device is at rest, it is possible to proceed to step (a2).
Если установлено, что первое оконечное устройство соединено со вторым оконечным устройством, возможно выполнение проверки наличия запроса с сервера на разъединение со вторым оконечным устройством. Если обнаружен запрос с сервера на разъединение со вторым оконечным устройством, возможно выполнение перехода к шагу (al l). Если не обнаружен запрос с сервера на разъединение со вторым оконечным устройством, возможно выполнение перехода к шагу (аЮ). If it is established that the first terminal device is connected to the second terminal device, it is possible to check for a request from the server to disconnecting from the second terminal device. If a request from the server to disconnect from the second terminal device is detected, it is possible to proceed to step (al l). If a request from the server to disconnect from the second terminal device is not detected, it is possible to proceed to step (aU).
Состояние покоя и состояние движения возможно определять, соответственно, как состояние покоя и состояние движения первого оконечного устройства относительно потенциальных устройств-партнеров.  The state of rest and the state of motion can be defined, respectively, as the state of rest and state of motion of the first terminal device relative to potential partner devices.
На шаге (а4) возможно дополнительное определение географической зоны, которой принадлежит каждое потенциальное устройство-партнер, и определение второго оконечного устройства на шаге (а8) с учетом приоритета географической зоны.  At step (a4), it is possible to additionally determine the geographical area to which each potential partner device belongs, and to determine the second terminal device in step (a8), taking into account the priority of the geographical area.
Географическую зону и приоритет географической зоны возможно определять на основе расстояния между оконечными устройствами. The geographical area and the priority of the geographical area can be determined based on the distance between the terminal devices.
Передачу данных между первым оконечным устройством и вторым оконечным устройством на шаге (а 10) возможно осуществлять непосредственно между первым оконечным устройством и вторым оконечным устройством через соединение, установленное на шаге (а9), или частично осуществлять непосредственно между первым оконечным устройством и вторым оконечным устройством через соединение, установленное на шаге (а9), а частично - через соединение первого и второго оконечных устройств с сервером, установленное на шаге (al), или осуществлять через соединение первого и второго оконечных устройств с сервером, установленное на шаге (al).  It is possible to transfer data between the first terminal device and the second terminal device in step (a 10) directly between the first terminal device and the second terminal device via the connection established in step (a9), or partially directly between the first terminal device and the second terminal device through the connection established in step (a9), and partially through the connection of the first and second terminal devices to the server, established in step (al), or through the connection The first and second terminal devices with the server installed in step (al).
Начатую передачу данных между первым оконечным устройством и вторым оконечным устройством на шаге (аЮ) через соединение первого и второго оконечных устройств с сервером возможно продолжать и после выполнения шага (al 1). Начатую передачу данных между первым оконечным устройством и вторым оконечным устройством на шаге (аЮ) возможно продолжать даже в том случае, если выполнение прочих шагов способа остановлено.  It is possible to continue the data transfer between the first terminal device and the second terminal device in step (aY) through the connection of the first and second terminal devices with the server after the execution of step (al 1). It is possible to continue the data transfer between the first terminal device and the second terminal device in step (aU) even if the execution of the other steps of the method is stopped.
Данные ориентации первого оконечного устройства и потенциальных устройств- партнеров на шаге (а8) могут представлять собой углы тангажа, крена и рысканья и скорость вращения каждого оконечного устройства вокруг трех осей, образующих ортогональную систему координат. Данные ориентации первого оконечного устройства и потенциальных устройств-партнеров на шаге (а8) могут дополнительно содержать уточненные значения, по меньшей мере, одного из углов тангажа, крена и рысканья, по меньшей мере, одного из оконечных устройств. Уточнение значения, по меньшей мере, одного из углов тангажа, крена и рысканья может содержать следующие шаги: The orientation data of the first terminal device and potential partner devices in step (a8) can be the pitch, roll and yaw angles and the rotation speed of each terminal device around three axes forming an orthogonal coordinate system. The orientation data of the first terminal device and potential partner devices in step (a8) may further comprise refined values of at least one of the pitch, roll and yaw angles of at least one of the terminal devices. Clarifying the value of at least one of the pitch, roll, and yaw angles may include the following steps:
(Ы) инициализируют числовой массив и переменную;  (S) initialize a numeric array and a variable;
(Ь2) считывают показания магнетометра, акселерометра и гироскопа;  (B2) read the readings of the magnetometer, accelerometer and gyroscope;
(ЬЗ) вычисляют значения углов тангажа, крена и рысканья и скорости вращения первого оконечного устройства;  (B3) calculate the pitch, roll and yaw angles and the rotation speed of the first terminal device;
(Ь4) вычисляют разницу между значением, по меньшей мере, одного из углов тангажа, крена и рысканья, вычисленным на основе показаний магнетометра, и значением того же угла, вычисленным на основе показаний гироскопа;  (B4) calculating the difference between the value of at least one of the pitch, roll and yaw angles calculated based on the readings of the magnetometer and the value of the same angle calculated based on the readings of the gyroscope;
(Ь5) вычисляют разницу между значением, полученным на шаге (Ь4), и номером наибольшего элемента в числовом массиве;  (B5) calculate the difference between the value obtained in step (b4) and the number of the largest element in the number array;
(Ь6) определяют, находится первое оконечное устройство в состоянии покоя или в состоянии движения, на основе значений скорости вращения первого оконечного устройства, вычисленных на шаге (ЬЗ);  (B6) determine whether the first terminal device is at rest or in a state of motion based on the rotation speed values of the first terminal device calculated in step (b3);
(Ь7) если на шаге (Ь6) определено, что первое оконечное устройство находится в состоянии движения, значение элемента числового массива с номером, равным результату вычисления на шаге (Ь4), увеличивают на единицу;  (B7) if at step (b6) it is determined that the first terminal device is in a state of motion, the value of an element of a numerical array with a number equal to the calculation result in step (b4) is increased by one;
(Ь8) если на шаге (Ь6) определено, что первое оконечное устройство находится в состоянии покоя, вычисляют время, прошедшее после остановки первого оконечного устройства, и время, в течение которого первое оконечное устройство находилось в состоянии движения до его остановки, и проверяют выполнение первого, второго и третьего заранее заданных условий в отношении, по меньшей мере, одной из следующих величин: времени, прошедшего после остановки первого оконечного устройства, времени, в течение которого первое оконечное устройство находилось в состоянии движения до его остановки, и результата вычисления на шаге (Ь5);  (B8) if it was determined in step (b6) that the first terminal device is at rest, the time elapsed after the first terminal device has stopped and the time during which the first terminal device has been in motion before it is stopped, and verify that the first, second and third predetermined conditions with respect to at least one of the following values: the time elapsed after the first terminal device stopped, the time during which the first terminal device was in the state of motion until it stops, and the result of the calculation in step (b5);
(Ь9) если выполнено первое заранее заданное условие, значение переменной принимают равным результату вычисления на шаге (Ь5), а значение наибольшего элемента числового массива увеличивают на единицу;  (B9) if the first predefined condition is satisfied, the value of the variable is taken equal to the result of the calculation in step (b5), and the value of the largest element of the number array is increased by one;
(Ы0) если выполнено второе заранее заданное условие, значение элемента числового массива с номером, равным результату вычисления на шаге (Ь4), увеличивают на единицу;  (L0) if the second predetermined condition is satisfied, the value of the element of the numerical array with a number equal to the result of the calculation in step (L4) is increased by one;
(bl 1) если выполнено третье заранее заданное условие, значение переменной принимают равным результату вычисления на шаге (Ь5), значение наибольшего элемента числового массива увеличивают на единицу, а значения времени, прошедшего после остановки первого оконечного устройства, и времени, в течение которого первое оконечное устройство находилось в состоянии движения до его остановки, обнуляют; (bl 1) if the third predefined condition is satisfied, the value of the variable is taken equal to the result of the calculation in step (b5), the value of the largest element of the number array is increased by one, and the values of the time elapsed after stopping the first terminal device, and the time during which the first terminal device was in a state of motion before it stopped, zero;
(Ь12) уточняют значения, по меньшей мере, одного из углов тангажа, крена и рысканья, на основе номера наибольшего элемента числового массива и значения переменной;  (B12) specify the values of at least one of the pitch, roll and yaw angles based on the number of the largest element of the number array and the value of the variable;
(ЫЗ) выполняют возврат к шагу (Ь2).  (B3) return to step (b2).
На шаге (Ь4) возможно вычисление разницы между значением, по меньшей мере, одного из углов тангажа, крена и рысканья, вычисленным на основе показаний магнетометра и акселерометра, и значением того же угла, вычисленным на основе показаний гироскопа, и/или вычисление разницы между значением, по меньшей мере, одного из углов тангажа, крена и рысканья, вычисленным на основе показаний магнетометра, и значением того же угла, вычисленным на основе показаний гироскопа и акселерометра.  At step (b4), it is possible to calculate the difference between the value of at least one of the pitch, roll and yaw angles calculated on the basis of the readings of the magnetometer and the accelerometer and the value of the same angle calculated on the basis of the readings of the gyroscope, and / or calculate the difference between the value of at least one of the pitch, roll and yaw angles calculated based on the readings of the magnetometer, and the value of the same angle calculated based on the readings of the gyroscope and accelerometer.
Уточнение значения, по меньшей мере, одного из углов тангажа, крена и рысканья может дополнительно содержать следующие шаги:  Clarifying the value of at least one of the pitch, roll, and yaw angles may further comprise the following steps:
(cl) считывают скользящее движение пальца пользователя первого оконечного устройства в направлении второго оконечного устройства;  (cl) reading the sliding motion of the finger of the user of the first terminal device in the direction of the second terminal device;
(с2) вычисляют направление движения пальца пользователя первого оконечного устройства;  (c2) calculate the direction of movement of the finger of the user of the first terminal device;
(сЗ) уточняют значение, по меньшей мере, одного из углов тангажа, крена и рысканья, на основании направления движения, вычисленного на шаге (с2).  (c3) specify the value of at least one of the pitch, roll and yaw angles based on the direction of motion calculated in step (c2).
Для уточнения значения, по меньшей мере, одного из углов тангажа, крена и рысканья, возможно выполнение калибровки датчиков ориентации, содержащей следующие шаги:  In order to clarify the value of at least one of the pitch, roll and yaw angles, it is possible to calibrate orientation sensors containing the following steps:
(dl) располагают два оконечных устройства, между которыми необходимо осуществить передачу данных, в одной плоскости вплотную друг к другу, так, чтобы они были направлены друг на друга;  (dl) have two terminal devices, between which it is necessary to transmit data, in the same plane close to each other, so that they are directed at each other;
(d2) включают режим калибровки в обоих оконечных устройствах;  (d2) enable calibration mode in both end devices;
(d3) передают серверу значения, по меньшей мере, одного из углов тангажа, крена и рысканья обоих оконечных устройств;  (d3) transmitting to the server the values of at least one of the pitch, roll and yaw angles of both terminal devices;
(d4) вычисляют и записывают в базу данных в сервере погрешности, по меньшей мере, одного из углов тангажа, крена и рысканья, по меньшей мере, одного из этих оконечных устройств; (d5) уточняют значения, по меньшей мере, одного из углов тангажа, крена и рысканья, по меньшей мере, одного из этих оконечных устройств, на основе (d4) calculating and writing to the database in the server the errors of at least one of the pitch, roll and yaw angles of at least one of these terminal devices; (d5) specify the values of at least one of the pitch, roll and yaw angles of at least one of these terminal devices, based on
погрешностей, вычисленных на шаге (d4). the errors calculated in step (d4).
Для уточнения значения, по меньшей мере, одного из углов тангажа, крена и рысканья, возможно выполнение калибровки датчиков ориентации, содержащей следующие шаги:  In order to clarify the value of at least one of the pitch, roll and yaw angles, it is possible to calibrate orientation sensors containing the following steps:
(el) направляют первое оконечное устройство на объект с заранее известными точными координатами;  (el) directing the first terminal device to an object with predetermined exact coordinates;
(е2) включают режим калибровки в первом оконечном устройстве;  (e2) include a calibration mode in the first terminal device;
(еЗ) передают серверу значения, по меньшей мере, одного из углов тангажа, крена и рысканья первого оконечного устройства;  (e3) transmitting to the server the values of at least one of the pitch, roll and yaw angles of the first terminal device;
(е4) вычисляют и записывают в базу данных в сервере погрешности, по меньшей мере, одного из углов тангажа, крена и рысканья первого оконечного устройства;  (e4) calculating and writing to the database in the server the errors of at least one of the pitch, roll and yaw angles of the first terminal device;
(е5) уточняют значения, по меньшей мере, одного из углов тангажа, крена и рысканья первого оконечного устройства на основе погрешностей, вычисленных на шаге (е4).  (e5) specify the values of at least one of the pitch, roll and yaw angles of the first terminal device based on the errors calculated in step (e4).
Определение второго оконечного устройства на шаге (а8) может вручную выполнять пользователь первого оконечного устройства, если способ не позволяет автоматически определить второе оконечное устройство с требуемой надежностью.  The determination of the second terminal device in step (a8) can be performed manually by the user of the first terminal device, if the method does not automatically detect the second terminal device with the required reliability.
Ручное определение второго оконечного устройства возможно выполнять на основе расширенной информации о потенциальных устройствах-партнерах, которую получают с сервера. Результат ручного определения возможно заносить в базу данных в сервере, подвергать статистической обработке и результат статистической обработки впоследствии использовать на шаге (а8) для повышения надежности определения второго оконечного устройства.  Manual determination of the second terminal device can be performed based on the extended information about potential partner devices that is received from the server. The result of manual determination can be entered into the database in the server, subjected to statistical processing, and the result of statistical processing can subsequently be used in step (a8) to increase the reliability of determining the second terminal device.
На основе данных геолокации оконечных устройств возможна реализация многоадресного режима передачи данных от первого оконечного устройства другим оконечным устройствам, в отношении которых выполнено заранее заданное условие.  Based on the data of the geolocation of the terminal devices, it is possible to implement a multicast data transmission mode from the first terminal device to other terminal devices with respect to which a predetermined condition is fulfilled.
Другой аспект настоящего изобретения представляет собой систему для беспроводной передачи данных между оконечными устройствами, содержащую удаленный сервер, транспортную сеть и, по меньшей мере, два оконечных устройства, вьшолненную с возможностью осуществления способа, охарактеризованного в любом из предыдущих пунктов. Осуществление изобретения Another aspect of the present invention is a system for wirelessly transferring data between terminal devices, comprising a remote server, a transport network, and at least two terminal devices configured to implement the method described in any of the preceding paragraphs. The implementation of the invention
На фиг. 1 приведен пример состава системы (9) для беспроводной передачи данных между оконечными устройствами с учетом взаимного расположения этих устройств (далее - системы (9)). Система (9) содержит удаленный сервер (1),  In FIG. Figure 1 shows an example of the composition of a system (9) for wireless data transmission between terminal devices, taking into account the relative positions of these devices (hereinafter, systems (9)). System (9) contains a remote server (1),
транспортную сеть (2), которая может включать в себя любые средства передачи данных, включая оптические, проводные, беспроводные и гибридные сети, и использовать любые технологии беспроводной передачи данных, включая спутниковую, сотовую, transport network (2), which may include any means of data transmission, including optical, wired, wireless and hybrid networks, and use any technology for wireless data transmission, including satellite, cellular,
микросотовую, фемтосотовую связь, WiFi, ZigBee, BlueTooth, RFID, NFC и т.п., обеспечивающие требуемые технические характеристики канала (3) связи, стационарные оконечные устройства (4), включая компьютеры, терминалы платежных систем, рекламные трансляционные точки, системы электронных справок по запросу, microcellular, femtocellular communication, WiFi, ZigBee, BlueTooth, RFID, NFC, etc., providing the required technical characteristics of the communication channel (3), stationary terminal devices (4), including computers, payment system terminals, advertising broadcast points, electronic systems Help on request,
электронных гидов, системы оповещения о чрезвычайных ситуациях и т.п., и мобильные оконечные устройства (5), включая компьютеры, планшетные устройства, смартфоны, фотокамеры, видеокамеры и т.п., способные обеспечивать обмен мультимедийными данными, включая текст, изображения (неподвижные и движущиеся), звук и данные в специальных форматах, и беспроводной канал (6) связи между мобильными оконечными устройствами (5) или между мобильными оконечными устройствами (5) и electronic guides, emergency warning systems, etc., and mobile terminal devices (5), including computers, tablet devices, smartphones, cameras, video cameras, etc., capable of exchanging multimedia data, including text, images ( fixed and moving), sound and data in special formats, and a wireless communication channel (6) between mobile terminal devices (5) or between mobile terminal devices (5) and
стационарными оконечными устройствами (4). В дальнейшем описании, если не указано особо, все сказанное в отношении мобильных устройств (5) справедливо и для stationary terminal devices (4). In the following description, unless otherwise indicated, all that has been said with respect to mobile devices (5) is also true for
стационарных устройств (4), когда они рассматриваются в качестве оконечных устройств системы (9). Сервер (1) может представлять собой одиночный сервер, группу серверов (например, с функциональным разделением - сервер данных геолокации, сервер пользовательских данных, сервер приложений и т.д.) или распределенную сеть серверов. stationary devices (4) when they are considered as terminal devices of the system (9). Server (1) can be a single server, a group of servers (for example, with functional separation — a geolocation data server, user data server, application server, etc.) or a distributed network of servers.
На фиг. 2 приведен пример схемы процесса ожидания и формирования запроса на соединение или разъединение мобильного устройства в соответствии со способом беспроводной передачи данных между оконечными устройствами с учетом взаимного расположения устройств (далее - способом). На шаге (10) выполняется соединение устройства (5) с сервером (1) посредством транспортной сети (2), регистрация  In FIG. Figure 2 shows an example of a process for waiting and generating a request to connect or disconnect a mobile device in accordance with the method of wireless data transfer between terminal devices, taking into account the mutual arrangement of devices (hereinafter - the method). In step (10), the device (5) is connected to the server (1) via the transport network (2), registration
мобильного устройства (5) на сервере (1), получение мобильным устройством (5) устойчивых данных геолокации с целью определения его географического положения и передача данных геолокации с мобильного устройства (5) на сервер (1). mobile device (5) on the server (1), receiving mobile device (5) stable geolocation data in order to determine its geographic location and transmitting geolocation data from mobile device (5) to server (1).
На шаге (11) сервер (1) на основе полученных от мобильного устройства (5) данных геолокации определяет принадлежность мобильного устройства (5) к  In step (11), the server (1) based on the geolocation data received from the mobile device (5) determines whether the mobile device (5) belongs to
географической зоне, на основе анализа географической зоны определяет потенциальные устройства-партнеры для мобильного устройства (5) и передает мобильному устройству (5) информацию о потенциальных устройствах-партнерах. Более подробно шаг (11) описан далее со ссылкой на фиг. 3. geographical area, based on the analysis of the geographical area determines the potential partner devices for the mobile device (5) and transmits information on potential partner devices to the mobile device (5). Step (11) is described in more detail below with reference to FIG. 3.
На шаге (12) мобильное устройство (5) сохраняет информацию о потенциальных устройствах-партнерах для обеспечения быстрого получения с сервера (1) расширенной информации о потенциальных устройствах-партнерах в случае необходимости.  In step (12), the mobile device (5) stores information about potential partner devices in order to quickly obtain from the server (1) extended information about potential partner devices if necessary.
На шаге (13) мобильное устройство (5) считывает показания своих датчиков ориентации и формирует данные ориентации мобильного устройства (5). Более подробно шаг (13) описан далее со ссылкой на фиг. 9.  In step (13), the mobile device (5) reads the readings of its orientation sensors and generates orientation data of the mobile device (5). Step (13) is described in more detail below with reference to FIG. 9.
На шаге (14) мобильное устройство (5) проверяет, имеется ли соединение с каким- либо устройством-партнером. Если мобильное устройство (5) не соединено ни с одним устройством-партнером, то далее на шаге (15) мобильное устройство (5) проверяет, находится ли оно в состоянии движения или в состоянии покоя. Такая проверка производится на основе показаний датчиков ориентации мобильного устройства (5), например, с частотой 10 раз в секунду. Если мобильное устройство (5) находится в состоянии движения, то далее на шаге (19) мобильное устройство (5) проверяет, каким было его предыдущее состояние - движение или покой. Предыдущее состояние может определяться путем сравнения двух последних наборов показаний датчиков ориентации мобильного устройства (5) или может определяться более сложным способом, например, с использованием трех, четырех, пяти и т.д. последних наборов показаний датчиков ориентации и соответствующих взвешивающих коэффициентов для обеспечения большей устойчивости способа. Для этого требуемое количество наборов показаний датчиков ориентации сохраняется в мобильном устройстве (5). Если предыдущим состоянием мобильного устройства (5) было движение, вьшолняется переход к шагу (27). Если предьщущим состоянием мобильного устройства (5) был покой, то мобильное устройство (5) таким образом обнаруживает переход из состояния покоя в состояние движения и на шаге (21) передает серверу (1) данные ориентации.  In step (14), the mobile device (5) checks if there is a connection with any partner device. If the mobile device (5) is not connected to any partner device, then in step (15), the mobile device (5) checks whether it is in a moving state or at rest. Such verification is based on the readings of the orientation sensors of the mobile device (5), for example, at a frequency of 10 times per second. If the mobile device (5) is in a state of movement, then in step (19), the mobile device (5) checks whether its previous state was movement or rest. The previous state can be determined by comparing the last two sets of readings of the orientation sensors of the mobile device (5) or it can be determined in a more complex way, for example, using three, four, five, etc. the latest sets of readings of orientation sensors and corresponding weighting factors to ensure greater stability of the method. For this, the required number of sets of readings of orientation sensors is stored in the mobile device (5). If the previous state of the mobile device (5) was motion, the transition to step (27) is performed. If the previous state of the mobile device (5) was rest, then the mobile device (5) thus detects a transition from the rest state to the motion state and, in step (21), transmits orientation data to the server (1).
Передача данных ориентации мобильного устройства (5) серверу (1) при обнаружении перехода из состояния покоя в состояние движения позволяет избежать излишней загрузки сервера (1) непрерывным потоком избыточных данных. После выполнения шага (21) вьшолняется переход к шагу (27). Если на шаге (15) определено, что мобильное устройство (5) находится в состоянии покоя, то далее на шаге (17) мобильное устройство (5) опрашивает сервер (1) и получает с него обновленную W The transfer of the orientation data of the mobile device (5) to the server (1) upon detecting a transition from the rest state to the motion state allows avoiding unnecessary server (1) loading by a continuous stream of redundant data. After performing step (21), the transition to step (27) is performed. If it is determined in step (15) that the mobile device (5) is at rest, then in step (17) the mobile device (5) polls the server (1) and receives an updated from it W
13  13
информацию относительно обстановки в географической зоне, в том числе запросы на соединение, поступившие от потенциальных устройств-партнеров. Information regarding the situation in the geographical area, including connection requests from potential partner devices.
На шаге (22) мобильное устройство (5) проверяет наличие в поступившей информации запроса на соединение. Если запрос на соединение поступил, то далее на шаге (24) мобильное устройство (5) устанавливает соединение с соответствующим устройством-партнером для последующей передачи данных пользователя. Такое соединение может выполняться любым известным способом^ поддерживаемым обоими устройствами, устанавливающими соединение, в частности, оно может быть прямым (например, через интерфейс WiFi или Bluetooth) или через сервер (1) посредством любого канала передачи данных (например, через интерфейс WiFi или систему мобильной связи). Возможно также использование альтернативных способов  In step (22), the mobile device (5) checks for a connection request in the received information. If a connection request is received, then in step (24), the mobile device (5) establishes a connection with the corresponding partner device for the subsequent transmission of user data. Such a connection can be made by any known method ^ supported by both devices establishing a connection, in particular, it can be direct (for example, via the WiFi or Bluetooth interface) or through the server (1) via any data transmission channel (for example, via the WiFi interface or system mobile communications). Alternative methods are also possible.
беспроводной локальной связи, например, через микросотовую сеть или фемтосотовую сеть. wireless local communication, for example, through a microcellular network or a femtocell network.
После установления на шаге (24) соединения с устройством-партнером мобильное устройство (5) на шаге (26) выполняет прием и/или передачу данных пользователя, например, прием и/или передачу изображений.  After establishing a connection with a partner device in step (24), the mobile device (5) in step (26) performs reception and / or transmission of user data, for example, reception and / or transmission of images.
Если на шаге (22) выясняется, что запрос на соединение не поступил, то далее шаге (23) мобильное устройство (5) проверяет, каким бьшо его предыдущее состояние - движение или покой. Такая проверка в целом подобна проверке на шаге (19) и если предыдущим состоянием мобильного устройства (5) был покой, выполняется переход к шагу (27). Если предыдущим состоянием мобильного устройства (5) бьшо движение, то мобильное устройство (5) таким образом обнаруживает переход из состояния движения в состояние покоя и на шаге (25) передает серверу (1) данные ориентации. После выполнения шага (25) выполняется переход к шагу (27).  If it turns out at step (22) that the connection request has not been received, then at step (23), the mobile device (5) checks whether its previous state was motion or rest. Such a check is generally similar to the check in step (19), and if the previous state of the mobile device (5) was at rest, the transition to step (27) is performed. If the previous state of the mobile device (5) was motion, then the mobile device (5) thus detects a transition from the motion state to the idle state and at the step (25) transmits orientation data to the server (1). After performing step (25), the transition to step (27) is performed.
Если на шаге (14) мобильное устройство (5) определяет, что оно соединено с устройством-партнером, то далее на шаге (16) мобильное устройство (5) опрашивает сервер (1) и получает с него обновленную информацию относительно обстановки в географической зоне, в том числе запросы на разъединение, поступившие от устройств- партнеров, с которыми установлено соединение. На шаге (18) мобильное устройство (5) проверяет наличие в поступившей информации запроса на разъединение. Если запрос на разъединение поступил, то далее на шаге (20) мобильное устройство (5) разрывает соединение с соответствующим устройством-партнером. После выполнения шага (20) выполняется переход к шагу (27). W 201 If at step (14) the mobile device (5) determines that it is connected to the partner device, then at step (16) the mobile device (5) polls the server (1) and receives updated information from it regarding the situation in the geographical area, including disconnect requests from partner devices that are connected to. In step (18), the mobile device (5) checks for the disconnection request in the received information. If a disconnect request is received, then in step (20), the mobile device (5) disconnects from the corresponding partner device. After performing step (20), the transition to step (27) is performed. W 201
Ϊ4  Ϊ4
На шаге (27) мобильное устройство (5) передает серверу (1) данные геолокации. После выполнения шага (27) выполняется возврат к шагу (11).  In step (27), the mobile device (5) transmits the geolocation data to the server (1). After performing step (27), it returns to step (11).
Следует отметить, что описанный выше вариант осуществления изобретения подразумевает установление связи и обмен данными лишь с одним устройством- партнером, однако в другом варианте осуществления изобретения способ позволяет устанавливать связь и осуществлять обмен данными с несколькими устройствами- партнерами одновременно при наличии достаточных ресурсов мобильного устройства (5), например, производительности его процессора, канала связи (3), например, его пропускной способности, и сервера (1), например, с учетом его текущей загрузки.  It should be noted that the embodiment described above involves the establishment of communication and data exchange with only one partner device, however, in another embodiment of the invention, the method allows communication and data exchange with several partner devices at the same time if there are sufficient resources of the mobile device (5 ), for example, the performance of its processor, communication channel (3), for example, its bandwidth, and server (1), for example, taking into account its current load.
Следует также отметить, что в описанном выше варианте осуществления изобретения предполагается, что выбор устройства-партнера мобильного устройства (5) для обмена с ним данными выполняется в состоянии покоя. Это позволяет избежать излишней загрузки сервера (1), однако это не единственный вариант способа и в другом варианте осуществления изобретения выбор устройства-партнера и обмен с ним данными может выполняться в состоянии движения, например, когда мобильное устройство (5) и устройство-партнер находятся в движущемся транспортном средстве или пользователи этих устройств идут рядом. В этом случае на шаге (23) мобильное устройство (5) может опрашивать не все датчики ориентации и/или использовать взвешивающие коэффициенты, в том числе, динамические, для принятия решения о необходимости передачи серверу (1) данных ориентации мобильного устройства (5).  It should also be noted that in the embodiment described above, it is assumed that the partner device of the mobile device (5) for exchanging data with it is selected at rest. This avoids unnecessarily loading the server (1), however, this is not the only variant of the method and in another embodiment of the invention, the selection of the partner device and the exchange of data with it can be performed in a moving state, for example, when the mobile device (5) and the partner device in a moving vehicle or users of these devices are walking nearby. In this case, at step (23), the mobile device (5) may not interrogate all orientation sensors and / or use weighting factors, including dynamic ones, to decide on the need to transmit the orientation data of the mobile device (5) to the server (1).
На фиг. 3 (А, Б) приведен пример схемы процесса анализа сервером данных геолокации и данных ориентации мобильного устройства в соответствии со способом беспроводной передачи данных между оконечными устройствами с учетом взаимного расположения этих устройств.  In FIG. Figure 3 (A, B) shows an example of a process for a server analyzing geolocation data and orientation data of a mobile device in accordance with the method of wireless data transmission between terminal devices, taking into account the relative positions of these devices.
На шаге (1101) сервер (1) на основе полученных от мобильного устройства (5) данных геолокации определяет географическую зону мобильного устройства (5).  In step (1101), the server (1) based on the geolocation data received from the mobile device (5) determines the geographical area of the mobile device (5).
На шаге (1102) сервер (1) выбирает потенциальных устройств-партнеров для мобильного устройства (5). При выборе потенциальных устройств-партнеров может учитываться приоритет географической зоны, например, на основе данных геолокации сервер вычисляет расстояние между мобильным устройством (5) и другими  In step (1102), the server (1) selects potential partner devices for the mobile device (5). When choosing potential partner devices, the priority of the geographical area can be taken into account, for example, based on geolocation data, the server calculates the distance between the mobile device (5) and other
устройствами и поиск потенциальных устройств-партнеров сначала производится в субзоне с высшим приоритетом (т.е. среди наиболее близко расположенных devices and the search for potential partner devices is first performed in the subzone with the highest priority (i.e. among the most closely located
потенциальных устройств-партнеров), затем в субзоне со средним приоритетом (т.е. среди более удаленных потенциальных устройств-партнеров) и лишь затем в субзоне с низшим приоритетом (т.е. среди наиболее удаленных потенциальных устройств- партнеров в данной географической зоне). Поэтапный поиск потенциальных устройств- партнеров позволяет сократить вычислительную нагрузку на сервер (1), поскольку при обнаружении одного или нескольких потенциальных устройств-партнеров в более приоритетной субзоне поиск в менее приоритетных субзонах может не проводиться. potential partner devices), then in the subzone with medium priority (i.e., among the more remote potential partner devices) and only then in the subzone with lowest priority (i.e., among the most remote potential partner devices in a given geographic area). A phased search of potential partner devices can reduce the computational load on the server (1), since if one or several potential partner devices are detected in a higher priority subzone, searches in lower priority subzones may not be performed.
На шаге (1103) сервер (1) передает мобильному устройству (5) информацию о потенциальных устройствах-партнерах, которая может представлять собой  In step (1103), the server (1) transmits information about potential partner devices, which may be
идентификаторы таких устройств, и кеширует расширенную информацию о identifiers of such devices, and caches extended information about
потенциальных устройствах-партнерах, которая может включать в себя элементы профилей пользователей таких устройств и/или их данные геолокации. Одновременно сервер (1) передает потенциальным устройствам-партнерам информацию о мобильном устройстве (5) и кеширует расширенную информацию о мобильном устройстве (5). potential partner devices, which may include user profile elements for such devices and / or their geolocation data. At the same time, the server (1) transmits information about the mobile device (5) to potential partner devices and caches extended information about the mobile device (5).
Копирование расширенной информации об устройствах позволяет сократить время отклика сервера при запросе расширенной информации о потенциальных устройствах- партнерах с мобильного устройства (5) и при формировании запроса на соединение. Copying extended information about devices can reduce server response time when requesting extended information about potential partner devices from a mobile device (5) and when generating a connection request.
На шаге (1104) сервер (1) получает от мобильного устройства (5) обновленные данные геолокации, переданные на шаге (27), и данные ориентации, например, при остановке ранее двигавшегося мобильного устройства (5), переданные на шаге (25). Данные геолокации и данные ориентации могут включать в себя результаты обработки в мобильном устройстве (5) данных, полученных от приемника спутниковой системы позиционирования, данных от приемника сигналов стационарных радиомаяков, радиобуев и т.п., данных от приемника системы сотовой связи, данных от приемника локальной беспроводной сети, данных магнетометра (компаса), акселерометра (датчика ускорения), барометра (датчика атмосферного давления), гироскопа и т.д.  In step (1104), the server (1) receives from the mobile device (5) updated geolocation data transmitted in step (27) and orientation data, for example, when a previously moving mobile device (5) stops, transmitted in step (25). Geolocation data and orientation data may include the results of processing in a mobile device (5) data received from a receiver of a satellite positioning system, data from a receiver of signals from stationary beacons, beacons, etc., data from a receiver of a cellular communication system, data from a receiver local wireless network, magnetometer (compass), accelerometer (acceleration sensor), barometer (atmospheric pressure), gyroscope, etc.
Следует отметить, что мобильное устройство (5) передает серверу (1) свои данные геолокации с заданным периодом, например, один раз в несколько секунд или в один раз в несколько минут, если оно имеет связь с сервером (1). Это позволяет серверу (1) отслеживать перемещение мобильного устройства (5) и своевременно обновлять информацию о потенциальных устройствах-партнерах. При этом данные ориентации, обновляемые в мобильном устройстве (5) значительно чаще, например, десять раз в секунду, передаются серверу (1) лишь при начале движения и при прекращении движения мобильного устройства (5) или в иных случаях, когда система (9) прогнозирует желание пользователя мобильного устройства (5) начать обмен данными. Это позволяет избежать загрузки сервера (1) обработкой излишнего потока данных. W It should be noted that the mobile device (5) transmits to the server (1) its geolocation data with a predetermined period, for example, once every few seconds or once every several minutes if it is connected to the server (1). This allows the server (1) to track the movement of the mobile device (5) and to timely update information about potential partner devices. Moreover, orientation data updated in the mobile device (5) is much more frequent, for example, ten times per second, is transmitted to the server (1) only when the movement starts and when the mobile device (5) stops moving or in other cases when the system (9) predicts the desire of the user of the mobile device (5) to begin data exchange. This avoids loading the server (1) by processing excessive data flow. W
16  16
На шаге (1105) сервер (1) проверяет наличие данных ориентации в полученных от мобильного устройства (5) данных. Если данные ориентации обнаружены, вьшолняется переход к шагу (1106). Если данные ориентации не обнаружены, вьшолняется возврат к шагу (1101).  In step (1105), the server (1) checks for the presence of orientation data in the data received from the mobile device (5). If orientation data is detected, proceeds to step (1106). If no orientation data is detected, return to step (1101) is performed.
На шаге (1106) сервер (1) обрабатывает данные геолокации и данные ориентации мобильного устройства (5). Более подробно шаг (1106) описан со ссылкой на фиг. 4.  In step (1106), the server (1) processes the geolocation data and the orientation data of the mobile device (5). In more detail, step (1106) is described with reference to FIG. four.
На шаге (1107) сервер (1) проверяет выполнение условия соединения мобильного устройства (5) с устройством-партнером. Если условие соединения выполнено, осуществляется переход к шагу (1108). Если условие соединения не выполнено, осуществляется возврат к шагу (1101).  In step (1107), the server (1) verifies that the conditions for connecting the mobile device (5) to the partner device are satisfied. If the join condition is satisfied, go to step (1108). If the connection condition is not fulfilled, return to step (1101).
На шаге (1108) сервер (1) формирует и передает обоим устройствам запрос на соединение мобильного устройства (5) с устройством-партнером.  At step (1108), the server (1) generates and transmits to both devices a request to connect the mobile device (5) with the partner device.
На шаге (1109) сервер (1) принимает от мобильного устройства (5) и/или от устройства-партнера пользовательские данные и передает мобильному устройству (5) и/или устройству-партнеру пользовательские данные. Шаг (1109) является  In step (1109), the server (1) receives user data from the mobile device (5) and / or from the partner device and transmits user data to the mobile device (5) and / or the partner device. Step (1109) is
необязательным и вьшолняется, если обмен пользовательскими данными между мобильным устройством (5) и устройством-партнером осуществляется через сервер (1). optional and performed if the exchange of user data between the mobile device (5) and the partner device is carried out through the server (1).
Следует отметить, что обмен пользовательскими данными может осуществляться непосредственно между мобильным устройством (5) и устройством-партнером, например, на принципах пиринговой сети, или через сервер (1), например, на принципах клиент-серверной архитектуры. Обмен пользовательскими данными может  It should be noted that the exchange of user data can be carried out directly between the mobile device (5) and the partner device, for example, on the basis of a peer-to-peer network, or through a server (1), for example, on the principles of a client-server architecture. User data exchange may
осуществляться и двумя этими способами одновременно, к примеру, при передаче фотоизображений с одного мобильного устройства на другое изображение низкого разрешения может передаваться через прямое соединение с использованием любого известного беспроводного интерфейса, например, WiFi или Bluetooth, что может занимать считанные секунды или доли секунды, а изображение высокого разрешения может передаваться через сервер (1), в фоновом режиме, что может занимать несколько часов. В случае недостатка пропускной способности канала (3) связи или транспортной сети (2) в целом, изображение высокого разрешения может сохраняться на сервере (1) и оставаться доступным для последующей загрузки в течение заранее заданного времени. be carried out in two of these ways at the same time, for example, when transferring images from one mobile device to another, a low-resolution image can be transmitted via a direct connection using any known wireless interface, for example, WiFi or Bluetooth, which can take a matter of seconds or fractions of a second, and A high resolution image can be transmitted through the server (1) in the background, which can take several hours. In case of insufficient bandwidth of the communication channel (3) or the transport network (2) as a whole, a high-resolution image can be stored on the server (1) and remain available for subsequent download for a predetermined time.
После того, как обмен пользовательскими данными инициирован в соответствии с описанным способом, он может осуществляться средствами встроенного и/или стороннего программного обеспечения мобильного устройства (5), даже если прикладная программа, реализующая описанный способ, будет выключена. Шаги (1110) - (1112) по существу аналогичны шагам (1104) - (1106) и их описание опущено. After the exchange of user data is initiated in accordance with the described method, it can be carried out by means of the embedded and / or third-party software of the mobile device (5), even if the application implementing the described method is turned off. Steps (1110) - (1112) are essentially similar to steps (1104) - (1106) and their description is omitted.
На шаге (1113) сервер (1) проверяет выполнение условия разъединения мобильного устройства (5) с устройством-партнером. Если условие разъединения выполнено, осуществляется переход к шагу (1108). Если условие соединения не выполнено, осуществляется возврат к шагу (1101).  In step (1113), the server (1) verifies that the condition for disconnecting the mobile device (5) from the partner device is satisfied. If the disconnect condition is satisfied, go to step (1108). If the connection condition is not fulfilled, return to step (1101).
На шаге (1114) сервер (1) формирует и передает обоим устройствам запрос на разъединение мобильного устройства (5) с устройством-партнером.  At step (1114), the server (1) generates and transmits to both devices a request to disconnect the mobile device (5) from the partner device.
На шаге (1115) сервер (1) принимает от мобильного устройства (5) и/или от устройства-партнера пользовательские данные и передает мобильному устройству (5) и/или устройству-партнеру пользовательские данные. Шаг (1115) является  In step (1115), the server (1) receives user data from the mobile device (5) and / or from the partner device and transmits user data to the mobile device (5) and / or the partner device. Step (1115) is
необязательным и выполняется, если обмен пользовательскими данными между мобильным устройством (5) и устройством-партнером осуществляется через сервер (1). optional and performed if user data is exchanged between the mobile device (5) and the partner device through the server (1).
Следует отметить, что обмен пользовательскими данными через сервер (1) может продолжаться и после разъединения мобильного устройства (5) с устройством- партнером. Например, после получения мобильным устройством (5) изображения низкого разрешения непосредственно от устройства-партнера и авторизации получения изображения высокого разрешения через сервер (1), мобильное устройство (5) может разорвать непосредственное соединение с устройством-партнером, в то время как получение изображения высокого разрешения через сервер (1) будет продолжаться до полного его завершения.  It should be noted that the exchange of user data through the server (1) can continue even after the mobile device (5) is disconnected from the partner device. For example, after the mobile device (5) receives a low-resolution image directly from the partner device and authorizes the receipt of a high-resolution image through the server (1), the mobile device (5) can disconnect the direct connection with the partner device, while the high-resolution image is received permissions through the server (1) will continue until its completion.
После выполнения шага (1115) осуществляется возврат к шагу (1101).  After performing step (1115), it returns to step (1101).
На фиг. 4 приведен пример схемы процесса обработки сервером (1) данных геолокации и данных ориентации мобильного устройства (5) с целью дальнейшей проверки выполнения условия соединения или условия разъединения с устройством- партнером.  In FIG. Figure 4 shows an example of a process for the server (1) to process geolocation data and orientation data of a mobile device (5) to further verify that the connection condition or disconnect condition with the partner device is fulfilled.
На шаге (11060) сервер (1) вычисляет расстояние между мобильным устройством (5) и потенциальными устройствами-партнерами на основе данных геолокации и ранжирует список потенциальных устройств-партнеров на основе вычисленного расстояния.  In step (11060), the server (1) calculates the distance between the mobile device (5) and potential partner devices based on geolocation data and ranks the list of potential partner devices based on the calculated distance.
На шаге (11061) сервер (1) формирует список пар устройств, одно из которых является мобильным устройством (5), а второе - потенциальным устройством- партнером, направленных друг на друга, для этого сервер (1) запрашивает у  At step (11061), server (1) generates a list of pairs of devices, one of which is a mobile device (5), and the second is a potential partner device directed at each other, for this server (1) requests
потенциального устройства-партнера данные геолокации и данные ориентации, причем перебор потенциальных устройств-партнеров выполняется по ранжированному списку, сформированному на шаге (11060). Каждая передача серверу (1) данных геолокации и данных ориентации сопровождается отметкой времени, соответствующей времени формирования этих данных. potential partner device geolocation data and orientation data, and enumeration of potential partner devices is performed according to the ranked list formed in step (11060). Each transmission to the server (1) of geolocation data and orientation data is accompanied by a time stamp corresponding to the time of formation of this data.
Направленность устройств друг на друга определяется по данным ориентации в локальной системе координат, связанной с каждым мобильным устройством. В общем случае данные ориентации содержат угол тангажа, угол крена, и угол рысканья. Кроме того, в одном варианте осуществления изобретения данные ориентации содержат уточненный угол рысканья, вычисляемый каждым мобильным устройством, что подробно описано со ссылкой на фиг. 9.  The orientation of the devices toward each other is determined by the orientation data in the local coordinate system associated with each mobile device. In general, these orientations include pitch angle, roll angle, and yaw angle. In addition, in one embodiment of the invention, the orientation data comprises an updated yaw angle calculated by each mobile device, as described in detail with reference to FIG. 9.
На шаге (11062) сервер (1) проверяет количество таких пар устройств. Если таких пар устройств не обнаружено, выполняется возврат к шагу (11060); если обнаружена одна такая пара устройств, выполняется переход к шагу (11064), если обнаружено несколько таких пар устройств, выполняется переход к шагу (11063).  At step (11062), the server (1) checks the number of such pairs of devices. If no such device pairs are found, it returns to step (11060); if one such pair of devices is detected, proceeds to step (11064), if several such pair of devices is detected, proceeds to step (11063).
На шаге (11063) сервер (1) дополнительно анализирует вероятность выбора устройства-партнера для каждой такой пары устройств для определения наиболее вероятного устройства-партнера.  At step (11063), the server (1) further analyzes the probability of selecting a partner device for each such pair of devices to determine the most likely partner device.
На шаге (11064) сервер (1) проверяет наличие наиболее вероятного устройства- партнера. Если сервер (1) не способен выявить наиболее вероятное устройство-партнера, пользователю мобильного устройства (5) на шаге (11065) предлагается вручную выбрать устройство-партнера из нескольких устройств в соответствии со списком,  At step (11064), the server (1) checks for the presence of the most likely partner device. If the server (1) is not able to identify the most likely partner device, the user of the mobile device (5) at step (11065) is invited to manually select the partner device from several devices in accordance with the list,
сформированным на шаге (11061). formed in step (11061).
На шаге (11066) сервер (1) устанавливает флаг наличия наиболее вероятного устройства-партнера, который далее проверяется в качестве условия соединения на шаге (1107).  In step (11066), the server (1) sets the flag for the presence of the most likely partner device, which is then checked as a connection condition in step (1107).
Географическая зона представляет собой область на поверхности Земли или вблизи поверхности Земли определенной формы и размера. Географическая зона мобильного устройства (5) может определяться на основе данных геолокации, полученных с использованием спутниковой системы позиционирования, например, глобальных спутниковых систем позиционирования NAVSTAR, ГЛОНАСС,  A geographic area is an area on or near the surface of the Earth of a particular shape and size. The geographical area of the mobile device (5) can be determined based on geolocation data obtained using a satellite positioning system, for example, global satellite positioning systems NAVSTAR, GLONASS,
региональных спутниковых систем позиционирования Galileo, Beidou, IRNSS, QZSS, DORIS, с использованием наземной системы позиционирования, например, LAAS, NDGPS, с использованием системы сотовой связи, например, способом COO (Cell Of Origin), способом E-OTD (Enhanced Observed Time Difference), способом TOA (Time of Arrival) или способом AOA (Angle of Arrival), или с использованием локальной беспроводной сети, например, WiFi или Bluetooth. Способы получения данных геолокации с использованием коммерческих систем позиционирования хорошо известны в данной области техники и их описание опущено. Получение данных геолокации с использованием локальной беспроводной сети, например, WiFi или Bluetooth, основано на малой дальности действия этих интерфейсов, когда известное местоположение точки доступа WiFi или Bluetooth-устройства принимается за приблизительное regional satellite positioning systems Galileo, Beidou, IRNSS, QZSS, DORIS, using a terrestrial positioning system, for example, LAAS, NDGPS, using a cellular communication system, for example, using COO (Cell Of Origin) method, E-OTD (Enhanced Observed Time) method Difference), TOA (Time of Arrival) or by the AOA (Angle of Arrival) method, or using a local wireless network, for example, WiFi or Bluetooth. Methods for obtaining geolocation data using commercial positioning systems are well known in the art and are omitted. Obtaining geolocation data using a local wireless network, such as WiFi or Bluetooth, is based on the short range of these interfaces, when the known location of a WiFi access point or Bluetooth device is taken as an approximate
местоположение мобильного устройства (5), расположенного в зоне действия такого интерфейса. Например, присутствие двух мобильных устройств в сети WiFi на борту судна, морского судна или иного объекта с ограниченными и заранее известными геометрическими размерами может свидетельствовать о принадлежности таких двух устройств одной географической зоне или высокоприоритетной субзоне. При этом пользователю может быть предоставлена возможность указания того, что он находится на борту воздушного судна, морского или речного судна или иного объекта с the location of the mobile device (5) located in the coverage area of such an interface. For example, the presence of two mobile devices in a WiFi network on board a ship, sea vessel or other object with limited and previously known geometric dimensions may indicate that these two devices belong to the same geographic area or high priority subzone. In this case, the user may be given the opportunity to indicate that he is on board an aircraft, sea or river vessel or other object with
ограниченными размерами, например, путем выбора определенного пункта меню и передачи результата этого выбора серверу (1). При использовании локальной limited sizes, for example, by selecting a specific menu item and transmitting the result of this selection to the server (1). When using local
беспроводной сети для определения географической зоны возможно также применение способов триангуляции, подобных тем, что используются в известных способах определения местоположения с использованием систем сотовой связи. of a wireless network for determining a geographical area, it is also possible to use triangulation methods similar to those used in known methods for determining location using cellular communication systems.
Форма географической зоны зависит от способа определения географической зоны и может быть круглой, эллиптической, многоугольной и т.п. Географическая зона может быть по существу плоской (например, представлять собой проекцию на поверхность Земли) или объемной (например, иметь атрибут размера по вертикали). Размер географической зоны также зависит от способа определения географической зоны и может составлять от нескольких метров до нескольких десятков метров, а в ряде случаев и нескольких километров. Географическая зона может быть единственной или множественной. На фиг. 5 приведен пример схемы плоской множественной  The shape of the geographical area depends on the method for determining the geographical area and can be round, elliptical, polygonal, etc. The geographic area can be essentially flat (for example, a projection onto the surface of the Earth) or three-dimensional (for example, have a vertical size attribute). The size of the geographical area also depends on the method for determining the geographical area and can range from several meters to several tens of meters, and in some cases several kilometers. A geographic area may be single or multiple. In FIG. 5 shows an example of a planar plural
географической зоны, состоящей из нескольких субзон различного приоритета: субзона (101), в которой расположено мобильное устройство (5), имеет самый высокий приоритет, субзона (102), смежная с субзоной (101), имеет средний приоритет, дальняя субзона (103) имеет самый низкий приоритет. a geographical zone consisting of several subzones of different priority: the subzone (101), in which the mobile device (5) is located, has the highest priority, the subzone (102) adjacent to the subzone (101) has an average priority, the far subzone (103) has the lowest priority.
Выбор вида географической зоны может осуществляться вручную пользователем, или автоматически, например, с учетом рельефа местности, или полуавтоматически с ручным подтверждением. Так, для равнинного рельефа местности по умолчанию может W The choice of the type of geographical area can be carried out manually by the user, or automatically, for example, taking into account the terrain, or semi-automatically with manual confirmation. So, for flat terrain, the default location may W
20  twenty
выбираться плоская географическая зона, а для горной местности или для местности с высотной городской застройкой по умолчанию может выбираться неплоская a flat geographical area is selected, and for highlands or for areas with high-rise urban areas, a non-flat one can be selected by default
географическая зона, имеющая атрибут толщины, а данные геолокации мобильных устройств могут содержать значение высоты над уровнем моря. Кроме того, выбор вида географической зоны может осуществляться с учетом данных профиля пользователя, например, с учетом объявленных хобби или текущего статуса пользователя. Так, для пользователя, увлекающегося альпинизмом или парашютным спортом, во время его отпуска или выходных дней по умолчанию может выбираться неплоская географическая зона, имеющая атрибут толщины, а данные геолокации мобильных устройств могут содержать значение высоты над уровнем моря. a geographic area that has a thickness attribute, and the geolocation data of mobile devices may contain a height value above sea level. In addition, the choice of the type of geographical area can be carried out taking into account user profile data, for example, taking into account the declared hobbies or the current status of the user. So, for a user who is fond of mountaineering or parachuting, during his holidays or weekends, by default, a non-planar geographic area with a thickness attribute can be selected, and the geolocation data of mobile devices may contain a height value above sea level.
Оптимизация выбора вида географической зоны позволяет снизить излишнюю вычислительную нагрузку на сервер (1).  Optimization of the choice of the type of geographical zone allows you to reduce the excessive computational load on the server (1).
Локальная система координат X, Υ, Z связана с мобильным устройством (5) таким образом, что центр координат совпадает с центром масс мобильного устройства (5), ось Z направлена по нормали к рабочей поверхности мобильного устройства (5), ось X совпадает с продольной осью мобильного устройства (5), а ось Y совпадает с поперечной осью мобильного устройства (5). Например, в обычном рабочем положении мобильного устройства (5) ось Z направлена вниз от пользователя, ось X направлена вперед от пользователя, а ось Y направлена вправо от пользователя (фиг. 6). Мобильное устройство (5) имеет шесть степеней свободы: оно может смещаться вдоль и  The local coordinate system X, Υ, Z is connected with the mobile device (5) so that the center of coordinates coincides with the center of mass of the mobile device (5), the Z axis is normal to the working surface of the mobile device (5), the X axis coincides with the longitudinal the axis of the mobile device (5), and the Y axis coincides with the transverse axis of the mobile device (5). For example, in the normal operating position of the mobile device (5), the Z axis is directed downward from the user, the X axis is directed forward from the user, and the Y axis is directed to the right of the user (FIG. 6). Mobile device (5) has six degrees of freedom: it can move along and
поворачиваться вокруг каждой из осей координат X, Υ, Z, при этом поворот вокруг осей (углы χ, ε, ω) геометрически связан с данными ориентации - углами крена, тангажа и рысканья. rotate around each of the coordinate axes X, Υ, Z, while the rotation around the axes (angles χ, ε, ω) is geometrically connected with the orientation data - roll, pitch and yaw angles.
Центр локальной системы координат мобильного устройства (5) (точка А на фиг. 7) определяется на основе данных геолокации - географической широты, географической долготы и высоты над уровнем моря - представляющих собой координаты в  The center of the local coordinate system of the mobile device (5) (point A in Fig. 7) is determined on the basis of geolocation data — geographic latitude, geographic longitude, and altitude — representing the coordinates in
сферической системе координат. В первом приближении перевод из сферической системы координат в декартову выполняется по формуле:
Figure imgf000022_0001
spherical coordinate system. In a first approximation, the transfer from a spherical coordinate system to a Cartesian coordinate system is performed according to the formula:
Figure imgf000022_0001
где ха, уа, za - координаты центра масс мобильного устройства (5), R - условный радиус Земли, h - высота над уровнем моря, φ - географическая широта, λ - географическая долгота. Для более точного определения координат мобильного устройства (5) с учетом эллиптичности Земли вычисления возможно вьшолнять итерационным способом по ГОСТ Р 51794-2008 или же константа R может быть заменена на функцию R((p, Л), значение которой зависит от географической широты и географической долготы, причем значения этой функции могут быть заранее определены и храниться в системе (9), например, в табличной форме, что также позволяет учесть отличие формы Земли от идеального шара. where x a , y a , z a are the coordinates of the center of mass of the mobile device (5), R is the conditional radius of the Earth, h is the height above sea level, φ is the geographical latitude, λ is the geographical longitude. For a more accurate determination of the coordinates of the mobile device (5), taking into account the ellipticity of the Earth, it is possible to perform calculations iteratively according to GOST R 51794-2008 or the constant R can be replaced by a function R ((p, Л), the value of which depends on geographical latitude and geographical longitudes, and the values of this function can be predefined and stored in system (9), for example, in tabular form, which also allows you to take into account the difference in the shape of the Earth from an ideal ball.
Направленность устройств друг на друга в каждой паре оценивается по углам крена, тангажа и рысканья, а также по координатам ха, уа, za и хь, уь, гь- В случае, если устройства в паре направлены строго друг на друга и плоскости их рабочих The orientation of the devices at each other in each pair is estimated by the angles of roll, pitch and yaw, as well as by the coordinates x a , y a , z a and xb, yb, gb. If the devices in the pair are directed strictly at each other and the plane their workers
поверхностей совпадают, а сами рабочие поверхности направлены в одну сторону, то выполняется первое условие направленности
Figure imgf000023_0001
surfaces coincide, and the working surfaces themselves are directed in one direction, then the first directivity condition is satisfied
Figure imgf000023_0001
где у а, уь - углы крена, θα, вь - углы тангажа и ψα,
Figure imgf000023_0002
- углы рысканья, которое относится к трем степеням свободы - вращению устройств, расположенных в точках А и В, соответственно, вокруг каждой из осей координат Ха, Ya, Za, и Хь, Yb, Zb,
where a, yb are the roll angles, θ α , bb are pitch angles and ψ α ,
Figure imgf000023_0002
- yaw angles, which refers to three degrees of freedom - the rotation of devices located at points A and B, respectively, around each of the coordinate axes X a , Y a , Z a , and Xb, Y b , Z b ,
соответственно, и второе условие направленн сти
Figure imgf000023_0003
respectively, and the second directional condition
Figure imgf000023_0003
которое относится к трем другим степеням свободы - смещению вдоль каждой из осей координат X, Υ, Z на фиг. 6. Например, как показано на фиг. 7 А, устройства, which refers to three other degrees of freedom — displacement along each of the coordinate axes X, Υ, Z in FIG. 6. For example, as shown in FIG. 7 A, devices
расположенные в точках В и В', имеют одинаковые углы уь, вь и но устройства, расположенные в точках А и В, направлены строго друг на друга, а устройства, расположенные в точках А и В', не направлены строго друг на друга, поскольку устройство, расположенное в точке В', смещено вдоль оси координат Yd. located at points B and B 'have the same angles y, b, and but the devices located at points A and B are directed strictly at each other, and the devices located at points A and B' are not directed strictly at each other, since the device located at point B 'is offset along the coordinate axis Y d .
Для проверки второго условия направленности ортогональная система координат Ха, Ya, Za с началом в точке А преобразуется в сферическую и, используя To check the second directivity condition, the orthogonal coordinate system X a , Y a , Z a with the origin at point A is converted to spherical and, using
ортогональность системы координат Ха, Ya, Za и значения углов уа, θα, ψα, выполняется вычисление углов аа, βα для вектора АХа (фиг. 7Б). Затем на основании координат ха, уа, ζα точки А и координат хь, уь, Zb точки В выполняется вычисление углов аа', Д для вектора АВ:
Figure imgf000024_0001
the orthogonality of the coordinate system X a , Y a , Z a and the values of the angles y a , θ α , ψ α , the angles a a , β α are calculated for the vector AX a (Fig. 7B). Then, based on the coordinates x a , y a , ζ α of point A and the coordinates x, y, z, Zb of point B, the angles a a ', D are calculated for the vector AB:
Figure imgf000024_0001
Аналогичные вычисления выполняются для потенциального устройства-партнера, расположенного в точке В, в отношении мобильного устройства (5) и указанное выше второе условие направленности принимает вид  Similar calculations are performed for a potential partner device located at point B with respect to the mobile device (5) and the above-mentioned second directivity condition takes the form
Figure imgf000024_0002
Figure imgf000024_0002
Указанное выше второе условие направленности есть смысл проверять при достаточно точном определении координат ха, уа, za точки А и координат хь, уь, точки В, например, с точностью, соизмеримой с геометрическими размерами мобильных устройств. При невозможности точного определения координат можно ограничиться проверкой только первого условия направленности. Практика показывает, что даже при проверке только первого условия направленности (т.е. на основе только данных ориентации уа, θα, ψα,) во многих случаях удается получить приемлемую достоверность автоматического определения желаемого устройства-партнера. The above-mentioned second directivity condition makes sense to check with sufficiently accurate determination of the coordinates x a , y a , z a of point A and coordinates xb, yb, point B, for example, with accuracy commensurate with the geometric dimensions of mobile devices. If it is impossible to accurately determine the coordinates, we can restrict ourselves to checking only the first directivity condition. Practice shows that even when checking only the first directivity condition (i.e., based on only the orientation data for a , θ α , ψ α ,) in many cases it is possible to obtain an acceptable reliability of the automatic determination of the desired partner device.
Критерии, по которым производится оценка направленности, могут быть различными в зависимости от используемой модели определения наиболее вероятного устройства-партнера. Например, в случае плоской географической зоны, где  The criteria used to evaluate the directivity may vary depending on the model used to determine the most likely partner device. For example, in the case of a flat geographical area, where
предполагается, что пара мобильных устройств находится в по существу горизонтальной плоскости, степень направленности устройств в паре (т.е. отклонение оси X мобильного устройства (5) от прямой, проходящей через точки А, В центров координат устройств в паре) оценивается по углу рысканья, а для углов крена и тангажа проверяется их попадание в диапазон допустимых значений. При этом наибольший допустимый угол крена может составлять, например, ±30°, а допустимый угол тангажа может находиться, например, в диапазоне от +30° до -20°: it is assumed that the pair of mobile devices is in a substantially horizontal plane, the degree of directionality of the devices in the pair (i.e., the deviation of the X axis of the mobile device (5) from the straight line passing through points A, B of the coordinate centers of the devices in the pair) is estimated by the yaw angle , and for roll and pitch angles, they fall into the range of acceptable values. In this case, the largest permissible angle of heel can be, for example, ± 30 °, and the permissible pitch angle can be, for example, in the range from + 30 ° to -20 °:
δγ = γ - /(= [-30ο,30ο] δγ = γ - / (= [-30 ο , 30 ο ]
δθ = θ + #'-180° е [- 20°,30°]  δθ = θ + # '- 180 ° e [- 20 °, 30 °]
δψ = ψ + ψ'-Ш0 е [- 10°,1 о°1 δψ = ψ + ψ'-Ш 0 е [- 10 °, 1 о ° 1
В случае неплоской географической зоны пара мобильных устройств может находиться в плоскости, отличающейся от по существу горизонтальной, и для определения степени направленности устройств в паре может использоваться более сложный способ, включающий в себя вычисление функции взаимной ориентации двух устройств, при этом каждому из углов тангажа, крена и рысканья может назначаться весовой коэффициент. Например, весовой коэффициент угла рысканья может составлятьIn the case of a non-planar geographical area, a pair of mobile devices may be in a plane different from essentially horizontal, and for to determine the degree of directivity of the devices in a pair, a more complex method can be used, which includes calculating the mutual orientation function of the two devices, while each of the pitch, roll and yaw angles can be assigned a weight coefficient. For example, the yaw angle weight factor may be
1, весовой коэффициент угла крена может составлять 0,3, а весовой коэффициент угла тангажа может составлять 0,2: 1, the roll angle weight coefficient may be 0.3, and the pitch angle weight coefficient may be 0.2:
F(/, θ, ψ) = F(r) + O,3F(0) + 0,2E(y/),  F (/, θ, ψ) = F (r) + O, 3F (0) + 0.2E (y /),
где F(y,e,y ) - функция взаимной ориентации, а критерий для оценки направленности может иметь следующий вид: where F (y, e, y) is a function of relative orientation, and the criterion for evaluating the directivity can have the following form:
F(y,0,V) < b,  F (y, 0, V) <b,
где Δ - пороговое значение функции взаимной ориентации. where Δ is the threshold value of the relative orientation function.
В другом случае весовые коэффициенты угла рысканья, угла крена и угла тангажа могут быть динамическими, т.е. иметь переменные значения, зависящие от других факторов. Например, функция взаимной ориентации может иметь переменные весовые коэффициенты, зависящие от расстояния по прямой между устройствами в паре:  In another case, the weight coefficients of the yaw angle, roll angle and pitch angle can be dynamic, i.e. have variable values depending on other factors. For example, the relative orientation function may have variable weights, depending on the distance in a straight line between the devices in a pair:
Ρ(Υ,Θ,Ψ) = fr l F(y) + fe(I F(ff) + f,(l)F{ ), Ρ (Υ, Θ, Ψ) = f r l F (y) + f e (IF (ff) + f, (l) F {),
где / - расстояние между точками А, В в декартовой системе координат на фиг. 7. where / is the distance between points A, B in the Cartesian coordinate system in FIG. 7.
Кроме того, весовой коэффициент каждого угла может зависеть от значений двух других углов:  In addition, the weight coefficient of each angle may depend on the values of two other angles:
F{Y,e,yf) = fr(0, )F(y) + ίθ{γ,ψ)Ρ{θ) +
Figure imgf000025_0001
F { Y , e, yf) = f r (0,) F (y) + ί θ {γ, ψ) Ρ {θ) +
Figure imgf000025_0001
Кроме того, весовой коэффициент каждого угла может зависеть от вектора скорости (т.е. от величины скорости и направления движения) каждого из устройств в паре, причем направление движения устройства в общем случае может не совпадать с его ориентацией:  In addition, the weight coefficient of each angle may depend on the velocity vector (i.e., on the magnitude of the speed and direction of movement) of each of the devices in a pair, and the direction of movement of the device in the general case may not coincide with its orientation:
F(y,el Vr) = fr{6a)fY{vb)F{Y) + /в ) + щади, где fr{oa) - весовой коэффициент, представляющий собой функцию от вектора скорости мобильного устройства (5), a fr( b) - весовой коэффициент, представляющий собой функцию от вектора скорости другого устройства в паре. F (y, e l V r) = f r {6 a ) f Y (v b ) F (Y) + / c ) + spares, where f r (o a ) is the weight coefficient, which is a function of the velocity vector mobile device (5), af r ( b ) is the weight coefficient, which is a function of the speed vector of another device in a pair.
В качестве устройства-партнера может быть автоматически выбрано устройство, имеющее наименьшее значение функции взаимной ориентации, если разность значений этой функции для данного потенциального устройства-партнера и ближайшего конкурента превышает заранее заданную величину: где Ρ,{γ,θ,ψ) и Ρ γ,θ,ψ) - значения функции взаимной ориентации двух потенциальных устройств-партнеров с наименьшими значениями этой функции по отношению к мобильному устройству (5), AF - заранее заданная величина. As the partner device, the device that has the lowest value of the mutual orientation function can be automatically selected if the difference in the values of this function for this potential partner device and the closest competitor exceeds a predetermined value: where Ρ, {γ, θ, ψ) and Ρ γ, θ, ψ) are the values of the mutual orientation function of two potential partner devices with the smallest values of this function with respect to the mobile device (5), AF is a predetermined value.
В другом случае при автоматическом выборе устройства для соединения может учитываться принадлежность потенциального устройства-партнера к географической зоне (т.е. учитываться приоритет географической зоны), иными словами, AF может являться переменной и зависеть от конкретных потенциальных устройств-партнеров:  In another case, when automatically selecting a device for connection, the affiliation of a potential partner device to a geographic area can be taken into account (i.e., the priority of a geographic area is taken into account), in other words, AF can be a variable and depend on specific potential partner devices:
AF = /(/, ,  AF = / (/,,
где /, j использованы для идентификации оконечных устройств-партнеров. where /, j are used to identify partner terminals.
В случае, если система (9) не может автоматически определить с заданной достоверностью устройство-партнера, например, если в ближней географической зоне сосредоточено большое количество потенциальных устройств-партнеров с близкими координатами, скоростями, направлением движения и т.д., что может наблюдаться, к примеру, в плотном транспортном потоке или в общественном транспорте, то  If the system (9) cannot automatically determine the partner device with a given reliability, for example, if a large number of potential partner devices with close coordinates, speeds, direction of movement, etc. are concentrated in the nearby geographical area, which can be observed , for example, in a dense traffic stream or in public transport, then
пользователю предлагается вручную выбрать устройство для связи из числа наиболее вероятных устройств-партнеров. Результат ручного выбора может заноситься системой (9) в базу данных и впоследствии статистические данные, полученные при анализе такой базы данных, могут использоваться в адаптивном способе выбора устройства-партнера в условиях неопределенности. the user is asked to manually select a device for communication from among the most likely partner devices. The result of manual selection can be entered by the system (9) into the database, and subsequently the statistical data obtained during the analysis of such a database can be used in an adaptive way of selecting a partner device under uncertainty.
На фиг. 8 приведен пример частичной структурной схемы мобильного устройства (5), содержащего приемник спутниковой системы позиционирования, приемник системы сотовой связи, приемник локальной беспроводной сети, приемник сигналов радиомаяков, магнетометр, акселерометр, барометр и гироскоп, а также сенсорную поверхность с соответствующим контроллером, позволяющим определить направление управляющего жеста.  In FIG. Figure 8 shows an example of a partial structural diagram of a mobile device (5) containing a satellite positioning system receiver, a cellular communication system receiver, a local wireless network receiver, a beacon signal receiver, a magnetometer, an accelerometer, a barometer and a gyroscope, as well as a touch surface with an appropriate controller to determine direction of the control gesture.
Сигналы датчиков ориентации (магнетометра, акселерометра, и гироскопа) считываются и обрабатываются устройством обработки сигналов датчиков ориентации, выходными сигналами которого являются углы крена, тангажа и рысканья, которые подаются на устройство формирования данных ориентации. Выходные сигналы устройства формирования данных ориентации представляют собой уточненные углы крена, тангажа и рысканья, а также данные для калибровки датчиков ориентации, которые подаются на устройство связи с сервером (1) для передачи серверу (1) на шагах (21), (25) и (27). Сигналы датчиков геолокации (барометра, приемника спутниковой системы позиционирования, приемника системы сотовой связи, приемника локальной The signals of orientation sensors (magnetometer, accelerometer, and gyroscope) are read and processed by the device for processing the signals of orientation sensors, the output signals of which are the angles of roll, pitch and yaw, which are fed to the device for generating orientation data. The output signals of the orientation data generation device are the adjusted roll, pitch, and yaw angles, as well as data for calibrating the orientation sensors, which are supplied to the server communication device (1) for transmission to the server (1) in steps (21), (25) and (27). Signals of geolocation sensors (barometer, satellite positioning system receiver, cellular communication system receiver, local receiver
беспроводной сети, приемника сигналов радиомаяков) считываются и обрабатываются устройством обработки сигналов датчиков геолокации, выходными сигналами которого являются географическая широта и географическая долгота, скорость и направление движения, отметка времени и высота над уровнем моря. Выходные сигналы устройства формирования данных геолокации представляют собой уточненные географическую широту и географическую долготу, скорость и направление движения, отметку времени и уточненную высоту над уровнем моря, которые формируются в результате сравнения и уточнения входных сигналов, и подаются на устройство связи с сервером (1) для передачи серверу (1) на шагах (21), (25) и (27). a wireless network, a beacon receiver) are read and processed by a signal processing device for geolocation sensors, the output signals of which are geographical latitude and geographical longitude, speed and direction of movement, time stamp and altitude. The output signals of the device for generating geolocation data are the specified geographical latitude and geographical longitude, speed and direction of movement, time stamp and the specified height above sea level, which are formed as a result of comparison and refinement of the input signals, and are sent to the communication device with the server (1) for transfers to the server (1) in steps (21), (25) and (27).
Уточнение данных геолокации выполняется посредством анализа и сравнения данных геолокации, полученных от разных источников. В частности, если в мобильном устройстве (5) доступны данные геолокации от более чем одного источника таких данных, например, от приемника спутниковой системы позиционирования и от приемника наземной системы позиционирования, то мобильное устройство (5) может сравнивать эти данные геолокации и выбирать из них наиболее достоверные. Оценка достоверности может вьшолняться как на основе самих данных геолокации, например, на основе количества спутников, находящихся в зоне радиовидимости мобильного устройства (5), углов видимости этих спутников, номинальной точности определения угловых географических координат и т.п., так и на основе данных других систем, например, на основе статистических данных о количестве и/или процентном  The refinement of geolocation data is performed by analyzing and comparing geolocation data received from different sources. In particular, if geolocation data from more than one source of such data is available in a mobile device (5), for example, from a receiver of a satellite positioning system and from a receiver of a ground-based positioning system, then mobile device (5) can compare these geolocation data and choose from them most reliable. The reliability assessment can be performed both on the basis of the geolocation data themselves, for example, on the basis of the number of satellites located in the radio visibility zone of the mobile device (5), the visibility angles of these satellites, the nominal accuracy of determining the angular geographical coordinates, etc., and on the basis of data other systems, for example, based on statistics on the quantity and / or percentage
соотношении случаев правильного выбора устройств в паре, выполненных на основе данных геолокации от конкретного источника. the ratio of cases of the correct selection of devices in a pair made on the basis of geolocation data from a specific source.
В другом случае вместо выбора наиболее достоверных данных геолокации из нескольких наборов этих данных, возможно уточнение данных геолокации посредством усреднения данных геолокации, полученных от разных источников. Усреднение данных может вьшолняться с применением весовых коэффициентов, которые могут быть статическими или динамическими и могут определяться как на основе самих данных геолокации, например, на основе количества спутников, находящихся в зоне  In another case, instead of selecting the most reliable geolocation data from several sets of these data, it is possible to refine the geolocation data by averaging geolocation data received from different sources. Data averaging can be performed using weighting factors, which can be static or dynamic and can be determined as based on the geolocation data themselves, for example, based on the number of satellites in the zone
радиовидимости мобильного устройства (5), углов видимости этих спутников, номинальной точности определения угловых географических координат и т.п., так и на основе данных других систем, например, на основе статистических данных о количестве и или процентном соотношении удачных случаев соединения устройств в паре, выполненных на основе данных геолокации от конкретного источника. the radio visibility of the mobile device (5), the visibility angles of these satellites, the nominal accuracy of determining the angular geographical coordinates, etc., and based on data from other systems, for example, based on statistics on the number of and or the percentage of successful cases of connecting devices in pairs made on the basis of geolocation data from a specific source.
Кроме того, возможно уточнение данных геолокации посредством внесения поправки, основанной на данных, полученных от одного источника, в данные от другого источника. В частности, значение высоты над уровнем моря, полученное от приемника спутниковой системы позиционирования или от приемника наземной системы  In addition, it is possible to refine the geolocation data by amending, based on data received from one source, data from another source. In particular, the altitude value obtained from a receiver of a satellite positioning system or from a receiver of a ground-based system
позиционирования, может быть уточнено по показаниям барометра. Если значение высоты над уровнем моря невозможно определить из данных, полученных от приемника той или иной системы позиционирования и доступны лишь показания барометра оконечных устройств, то на основании показаний барометра возможно определять разницу высоты над уровнем моря каждой пары оконечных устройств, которая непосредственно может использоваться при определении принадлежности оконечных устройств географической зоне и/или при вычислении расстояния между оконечными устройствами. positioning, can be specified according to the barometer. If the height above sea level cannot be determined from the data received from the receiver of one or another positioning system and only the readings of the barometer of terminal devices are available, then based on the readings of the barometer it is possible to determine the difference in height above sea level of each pair of terminal devices, which can be directly used in determining accessories of terminal devices to a geographical area and / or when calculating the distance between terminal devices.
На фиг. 9 приведен пример схемы процесса опроса датчиков ориентации и вычисления уточненного угла рысканья мобильного устройства (5) в случае плоской географической зоны, когда пара мобильных устройств находится в по существу горизонтальной плоскости.  In FIG. Figure 9 shows an example of a process diagram for interrogating orientation sensors and calculating the specified yaw angle of a mobile device (5) in the case of a flat geographical area when a pair of mobile devices is in a substantially horizontal plane.
На шаге (1300) мобильное устройство (5) выполняет инициализацию числового массива MX размерностью 360 и переменной р, при этом значения элементов массива MX и переменной р устанавливаются равными 0. Значения элементов массива MX  At step (1300), the mobile device (5) initializes the numerical array MX of dimension 360 and the variable p, while the values of the elements of the array MX and the variable p are set to 0. The values of the elements of the MX array
соответствуют частоте их появления в результате вычислений разницы между значением угла рысканья, полученным на основе показаний магнетометра и акселерометра, и значением угла рысканья, полученным на основе показаний гироскопа, описанных далее, а номера этих элементов соответствуют значениям угла рысканья в градусах и correspond to the frequency of their occurrence as a result of calculations of the difference between the yaw angle obtained on the basis of the readings of the magnetometer and the accelerometer and the yaw angle obtained on the basis of the gyro readings described below, and the numbers of these elements correspond to the values of the yaw angle in degrees and
используются далее для вычисления уточненного угла рысканья мобильного устройства (5). Значения переменной р также используются далее для вычисления уточненного угла рысканья. are used further to calculate the adjusted yaw angle of the mobile device (5). The values of the variable p are also used below to calculate the specified yaw angle.
На шаге (1301) мобильное устройство (5) считывает показания магнетометра, акселерометра и гироскопа:  At step (1301), the mobile device (5) reads the readings of the magnetometer, accelerometer and gyroscope:
- показания магнетометра по осям X, Y и Z: magX, magY, magZ;  - readings of the magnetometer along the axes X, Y and Z: magX, magY, magZ;
- показания акселерометра по осям X, Y и Z: ассХ, accY, accZ;  - accelerometer readings along the axes X, Y and Z: assX, accY, accZ;
- показания гироскопа: текущие значения углов тангажа, крена и рысканья - currentPitch, currentRoll, currentYaw, и текущие значения скорости вращения устройства по осям X, Y и Z - rotationRateX, rotationRateY, rotationRateZ. Вычисление углов тангажа, крена и рысканья, а также скорости вращения устройства, которые считьшаются на шаге (1301), вьшолняется с использованием встроенных алгоритмов, реализованных производителем мобильного устройства (5), например, способом, описанным в патентной заявке - gyro readings: current values of pitch, roll and yaw angles - currentPitch, currentRoll, currentYaw, and current values of the device rotation speed along the X, Y axes and Z - rotationRateX, rotationRateY, rotationRateZ. The calculation of the pitch, roll and yaw angles, as well as the rotation speed of the device, which are calculated in step (1301), is performed using built-in algorithms implemented by the manufacturer of the mobile device (5), for example, by the method described in the patent application
US2011004329. В способе по настоящему изобретению используются готовые результаты работы таких алгоритмов, поэтому их подробное описание опущено. US2011004329. The method of the present invention uses the finished results of such algorithms, therefore, a detailed description thereof is omitted.
На шаге (1302) мобильное устройство (5) вычисляет угол рысканья на основе показаний акселерометра и магнетометра:  In step (1302), the mobile device (5) calculates the yaw angle based on the readings of the accelerometer and magnetometer:
Figure imgf000029_0001
Figure imgf000029_0001
heading = arctg^- -j, если (xh > 0) и (yh > 0), где  heading = arctg ^ - -j if (xh> 0) and (yh> 0), where
xh = magX cos (pitch) + magZ sin(pitch); xh = magX cos (pitch) + magZ sin (pitch);
yh = magX sin(roll) sin(pitch) + magY cos (roll) - magZ sin(roll) cos(pitch), yh = magX sin (roll) sin (pitch) + magY cos (roll) - magZ sin (roll) cos (pitch),
где roll pitcwhere roll pitc
Figure imgf000029_0002
Figure imgf000029_0002
На шаге (1303) мобильное устройство (5) вычисляет разницу между значением угла рысканья, полученным на основе показаний магнетометра и акселерометра, и значением угла рысканья, полученным на основе показаний гироскопа: In step (1303), the mobile device (5) calculates the difference between the value of the yaw angle obtained on the basis of the readings of the magnetometer and the accelerometer and the value of the yaw angle obtained on the basis of the gyro readings:
currentR = mod [(heading + currentYaw - p), 360],  currentR = mod [(heading + currentYaw - p), 360],
если mod [(heading + currentYaw - p), 360] > 0;  if mod [(heading + currentYaw - p), 360]> 0;
currentR = mod [(heading + currentYaw - p), 360] + 360,  currentR = mod [(heading + currentYaw - p), 360] + 360,
если mod [(heading + currentYaw - p), 360] < 0,  if mod [(heading + currentYaw - p), 360] <0,
где mod [(heading + currentYaw - p), 360] - оператор вычисления остатка от деления значения (heading + currentYaw - р) на 360. where mod [(heading + currentYaw - p), 360] is the operator of calculating the remainder of dividing the value (heading + currentYaw - p) by 360.
На шаге (1304) мобильное устройство (5) вычисляет разницу между значением currentR и номером mxi наибольшего элемента в массиве MX:  In step (1304), the mobile device (5) calculates the difference between the currentR value and the mxi number of the largest element in the MX array:
df = currentR - mxi. W 201 df = currentR - mxi. W 201
28  28
На шаге (1305) мобильное устройство (5) определяет свое состояние. Определение состояния мобильного устройства (5) - покоя или движения - выполняется на основе показаний акселерометра ассХ, accY, accZ и показаний гироскопа rotationRateX, rotationRateY, rotationRateZ. Способы такого определения хорошо известны в данной области техники и их описание опущено.  In step (1305), the mobile device (5) determines its state. Determination of the state of the mobile device (5) - rest or movement - is based on the readings of the accelerometer assX, accY, accZ and the readings of the gyroscope rotationRateX, rotationRateY, rotationRateZ. Methods for such a determination are well known in the art and are omitted.
На шаге (1306) мобильное устройство (5) корректирует значения элементов массива MX и переменной р в зависимости от результата определения состояния мобильного устройства (5) на шаге (1305).  In step (1306), the mobile device (5) corrects the values of the elements of the MX array and the variable p depending on the result of determining the state of the mobile device (5) in step (1305).
Если разница между значением currentR и номером наибольшего элемента в массиве MX  If the difference is between the value of currentR and the number of the largest element in the MX array
W\ < 5  W \ <5
и после остановки мобильного устройства (5) прошло менее 0,8 с, значение df and after stopping the mobile device (5) less than 0.8 s elapsed, the df value
используется для коррекции значения переменной р, а значение наибольшего элемента в массиве MX увеличивается на единицу: used to correct the value of the variable p, and the value of the largest element in the MX array increases by one:
P = df,  P = df
MX^^ MX^ +l .  MX ^^ MX ^ + l.
Если разница между значением currentR и наибольшим элементом в массиве MX  If the difference is between the currentR value and the largest element in the MX array
W\ > 5  W \> 5
и после остановки мобильного устройства (5) прошло менее 0,8 с, элемент с номером currentR в массиве увеличивается на единицу: and after stopping the mobile device (5) less than 0.8 s passed, the element with the number currentR in the array increases by one:
MXcurrentR ~ MXcurrentR + 1 ·  MXcurrentR ~ MXcurrentR + 1
Если разница между значением currentR и наибольшим элементом в массиве MX  If the difference is between the currentR value and the largest element in the MX array
0 >| | > 17,  0> | | > 17,
после остановки мобильного устройства (5) прошло от 0,3 с до 1,0 и до этого мобильное устройство (5) находилось в движении более 2,5 с, в мобильном устройстве (5) может произойти внутренняя калибровка магнетометра и/или акселерометра и/или гироскопа встроенными алгоритмами, реализованными производителем мобильного устройства (5). В этом случае значение df используется для коррекции значения переменной р, after stopping the mobile device (5), from 0.3 s to 1.0, and before that the mobile device (5) was in motion for more than 2.5 s, internal calibration of the magnetometer and / or accelerometer may occur in the mobile device (5) and / or gyroscope with built-in algorithms implemented by the manufacturer of the mobile device (5). In this case, the value of df is used to correct the value of the variable p,
наибольший элемент в массиве MX увеличивается на единицу: the largest element in the MX array is incremented by one:
p - df,  p - df
ΜΧ^ ^ ΜΧ^, +Ι,  ΜΧ ^ ^ ΜΧ ^, + Ι,
а счетчик времени движения/остановки обнуляется. W and the motion / stop time counter is reset to zero. W
29  29th
Если на шаге (1305) определено, что мобильное устройство (5) движется, то на шаге (1306) вычисленная разница углов рысканья фиксируется в массиве MX, т.е.  If it is determined in step (1305) that the mobile device (5) is moving, then in step (1306), the calculated yaw angle difference is fixed in the MX array, i.e.
элемент с номером currentR в массиве MX увеличивается на единицу: the element with the number currentR in the MX array is incremented by one:
MXcurrenlR = MXcurrentR + 1 · MXcurrenlR = MXcurrentR + 1
При этом вычисленная разница углов рысканья может подвергаться фильтрации, чтобы обеспечить наиболее достоверные данные в массиве. Например, при достаточном быстродействии магнетометра и достаточных вычислительных ресурсах мобильного устройства (5) возможно отфильтровывать значения разницы углов рысканья,  In this case, the calculated yaw angle difference can be filtered to provide the most reliable data in the array. For example, with sufficient speed of the magnetometer and sufficient computing resources of the mobile device (5), it is possible to filter the values of the difference in yaw angles,
изменяющиеся с частотой переменного тока электрических сетей и varying with the frequency of alternating current electrical networks and
электрооборудования, не допуская их попадания в массив. В частности, для эффективной фильтрации «дрожания» показаний магнетометра с частотой 50/60 Гц частота electrical equipment, preventing them from falling into the array. In particular, for effective filtering of “jitter” of the magnetometer readings with a frequency of 50/60 Hz, the frequency
считывания показаний магнетометра должна превышать 100/120 Гц, и предпочтительно должна превышать 200/240 Гц. Кроме того, на основе вероятностного анализа возможно отфильтровывать случайные значения разницы углов рысканья, например, вызванные молниевыми разрядами и т.п. the readings of the magnetometer should exceed 100/120 Hz, and preferably should exceed 200/240 Hz. In addition, based on probabilistic analysis, it is possible to filter out random values of the yaw angle difference, for example, caused by lightning discharges, etc.
После остановки мобильного устройства (5) разница углов рысканья вычисляется на основе данных, считываемых с датчиков ориентации в течение заранее заданного времени. В описанном выше варианте осуществления изобретения это время,  After stopping the mobile device (5), the yaw angle difference is calculated based on data read from orientation sensors for a predetermined time. In the above embodiment, this time,
используемое для заполнения массива MX, составляет 0,8 с, а время, используемое для отслеживания возможной корректировки показаний датчиков внутренними алгоритмами, составляет 1 с. В других вариантах осуществления изобретения это время может зависеть от частоты считывания показаний магнетометра, акселерометра и гироскопа и used to fill the MX array is 0.8 s, and the time used to track possible adjustments to sensor readings by internal algorithms is 1 s. In other embodiments, this time may depend on the frequency of reading the magnetometer, accelerometer, and gyroscope, and
определяться или экспериментально подбираться таким образом, чтобы обеспечить наиболее достоверные данные в массиве MX. Таким образом, описанные выше условия представляют собой предпочтительный вариант для одного вида мобильного устройства (5) и могут отличаться в зависимости от реализации функций магнетометра, be determined or experimentally selected in such a way as to provide the most reliable data in the MX array. Thus, the conditions described above are the preferred option for one type of mobile device (5) and may differ depending on the implementation of the functions of the magnetometer,
акселерометра и гироскопа в конкретном мобильном устройстве (5). Например, они могут автоматически назначаться при установке в мобильном устройстве (5) accelerometer and gyroscope in a specific mobile device (5). For example, they can be automatically assigned when installed on a mobile device (5)
программного обеспечения, реализующего способ по настоящему изобретению, в зависимости от модели мобильного устройства (5), которая определяется указанным программным обеспечением. software implementing the method of the present invention, depending on the model of the mobile device (5), which is determined by the specified software.
На шаге (1307) мобильное устройство (5) вычисляет уточненный угол рысканья, исходя из текущего угла рысканья, определенного на основе показаний гироскопа, и W 201 In step (1307), the mobile device (5) calculates the updated yaw angle based on the current yaw angle determined based on the gyro readings, and W 201
30  thirty
текущего значения переменной р и номера mxi наибольшего значения в массиве MX, используемых в качестве корректирующих значений: the current value of the variable p and the number mxi of the largest value in the MX array, used as correction values:
FusionYaw = mod [(-currentYaw+mxi+p), 360], если mod [(-currentYaw+mxi+p), 360] > 0;  FusionYaw = mod [(-currentYaw + mxi + p), 360] if mod [(-currentYaw + mxi + p), 360]> 0;
FusionYaw = mod [(-currentYaw+mxi+p), 360] + 360,  FusionYaw = mod [(-currentYaw + mxi + p), 360] + 360,
если mod [(-currentYaw+mxi+p), 360] < 0.  if mod [(-currentYaw + mxi + p), 360] <0.
Далее выполняется возврат к шагу (1301).  Next, return to step (1301).
В описанном примере угол рысканья, полученный на основе показаний  In the described example, the yaw angle obtained on the basis of readings
магнетометра, наименее достоверен, поскольку магнетометр подвержен воздействию сторонних магнитных полей, наводимых постоянными магнитами и электрическим током, и искажений магнитного поля Земли, вызванных близостью ферромагнитных или диамагнитных материалов, тем не менее, статистическая обработка данных от датчиков ориентации с использованием этого угла позволяет повысить точность определения действительного угла рысканья мобильного устройства (5). magnetometer, the least reliable, since the magnetometer is exposed to external magnetic fields induced by permanent magnets and electric current, and distortions of the Earth’s magnetic field caused by the proximity of ferromagnetic or diamagnetic materials, however, the statistical processing of data from orientation sensors using this angle improves accuracy determining the actual yaw angle of the mobile device (5).
Кроме того, при вычислении уточненного угла рысканья может учитываться разность между направлением на географический север и на магнитный север, определяемая на основе данных геолокации по заранее заданным корректировочным таблицам, если такая коррекция не применена во встроенных алгоритмах, реализованных производителем мобильного устройства (5).  In addition, when calculating the adjusted yaw angle, the difference between the direction to the geographic north and magnetic north can be taken into account, which is determined on the basis of geolocation data using predefined correction tables, if such correction is not applied in the built-in algorithms implemented by the manufacturer of the mobile device (5).
В описанном выше примере размерность числового массива MX принята равной 360, что обеспечивает разрешающую способность, равную 1°. В других случаях размерность числового массива MX может быть меньше 360 или больше 360. Например, размерность числового массива MX, равная 180, обеспечивает разрешающую  In the example described above, the dimension of the numerical array MX is taken to be 360, which provides a resolution of 1 °. In other cases, the dimension of the numerical array MX may be less than 360 or greater than 360. For example, the dimension of the numerical array MX, equal to 180, provides the resolution
способность, равную 2°, а размерность числового массива MX, равная 720, обеспечивает разрешающую способность, равную 0,5°. capacity equal to 2 °, and the dimension of the numerical array MX, equal to 720, provides a resolution of 0.5 °.
В описанном выше примере мерность числового массива Y принята равной 1, что обеспечивает уточнение одного параметра - угла рысканья. В других случаях мерность числового массива MX может быть другой. Например, для уточнения трех параметров - углов тангажа, крена и рысканья - числовой массив Y может быть трехмерным. Соответственно, количество переменных, используемых для вычисления трех уточненных параметров, также будет равно трем.  In the example described above, the dimension of the numerical array Y is taken equal to 1, which ensures the refinement of one parameter - the yaw angle. In other cases, the dimension of the numerical array MX may be different. For example, to clarify three parameters — pitch, roll, and yaw angles — the numerical array Y can be three-dimensional. Accordingly, the number of variables used to calculate the three specified parameters will also be three.
Предложенный способ уточнения угла рысканья на основе использования аналитических и статистических данных позволяет получить приемлемую достоверность результата при достаточном быстродействии. В большинстве случаев вычисление уточненного угла рысканья занимает время порядка одной секунды, что соизмеримо со временем двигательной реакции пользователя при позиционировании мобильного устройства (5) для установления связи с потенциальным устройством-партнером. The proposed method for specifying the yaw angle based on the use of analytical and statistical data allows to obtain an acceptable reliability of the result with sufficient speed. In most cases, the calculation the specified yaw angle takes a time of the order of one second, which is commensurate with the time of the motor reaction of the user when positioning the mobile device (5) to establish communication with a potential partner device.
В случае неплоской географической зоны сочетание аналитического и  In the case of a non-planar geographical area, a combination of analytical and
статистического подхода для коррекции данных ориентации может использоваться также и для вычисления уточненного угла крена или тангажа в тех положениях мобильного устройства (5), когда угол крена или тангажа, полученный на основе показаний гироскопа и акселерометра, может быть уточнен на основе показаний магнетометра и акселерометра способом, по существу сходным с описанным способом уточнения угла рысканья. В общем случае данные ориентации могут содержать уточненные углы крена, тангажа и рысканья, как показано на фиг. 8. The statistical approach for correcting orientation data can also be used to calculate the adjusted roll or pitch angle in those positions of the mobile device (5), when the roll or pitch angle obtained on the basis of the gyroscope and accelerometer readings can be refined based on the readings of the magnetometer and accelerometer essentially similar to the described method of refining the yaw angle. In general, these orientations may include updated roll, pitch, and yaw angles, as shown in FIG. 8.
Дополнительно, способ в соответствии с настоящим изобретением  Additionally, the method in accordance with the present invention
предусматривает коррекцию данных ориентации и/или калибровку датчиков ориентации с применением жестового управления. В частности, в одном варианте осуществления изобретения во время определения устройства-партнера для обмена данными скользящее движение пальца пользователя по поверхности сенсорного экрана используется для определения направления на потенциальное устройство-партнера, которое передается серверу (1) и используется сервером (1) для выбора устройства-партнера наряду с описанными выше данными ориентации. Это позволяет выбрать устройство-партнера даже в тех случаях, когда точно ориентировать мобильное устройство (5) на provides for the correction of orientation data and / or calibration of orientation sensors using gesture control. In particular, in one embodiment of the invention, when determining a partner device for exchanging data, the sliding movement of the user's finger on the surface of the touch screen is used to determine the direction to the potential partner device, which is transmitted to the server (1) and used by the server (1) to select the device partner along with the orientation data described above. This allows you to choose a partner device, even in cases where you can accurately orient the mobile device (5) to
потенциальное устройство-партнера не представляется возможным и/или когда несколько потенциальных устройств-партнеров, имеющих близкие значения данных ориентации, расположены близко друг к другу, например, в один ряд перед мобильным устройством (5). a potential partner device is not possible and / or when several potential partner devices having similar values of orientation data are located close to each other, for example, in a row in front of a mobile device (5).
Например, в случае горизонтального расположения мобильного устройства (5) скользящее движение (G) пальца пользователя по поверхности сенсорного экрана в направлении (Р) на потенциальное устройство-партнера, как показано на фиг. 10, обнаруживается посредством сенсорного экрана, направление (Р) рассчитывается стандартным встроенным программным обеспечением мобильного устройства (5) и далее используется для определения угла (ψε) между направлением (Р) на потенциальное устройство-партнера и направлением (Ν) на географический или магнитный север, характеризующего фактическое направление на потенциальное устройство-партнера в горизонтальной плоскости, который используется для выбора устройства-партнера непосредственно или сопоставляется с углом рысканья или уточненным углом рысканья (ψ), полученным описанным выше способом и результат этого сопоставления используется для выбора устройства-партнера. В другом случае для коррекции данных ориентации может использоваться угол Δψ, непосредственно определяемый в мобильном устройстве (5). For example, in the case of a horizontal arrangement of the mobile device (5), the sliding movement (G) of the user's finger on the surface of the touch screen in the direction (P) to the potential partner device, as shown in FIG. 10 is detected by means of a touch screen, the direction (P) is calculated by the standard firmware of the mobile device (5) and then used to determine the angle (ψ ε ) between the direction (P) of the potential partner device and the direction (Ν) of the geographical or magnetic north, which characterizes the actual direction to the potential partner device in the horizontal plane, which is used to select the partner device directly or is compared with the yaw or nennym yaw angle (ψ) obtained by the method described above and the result of this comparison is used to select a partner device. In another case, the angle Δψ directly determined in the mobile device (5) can be used to correct orientation data.
Точность определения данных ориентации возможно дополнительно повысить за счет калибровки датчиков ориентации (если такой режим поддерживается встроенным программным обеспечением мобильного устройства (5)) или за счет внесения поправок непосредственно в данные ориентации, обрабатываемые сервером (1). Поправки могут вноситься мобильным устройством (5) до отправки данных ориентации серверу (1) или передаваться серверу (1) и далее вноситься сервером (1). В режиме калибровки мобильные устройства размещаются в заранее заданном положении, например, укладываются на плоскую горизонтальную поверхность вплотную друг к другу и навстречу друг другу, и оба мобильные устройства переводятся пользователями в режим калибровки. Включение режима калибровки указывает серверу (1) на то, что  The accuracy of determining the orientation data can be further improved by calibrating the orientation sensors (if this mode is supported by the firmware of the mobile device (5)) or by making corrections directly to the orientation data processed by the server (1). Corrections can be made by the mobile device (5) before sending the orientation data to the server (1) or transmitted to the server (1) and then made by the server (1). In the calibration mode, mobile devices are placed in a predetermined position, for example, they are laid on a flat horizontal surface close to each other and towards each other, and both mobile devices are transferred by users to calibration mode. Enabling calibration mode indicates to the server (1) that
калибруемые устройства ориентированы точно друг на друга и сервер (1) выявляет погрешности в данных ориентации и учитывает выявленные погрешности в дальнейших вычислениях при выборе устройства-партнера. calibrated devices are oriented exactly to each other and the server (1) identifies errors in the orientation data and takes into account the identified errors in further calculations when choosing a partner device.
В другом варианте осуществления изобретения калибровка датчиков ориентации может проводиться с использованием ориентирования мобильного устройства (5) и/или жестового указания направления на объект с заранее известными точными  In another embodiment of the invention, the calibration of orientation sensors can be carried out using the orientation of the mobile device (5) and / or a gesture indicating the direction to the object with known in advance exact
координатами, например, на стационарное устройство (4). coordinates, for example, to a stationary device (4).
Заявленный способ крайне прост в использовании с точки зрения пользователя. Пользователь мобильного устройства (5) после регистрации на сервере (1) при наличии связи с сервером (1) получает уведомление о готовности системы (9) к работе. Для обмена данными с другим мобильным устройством, зарегистрированным на сервере (1) и имеющим связь с сервером (1), ему достаточно навести мобильное устройство (5) на другое устройство-партнера и после автоматического установления связи с ним дать команду на передачу и/или прием данных. Команда на передачу и/или прием данных в мобильном устройстве (5), предпочтительно реализуется посредством жестового управления, например, в мобильном устройстве (5), оснащенном сенсорным экраном, такая команда может быть подана скользящим движением пальца пользователя по поверхности сенсорного экрана, при этом движение пальца в направлении другого мобильного устройства означает команду на передачу данных, а движение пальца в направлении от другого мобильного устройства означает команду на прием данных. В случаях, если система (9) не способна надежно определить устройство-партнера, пользователю мобильного устройства (5) предлагается вручную выбрать устройство- партнера из списка доступных потенциальных устройств-партнеров. Ручной выбор пользователем устройства-партнера также может выполняться посредством жестового управления, например, прикосновением к изображению устройства-партнера на сенсорном экране мобильного устройства (5). В мобильных устройствах, оснащенных системами распознавания жестов в трехмерном пространстве, для управления системой (9) с успехом могут применяться и такие жестовые команды. Устройством-партнером может быть мобильное устройство, подобное мобильному устройству (5), или The claimed method is extremely easy to use from the point of view of the user. The user of the mobile device (5) after registering with the server (1), if there is a connection with the server (1), receives a notification that the system (9) is ready for operation. To exchange data with another mobile device registered on the server (1) and connected to the server (1), it is enough for him to point the mobile device (5) to another partner device and, after automatically establishing communication with him, give a command to transfer and / or receiving data. The command to transmit and / or receive data in the mobile device (5) is preferably implemented by gesture control, for example, in a mobile device (5) equipped with a touch screen, such a command can be issued by a sliding movement of the user's finger on the surface of the touch screen, while moving a finger in the direction of another mobile device means a command to transmit data, and moving a finger in the direction from another mobile device means a command to receive data. AT In cases where the system (9) is not able to reliably determine the partner device, the user of the mobile device (5) is invited to manually select the partner device from the list of available potential partner devices. Manual selection by a user of a partner device can also be performed by gesture control, for example, by touching the image of the partner device on the touch screen of a mobile device (5). In mobile devices equipped with gesture recognition systems in three-dimensional space, such gesture commands can be successfully used to control system (9). The partner device may be a mobile device similar to a mobile device (5), or
стационарное устройство (4). stationary device (4).
Заявленный способ представляет собой простой и удобный способ обмена данными между пользователями мобильных устройств, например, передачу и прием фотоизображений. Кроме того, этот способ представляет собой простой и удобный способ обмена данными между пользователем мобильного устройства и пользователем стационарного устройства, а также между пользователем мобильного устройства и автоматической информационной системой, например, системой рекламы по запросу, автоматической справочной системой, электронным гидом и т.п., в которых для получения интересующей информации следует сориентировать мобильное устройство в направлении, указанном на соответствующем указателе, и подтвердить свое желание получить эту информацию.  The claimed method is a simple and convenient way to exchange data between users of mobile devices, for example, the transmission and reception of photo images. In addition, this method is a simple and convenient way to exchange data between a user of a mobile device and a user of a stationary device, as well as between a user of a mobile device and an automatic information system, for example, an on-demand advertising system, an automatic help system, an electronic guide, etc. ., in which, in order to obtain the information of interest, one should orient the mobile device in the direction indicated on the corresponding pointer and confirm its desire by teach the information.
Использование в заявленном способе привязки к географической зоне позволяет реализовать некоторые дополнительные режимы обмена, например, широковещательный запрос на помощь, который может сделать пользователь мобильного устройства (5), и который может быть принят всеми потенциальными устройствами-партнерами, расположенными в этой географической зоне или в смежных географических зонах, если их пользователями разрешен прием таких запросов. Подобный режим позволяет ускорить получение помощи, например, в горной местности, в лесной местности, на воде и т.п. Кроме того, подобным образом может быть реализовано широковещательное оповещение об опасности, например, об опасности схода снежных лавин, о техногенных катастрофах, о дорожно-транспортных происшествиях, о совершенных правонарушениях и т.п.  Using the binding to a geographical area in the claimed method allows implementing some additional exchange modes, for example, a broadcast request for help, which a user of a mobile device can make (5), and which can be accepted by all potential partner devices located in this geographical area or in adjacent geographical areas, if their users are allowed to receive such requests. This mode allows you to speed up assistance, for example, in the mountains, in the forest, on the water, etc. In addition, a broadcast warning about the danger, for example, about the danger of avalanches, about man-made disasters, about road accidents, about committed offenses, etc. can be implemented in a similar way.
Заявленный способ позволяет реализовать также и другие услуги, к примеру, уведомление о появлении неподалеку мобильного устройства того или иного пользователя системы (9), например, имеющего статус «друга», или о доступности определенных товаров или услуг, например, автомобильной заправки, банка или кафе. The claimed method also allows you to implement other services, for example, notification of the appearance of a nearby mobile device of one or another a user of the system (9), for example, having the status of a “friend”, or about the availability of certain goods or services, for example, a gas station, bank or cafe.
Основным техническим результатом настоящего изобретения является реализация более простого в использовании способа беспроводной передачи данных между оконечными устройствами с более надежным (достоверным) автоматическим  The main technical result of the present invention is the implementation of an easier to use method of wireless data transfer between terminal devices with more reliable (reliable) automatic
определением пары устройств, участвующих в передаче данных, на основе взаимного расположения этих устройств, по сравнению с существующим уровнем техники. the definition of a pair of devices involved in data transfer, based on the relative position of these devices, compared with the existing level of technology.
Дополнительным техническим результатом настоящего изобретения является повышение быстродействия способа за счет оптимизации информационного обмена оконечного устройства с сервером.  An additional technical result of the present invention is to increase the speed of the method by optimizing the information exchange of the terminal device with the server.
Дополнительным техническим результатом настоящего изобретения является реализация дополнительных видов обслуживания пользователей мобильных устройств на основе предложенного способа беспроводной передачи данных.  An additional technical result of the present invention is the implementation of additional types of services for users of mobile devices based on the proposed method of wireless data transmission.
Устройства, средства, элементы, способы и признаки настоящего изобретения могут сочетаться в различных вариантах осуществления изобретения, если они не противоречат друг другу. Описанные выше варианты осуществления изобретения приведены исключительно с иллюстративной целью и не предназначены для  Devices, means, elements, methods and features of the present invention can be combined in various embodiments of the invention, if they do not contradict each other. The embodiments described above are for illustrative purposes only and are not intended to
ограничения объема настоящего изобретения, определяемого формулой изобретения. Все разумные модификации, модернизации и эквивалентные замены в конструкции, составе и принципе действия, выполненные в пределах сущности настоящего изобретения, входят в объем настоящего изобретения. limiting the scope of the present invention defined by the claims. All reasonable modifications, upgrades and equivalent replacements in the design, composition and principle of operation, performed within the essence of the present invention, are included in the scope of the present invention.
Способ и его части (шаги) в соответствии с настоящим изобретением могут быть реализованы посредством программного обеспечения, или посредством аппаратного обеспечения, или посредством сочетания программного и аппаратного обеспечения. Помимо явно указанных в описании, аппаратное обеспечение может содержать одно или несколько из следующих устройств: программируемое вычислительное устройство (процессор), устройство программируемой логики, специализированную интегральную микросхему, запоминающее устройство, интерфейсную микросхему, графический дисплей, акустический излучатель, визуальный индикатор, вибрационный индикатор, клавиатуру, сенсорную поверхность, оптический датчик, источник питания и иные устройства, необходимые и достаточные для реализации способа и характерные для мобильных и стационарных оконечных устройств.  The method and its parts (steps) in accordance with the present invention can be implemented by software, or by hardware, or by a combination of software and hardware. In addition to explicitly indicated in the description, the hardware may contain one or more of the following devices: a programmable computing device (processor), a programmable logic device, a specialized integrated circuit, a storage device, an interface chip, a graphic display, an acoustic emitter, a visual indicator, a vibration indicator, a keyboard, a touch surface, an optical sensor, a power source and other devices necessary and sufficient for implementing the method and akternye for mobile and stationary endpoint devices.

Claims

ФОРМУЛА ИЗОБРЕТЕНИЯ CLAIM
1. Способ беспроводной передачи данных между оконечными устройствами, содержащий следующие шаги:  1. A method for wireless data transfer between terminal devices, comprising the following steps:
(al) устанавливают соединение оконечных устройств с сервером;  (al) establish a connection of terminal devices with the server;
(а2) определяют данные геолокации оконечных устройств и передают их серверу; (A2) determine the geolocation data of the terminal devices and transmit them to the server;
(аЗ) определяют данные ориентации оконечных устройств; (a3) determine the orientation data of the terminal devices;
(а4) определяют потенциальных устройств-партнеров для каждого оконечного устройства на основе данных геолокации;  (a4) identify potential partner devices for each terminal device based on geolocation data;
(а5) направляют два оконечных устройства, между которыми необходимо осуществить передачу данных, друг на друга;  (a5) send two terminal devices between which it is necessary to transfer data to each other;
(аб) определяют первое оконечное устройство, инициирующее установление связи с потенциальным устройством-партнером, на основе данных ориентации оконечных устройств;  (ab) determining a first terminal device initiating communication with a potential partner device based on the orientation data of the terminal devices;
(а7) передают серверу данные ориентации первого оконечного устройства;  (a7) transmitting orientation data of the first terminal device to the server;
(а8) определяют второе оконечное устройство, представляющее собой устройство партнера для первого оконечного устройства, на основе данных геолокации и данных ориентации первого оконечного устройства и потенциальных устройств-партнеров;  (a8) determining a second terminal device, which is a partner device for the first terminal device, based on geolocation data and orientation data of the first terminal device and potential partner devices;
(а9) устанавливают соединение между первым оконечным устройством и вторым оконечным устройством;  (a9) establish a connection between the first terminal device and the second terminal device;
(аЮ) передают данные между первым оконечным устройством и вторым оконечным устройством;  (aj) transmitting data between the first terminal device and the second terminal device;
(al 1) разрывают соединение между первым оконечным устройством и вторым оконечным устройством.  (al 1) disconnect the connection between the first terminal device and the second terminal device.
2. Способ по п. 1, отличающийся тем, что на шаге (а4) дополнительно сохраняют в первом оконечном устройстве краткую информацию о потенциальных устройствах- партнерах для ускорения получения с сервера расширенной информации о  2. The method according to p. 1, characterized in that at step (a4), brief information about potential partner devices is additionally stored in the first terminal device to expedite the receipt from the server of extended information about
потенциальных устройствах-партнерах для первого оконечного устройства. potential partner devices for the first terminal device.
3. Способ по п. 2, отличающийся тем, что дополнительно кешируют в сервере расширенную информацию о потенциальных устройствах-партнерах для первого оконечного устройства.  3. The method according to p. 2, characterized in that it further caches in the server extended information about potential partner devices for the first terminal device.
4. Способ по п. 1, отличающийся тем, что на шаге (аб) дополнительно проверяют, соединено ли первое оконечное устройство со вторым оконечным устройством. 4. The method according to p. 1, characterized in that at step (ab) additionally check whether the first terminal device is connected to the second terminal device.
5. Способ по п. 4, отличающийся тем, что если установлено, что первое оконечное устройство не соединено со вторым оконечным устройством, проверяют, находится первое оконечное устройство в состоянии движения или в состоянии покоя. 5. The method according to p. 4, characterized in that if it is established that the first terminal device is not connected to the second terminal device, check whether the first terminal device is in a state of motion or at rest.
6. Способ по п. 5, отличающийся тем, что если установлено, что первое оконечное устройство находится в состоянии движения, проверяют, является предыдущее состояние первого оконечного устройства состоянием движения или состоянием покоя.  6. The method according to p. 5, characterized in that if it is established that the first terminal device is in a state of motion, check whether the previous state of the first terminal device is a state of motion or a state of rest.
7. Способ по п. 6, отличающийся тем, что если установлено, что предыдущее состояние первого оконечного устройства является состоянием покоя, выполняют переход к шагу (а8).  7. The method according to p. 6, characterized in that if it is established that the previous state of the first terminal device is a state of rest, go to step (a8).
8. Способ по п. 6, отличающийся тем, что если установлено, что предыдущее состояние первого оконечного устройства является состоянием движения, выполняют переход к шагу (а2).  8. The method according to p. 6, characterized in that if it is established that the previous state of the first terminal device is a state of motion, go to step (a2).
9. Способ по п. 5, отличающийся тем, что если установлено, что первое оконечное устройство находится в состоянии покоя, проверяют наличие запроса с сервера на соединение со вторым оконечным устройством.  9. The method according to p. 5, characterized in that if it is established that the first terminal device is at rest, check for a request from the server to connect to the second terminal device.
10. Способ по п. 9, отличающийся тем, что если обнаружен запрос с сервера на соединение со вторым оконечным устройством, выполняют переход к шагу (а9).  10. The method according to p. 9, characterized in that if a request is found from the server to connect to the second terminal device, proceed to step (a9).
11. Способ по п. 9, отличающийся тем, что если не обнаружен запрос с сервера на соединение со вторым оконечным устройством, проверяют, является предыдущее состояние первого оконечного устройства состоянием движения или состоянием покоя.  11. The method according to p. 9, characterized in that if there is no request from the server to connect to the second terminal device, check whether the previous state of the first terminal device is a motion state or a rest state.
12. Способ по п. 11, отличающийся тем, что если установлено, что предыдущее состояние первого оконечного устройства является состоянием движения, выполняют переход к шагу (а7).  12. The method according to p. 11, characterized in that if it is established that the previous state of the first terminal device is a state of motion, go to step (a7).
13. Способ по п. 11, отличающийся тем, что если установлено, что предыдущее состояние первого оконечного устройства является состоянием покоя, выполняют переход к шагу (а2).  13. The method according to p. 11, characterized in that if it is established that the previous state of the first terminal device is at rest, go to step (a2).
14. Способ по п. 4, отличающийся тем, что если установлено, что первое оконечное устройство соединено со вторым оконечным устройством, проверяют наличие запроса с сервера на разъединение со вторым оконечным устройством.  14. The method according to p. 4, characterized in that if it is established that the first terminal device is connected to the second terminal device, check for a request from the server to disconnect from the second terminal device.
15. Способ по п. 14, отличающийся тем, что если обнаружен запрос с сервера на разъединение со вторым оконечным устройством, выполняют переход к шагу (al 1).  15. The method according to p. 14, characterized in that if a request is found from the server to disconnect from the second terminal device, proceed to step (al 1).
16. Способ по п. 14, отличающийся тем, что если не обнаружен запрос с сервера на разъединение со вторым оконечным устройством, выполняют переход к шагу (аЮ). 16. The method according to p. 14, characterized in that if there is no request from the server to disconnect from the second terminal device, the transition to step (aU) is performed.
17. Способ по п. 5, отличающийся тем, что состояние покоя и состояние движения определяют, соответственно, как состояние покоя и состояние движения первого оконечного устройства относительно потенциальных устройств-партнеров. 17. The method according to p. 5, characterized in that the rest state and the state of movement are determined, respectively, as the rest state and the state of movement of the first terminal device relative to potential partner devices.
18. Способ по п. 1, отличающийся тем, что на шаге (а4) дополнительно  18. The method according to p. 1, characterized in that at step (a4) additionally
определяют географическую зону, которой принадлежит каждое потенциальное устройство-партнер, и определение второго оконечного устройства на шаге (а8) выполняют с учетом приоритета географической зоны. determining the geographical area to which each potential partner device belongs, and determining the second terminal device in step (a8) is performed taking into account the priority of the geographical area.
19. Способ по п. 18, отличающийся тем, что географическую зону и приоритет географической зоны определяют на основе расстояния между оконечными  19. The method according to p. 18, characterized in that the geographical area and the priority of the geographical area is determined based on the distance between the terminal
устройствами. devices.
20. Способ по п. 1, отличающийся тем, что передачу данных между первым оконечным устройством и вторым оконечным устройством на шаге (а 10) осуществляют непосредственно между первым оконечным устройством и вторым оконечным устройством через соединение, установленное на шаге (а9).  20. The method according to p. 1, characterized in that the data transmission between the first terminal device and the second terminal device in step (a 10) is carried out directly between the first terminal device and the second terminal device through the connection established in step (a9).
21. Способ по п. 1, отличающийся тем, что передачу данных между первым оконечным устройством и вторым оконечным устройством на шаге (а 10) частично осуществляют непосредственно между первым оконечным устройством и вторым оконечным устройством через соединение, установленное на шаге (а9), а частично - через соединение первого и второго оконечных устройств с сервером, установленное на шаге (al).  21. The method according to p. 1, characterized in that the data transmission between the first terminal device and the second terminal device in step (a 10) is partially carried out directly between the first terminal device and the second terminal device through the connection established in step (a9), and partially through the connection of the first and second terminal devices to the server, established in step (al).
22. Способ по п. 1, отличающийся тем, что передачу данных между первым оконечным устройством и вторым оконечным устройством на шаге (аЮ) осуществляют через соединение первого и второго оконечных устройств с сервером, установленное на шаге (al).  22. The method according to p. 1, characterized in that the data transmission between the first terminal device and the second terminal device in step (aY) is carried out through the connection of the first and second terminal devices with the server installed in step (al).
23. Способ по п. 21, отличающийся тем, что начатую передачу данных между первым оконечным устройством и вторым оконечным устройством на шаге (аЮ) через соединение первого и второго оконечных устройств с сервером продолжают после выполнения шага (al 1).  23. The method according to p. 21, characterized in that the data transfer started between the first terminal device and the second terminal device in step (aU) through the connection of the first and second terminal devices to the server continues after step (al 1).
24. Способ по п. 22, отличающийся тем, что начатую передачу данных между первым оконечным устройством и вторым оконечным устройством на шаге (а 10) через соединение первого и второго оконечных устройств с сервером продолжают после выполнения шага (al 1). 24. The method according to p. 22, characterized in that the data transfer started between the first terminal device and the second terminal device in step (a 10) through the connection of the first and second terminal devices to the server continues after step (al 1).
25. Способ по п. 1, отличающийся тем, что начатую передачу данных между первым оконечным устройством и вторым оконечным устройством на шаге (а 10) продолжают даже в том случае, если выполнение прочих шагов способа остановлено. 25. The method according to p. 1, characterized in that the data transfer started between the first terminal device and the second terminal device in step (a 10) is continued even if the other steps of the method are stopped.
26. Способ по п. 1, отличающийся тем, что данные ориентации первого  26. The method according to p. 1, characterized in that the orientation data of the first
оконечного устройства и потенциальных устройств-партнеров на шаге (а8) представляют собой углы тангажа, крена и рысканья и скорость вращения каждого оконечного устройства вокруг трех осей, образующих ортогональную систему координат. of the terminal device and potential partner devices at step (a8) are the pitch, roll and yaw angles and the rotation speed of each terminal device around three axes forming an orthogonal coordinate system.
27. Способ по п. 26, отличающийся тем, что данные ориентации первого оконечного устройства и потенциальных устройств-партнеров на шаге (а8)  27. The method according to p. 26, characterized in that the orientation data of the first terminal device and potential partner devices in step (a8)
дополнительно содержат уточненные значения, по меньшей мере, одного из углов тангажа, крена и рысканья, по меньшей мере, одного из оконечных устройств. additionally contain refined values of at least one of the pitch, roll and yaw angles of at least one of the terminal devices.
28. Способ по п. 27, отличающийся тем, что уточнение значения, по меньшей мере, одного из углов тангажа, крена и рысканья содержит следующие шаги:  28. The method according to p. 27, characterized in that the specification of the value of at least one of the angles of pitch, roll and yaw contains the following steps:
(Ы) инициализируют числовой массив и переменную;  (S) initialize a numeric array and a variable;
(Ь2) считывают показания магнетометра, акселерометра и гироскопа;  (B2) read the readings of the magnetometer, accelerometer and gyroscope;
(ЬЗ) вычисляют значения углов тангажа, крена и рысканья и скорости вращения первого оконечного устройства;  (B3) calculate the pitch, roll and yaw angles and the rotation speed of the first terminal device;
(Ь4) вычисляют разницу между значением, по меньшей мере, одного из углов тангажа, крена и рысканья, вычисленным на основе показаний магнетометра, и значением того же угла, вычисленным на основе показаний гироскопа;  (B4) calculating the difference between the value of at least one of the pitch, roll and yaw angles calculated based on the readings of the magnetometer and the value of the same angle calculated based on the readings of the gyroscope;
(Ь5) вычисляют разницу между значением, полученным на шаге (Ь4), и номером наибольшего элемента в числовом массиве;  (B5) calculate the difference between the value obtained in step (b4) and the number of the largest element in the number array;
(Ь6) определяют, находится первое оконечное устройство в состоянии покоя или в состоянии движения, на основе значений скорости вращения первого оконечного устройства, вычисленных на шаге (ЬЗ);  (B6) determine whether the first terminal device is at rest or in a state of motion based on the rotation speed values of the first terminal device calculated in step (b3);
(Ь7) если на шаге (Ь6) определено, что первое оконечное устройство находится в состоянии движения, значение элемента числового массива с номером, равным результату вычисления на шаге (Ь4), увеличивают на единицу;  (B7) if at step (b6) it is determined that the first terminal device is in a state of motion, the value of an element of a numerical array with a number equal to the calculation result in step (b4) is increased by one;
(Ь8) если на шаге (Ь6) определено, что первое оконечное устройство находится в состоянии покоя, вычисляют время, прошедшее после остановки первого оконечного устройства, и время, в течение которого первое оконечное устройство находилось в состоянии движения до его остановки, и проверяют выполнение первого, второго и третьего заранее заданных условий в отношении, по меньшей мере, одной из следующих величин: времени, прошедшего после остановки первого оконечного устройства, времени, в течение которого первое оконечное устройство находилось в состоянии движения до его остановки, и результата вычисления на шаге (Ь5); (B8) if it was determined in step (b6) that the first terminal device is at rest, the time elapsed after the first terminal device has stopped and the time during which the first terminal device has been in motion before it is stopped, and verify that the first, second, and third predetermined conditions with respect to at least one of the following values: the time elapsed after the first terminal device has stopped, the time during which the first terminal device was in a state of motion before it stopped, and the calculation result in step (b5);
(Ь9) если выполнено первое заранее заданное условие, значение переменной принимают равным результату вычисления на шаге (Ь5), а значение наибольшего элемента числового массива увеличивают на единицу;  (B9) if the first predefined condition is satisfied, the value of the variable is taken equal to the result of the calculation in step (b5), and the value of the largest element of the number array is increased by one;
(Ь10) если выполнено второе заранее заданное условие, значение элемента числового массива с номером, равным результату вычисления на шаге (Ь4), увеличивают на единицу;  (B10) if the second predetermined condition is fulfilled, the value of the element of a numerical array with a number equal to the calculation result in step (b4) is increased by one;
(bl 1) если выполнено третье заранее заданное условие, значение переменной принимают равным результату вьиисления на шаге (Ь5), значение наибольшего элемента числового массива увеличивают на единицу, а значения времени, прошедшего после остановки первого оконечного устройства, и времени, в течение которого первое оконечное устройство находилось в состоянии движения до его остановки, обнуляют;  (bl 1) if the third predefined condition is met, the value of the variable is taken equal to the result of the calculation in step (b5), the value of the largest element of the number array is increased by one, and the time elapsed after the first terminal device is stopped, and the time during which the first the terminal device was in a state of motion until it stopped, zeroed;
(Ь12) уточняют значения, по меньшей мере, одного из углов тангажа, крена и рысканья, на основе номера наибольшего элемента числового массива и значения переменной;  (B12) specify the values of at least one of the pitch, roll and yaw angles based on the number of the largest element of the number array and the value of the variable;
(ЫЗ) выполняют возврат к шагу (Ь2).  (B3) return to step (b2).
29. Способ по п. 28, отличающийся тем, что на шаге (Ь4) вычисляют разницу между значением, по меньшей мере, одного из углов тангажа, крена и рысканья, вычисленным на основе показаний магнетометра и акселерометра, и значением того же угла, вычисленным на основе показаний гироскопа.  29. The method according to p. 28, characterized in that at step (b4) calculate the difference between the value of at least one of the angles of pitch, roll and yaw calculated on the basis of the readings of the magnetometer and accelerometer, and the value of the same angle calculated based on gyro readings.
30. Способ по п. 28, отличающийся тем, что на шаге (Ь4) вычисляют разницу между значением, по меньшей мере, одного из углов тангажа, крена и рысканья, вычисленным на основе показаний магнетометра, и значением того же угла,  30. The method according to p. 28, characterized in that at step (b4) calculate the difference between the value of at least one of the pitch, roll and yaw angles calculated on the basis of the magnetometer and the value of the same angle,
вычисленным на основе показаний гироскопа и акселерометра. calculated on the basis of the gyroscope and accelerometer readings.
31. Способ по п. 27, отличающийся тем, что уточнение значения, по меньшей мере, одного из углов тангажа, крена и рысканья дополнительно содержит следующие шаги:  31. The method according to p. 27, characterized in that the specification of the value of at least one of the angles of pitch, roll and yaw further comprises the following steps:
(cl) считывают скользящее движение пальца пользователя первого оконечного устройства в направлении второго оконечного устройства;  (cl) reading the sliding motion of the finger of the user of the first terminal device in the direction of the second terminal device;
(с2) вычисляют направление движения пальца пользователя первого оконечного устройства;  (c2) calculate the direction of movement of the finger of the user of the first terminal device;
(сЗ) уточняют значение, по меньшей мере, одного из углов тангажа, крена и рысканья, на основании направления движения, вычисленного на шаге (с2). (c3) specify the value of at least one of the pitch, roll and yaw angles based on the direction of motion calculated in step (c2).
32. Способ по п. 27, отличающийся тем, что для уточнения значения, по меньшей мере, одного из углов тангажа, крена и рысканья, выполняют калибровку датчиков ориентации, содержащую следующие шаги: 32. The method according to p. 27, characterized in that to clarify the values of at least one of the angles of pitch, roll and yaw, calibrate orientation sensors, comprising the following steps:
(dl) располагают два оконечных устройства, между которыми необходимо осуществить передачу данных, в одной плоскости вплотную друг к другу, так, чтобы они были направлены друг на друга;  (dl) have two terminal devices, between which it is necessary to transmit data, in the same plane close to each other, so that they are directed at each other;
(d2) включают режим калибровки в обоих оконечных устройствах;  (d2) enable calibration mode in both end devices;
(d3) передают серверу значения, по меньшей мере, одного из углов тангажа, крена и рысканья обоих оконечных устройств;  (d3) transmitting to the server the values of at least one of the pitch, roll and yaw angles of both terminal devices;
(d4) вычисляют и записывают в базу данных в сервере погрешности, по меньшей мере, одного из углов тангажа, крена и рысканья, по меньшей мере, одного из этих оконечных устройств;  (d4) calculating and writing to the database in the server the errors of at least one of the pitch, roll and yaw angles of at least one of these terminal devices;
(d5) уточняют значения, по меньшей мере, одного из углов тангажа, крена и рысканья, по меньшей мере, одного из этих оконечных устройств, на основе  (d5) specify the values of at least one of the pitch, roll and yaw angles of at least one of these terminal devices, based on
погрешностей, вычисленных на шаге (d4). the errors calculated in step (d4).
33. Способ по п. 27, отличающийся тем, что для уточнения значения, по меньшей мере, одного из углов тангажа, крена и рысканья, выполняют калибровку датчиков ориентации, содержащую следующие шаги:  33. The method according to p. 27, characterized in that to clarify the values of at least one of the angles of pitch, roll and yaw, calibrate the orientation sensors, comprising the following steps:
(el) направляют первое оконечное устройство на объект с заранее известными точными координатами;  (el) directing the first terminal device to an object with predetermined exact coordinates;
(е2) включают режим калибровки в первом оконечном устройстве;  (e2) include a calibration mode in the first terminal device;
(еЗ) передают серверу значения, по меньшей мере, одного из углов тангажа, крена и рысканья первого оконечного устройства;  (e3) transmitting to the server the values of at least one of the pitch, roll and yaw angles of the first terminal device;
(е4) вычисляют и записывают в базу данных в сервере погрешности, по меньшей мере, одного из углов тангажа, крена и рысканья первого оконечного устройства;  (e4) calculating and writing to the database in the server the errors of at least one of the pitch, roll and yaw angles of the first terminal device;
(е5) уточняют значения, по меньшей мере, одного из углов тангажа, крена и рысканья первого оконечного устройства на основе погрешностей, вычисленных на шаге (е4).  (e5) specify the values of at least one of the pitch, roll and yaw angles of the first terminal device based on the errors calculated in step (e4).
34. Способ по п. 1, отличающийся тем, что определение второго оконечного устройства на шаге (а8) выполняют вручную пользователем первого оконечного устройства, если способ не позволяет автоматически определить второе оконечное устройство с требуемой надежностью. 34. The method according to p. 1, characterized in that the determination of the second terminal device in step (a8) is performed manually by the user of the first terminal device, if the method does not automatically detect the second terminal device with the required reliability.
35. Способ по п. 34, отличающийся тем, что определение второго оконечного устройства выполняют на основе расширенной информации о потенциальных устройствах-партнерах, которую получают с сервера. 35. The method according to p. 34, characterized in that the determination of the second terminal device is performed based on the extended information about potential partner devices that is received from the server.
36. Способ по п. 34, отличающийся тем, что результат ручного определения заносят в базу данных в сервере, подвергают статистической обработке и результат статистической обработки впоследствии используют на шаге (а8) для повышения надежности определения второго оконечного устройства.  36. The method according to p. 34, characterized in that the result of manual determination is entered into the database in the server, subjected to statistical processing and the result of statistical processing is subsequently used in step (a8) to increase the reliability of determining the second terminal device.
37. Способ по любому из предыдущих пунктов, отличающийся тем, что на основе данных геолокации оконечных устройств реализуют многоадресный режим передачи данных от первого оконечного устройства другим оконечным устройствам, в отношении которых выполнено заранее заданное условие.  37. The method according to any one of the preceding paragraphs, characterized in that based on the data of the geolocation of the terminal devices, a multicast data transmission mode is implemented from the first terminal device to other terminal devices with respect to which a predetermined condition is satisfied.
38. Система для беспроводной передачи данных между оконечными  38. System for wireless data transmission between terminal
устройствами, содержащая удаленный сервер, транспортную сеть и, по меньшей мере, два оконечных устройства, выполненная с возможностью осуществления способа, охарактеризованного в любом из предыдущих пунктов. devices comprising a remote server, a transport network, and at least two terminal devices, configured to implement the method described in any of the preceding paragraphs.
PCT/RU2013/000752 2013-07-11 2013-08-30 Method and system for transferring data between devices, taking into account the relative positions thereof WO2015005820A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2013132026/08A RU2013132026A (en) 2013-07-11 2013-07-11 METHOD AND SYSTEM FOR WIRELESS DATA TRANSFER BETWEEN TERMINAL DEVICES TAKING INTO ACCOUNT MUTUAL LOCATION OF DEVICES
RU2013132026 2013-07-11

Publications (1)

Publication Number Publication Date
WO2015005820A1 true WO2015005820A1 (en) 2015-01-15

Family

ID=52280353

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2013/000752 WO2015005820A1 (en) 2013-07-11 2013-08-30 Method and system for transferring data between devices, taking into account the relative positions thereof

Country Status (2)

Country Link
RU (1) RU2013132026A (en)
WO (1) WO2015005820A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110196046A (en) * 2015-11-16 2019-09-03 华为终端有限公司 Localization method and equipment
FR3116690A1 (en) * 2020-11-24 2022-05-27 Orange Method of communication between at least two corresponding terminals, communication device and computer program.

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110154014A1 (en) * 2009-12-18 2011-06-23 Sony Ericsson Mobile Communications Ab Data exchange for mobile devices
US20120214507A1 (en) * 2010-10-08 2012-08-23 HJ Laboratories, LLC Apparatus and method for providing indoor location, position, or tracking of a mobile computer using building information
US20130113993A1 (en) * 2011-11-04 2013-05-09 Remote TelePointer, LLC Method and system for user interface for interactive devices using a mobile device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110154014A1 (en) * 2009-12-18 2011-06-23 Sony Ericsson Mobile Communications Ab Data exchange for mobile devices
US20120214507A1 (en) * 2010-10-08 2012-08-23 HJ Laboratories, LLC Apparatus and method for providing indoor location, position, or tracking of a mobile computer using building information
US20130113993A1 (en) * 2011-11-04 2013-05-09 Remote TelePointer, LLC Method and system for user interface for interactive devices using a mobile device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110196046A (en) * 2015-11-16 2019-09-03 华为终端有限公司 Localization method and equipment
CN110196046B (en) * 2015-11-16 2022-11-22 华为终端有限公司 Positioning method and device
FR3116690A1 (en) * 2020-11-24 2022-05-27 Orange Method of communication between at least two corresponding terminals, communication device and computer program.

Also Published As

Publication number Publication date
RU2013132026A (en) 2015-01-20

Similar Documents

Publication Publication Date Title
US11082818B2 (en) Method and apparatus for requesting a transport vehicle from a mobile device
US10750470B2 (en) Systems and methods for determining if a receiver is inside or outside a building or area
EP3590288B1 (en) Supporting the creation of a radio map
US10535273B2 (en) Unmanned aerial vehicle and method for reconfiguring geofence region thereof using electronic device
US8548738B1 (en) Constructing paths based on a particle model
JPWO2017017984A1 (en) Mobile object identification system and identification method
EP3443785A1 (en) Access point mobility indication
JP2015531054A (en) Method, node and computer program for device location confirmation
US10659916B2 (en) Retrospective path analysis
WO2018060545A1 (en) Positioning
WO2017045461A1 (en) Position determination of a mobile device in an emergency
WO2015005820A1 (en) Method and system for transferring data between devices, taking into account the relative positions thereof
JP2017096867A (en) Building damage determination method
JP6514101B2 (en) Communication relay device
JP6786657B2 (en) Communication relay device
JP4059154B2 (en) Information transmission / reception device, information transmission / reception program
JP2006112936A (en) Mobile terminal and positioning system
CN112817337B (en) Method, device and equipment for acquiring path and readable storage medium
JP2004221991A (en) Position detector, position detection system, position detection method and position detection program
KR101058098B1 (en) A terminal and a system for measuring its own location according to the location information of another terminal and the reliability of the location information and a method for measuring the location
KR20230124084A (en) Positioning systems, methods, and computer program products utilizing inputs from geostationary communications satellites
JP2013025781A (en) System for displaying information about moving subject located out of field of view by superposition on device screen projecting field of view
KR20100103772A (en) Method and system for serving geographical information image of mobile terminal

Legal Events

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

Ref document number: 13889121

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM1205A DATED 20.04.2016)

122 Ep: pct application non-entry in european phase

Ref document number: 13889121

Country of ref document: EP

Kind code of ref document: A1