[go: up one dir, main page]

RU2676881C2 - Peer-to-peer device movement communications - Google Patents

Peer-to-peer device movement communications Download PDF

Info

Publication number
RU2676881C2
RU2676881C2 RU2015138977A RU2015138977A RU2676881C2 RU 2676881 C2 RU2676881 C2 RU 2676881C2 RU 2015138977 A RU2015138977 A RU 2015138977A RU 2015138977 A RU2015138977 A RU 2015138977A RU 2676881 C2 RU2676881 C2 RU 2676881C2
Authority
RU
Russia
Prior art keywords
computing device
received
movement
information
message
Prior art date
Application number
RU2015138977A
Other languages
Russian (ru)
Other versions
RU2015138977A (en
RU2015138977A3 (en
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 RU2015138977A publication Critical patent/RU2015138977A/en
Publication of RU2015138977A3 publication Critical patent/RU2015138977A3/ru
Application granted granted Critical
Publication of RU2676881C2 publication Critical patent/RU2676881C2/en

Links

Images

Classifications

    • 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/027Services making use of location information using location based information parameters using movement velocity, acceleration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/222Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area
    • 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/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • 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/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephone Function (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Navigation (AREA)

Abstract

FIELD: electrical communication engineering.SUBSTANCE: invention relates to means for peer-to-peer communication of device movements. First computing device receives a message from a second computing device via a peer-to-peer connection. If the message does not include movement information, the first computing device requests from the second computing device the movement information describing the movement of the second computing device. Upon receipt of the movement information over the peer-to-peer connection, the first computing device presents the received message and the received movement information to a user of the first computing device. Movement information may include route, velocity, heading and an estimated time of arrival and may be periodically updated via additional messages sent to the first computing device. First computing device and the second computing device are configured to automatically send and receive movement information without user input.EFFECT: provision of automated sharing of relevant information on the movement of devices through peer-to-peer connections between them with increased confidentiality.20 cl, 6 dwg

Description

УРОВЕНЬ ТЕХНИКИBACKGROUND

[0001] Пользователи часто хотят знать текущее местоположение своих друзей и/или членов семьи. С использованием существующих систем мобильной телефонной связи, пользователи вручную выполняют запрос местоположения, например, в форме текстового сообщения. Например, пользователь может отправить одно текстовое сообщение к другу, спрашивая ''Где ты?'', а друг может ответить с помощью другого текстового сообщения, отвечая ''в продовольственном магазине''.[0001] Users often want to know the current location of their friends and / or family members. Using existing mobile telephone systems, users manually perform a location request, for example, in the form of a text message. For example, a user can send one text message to a friend asking “Where are you?”, And a friend can reply using another text message by saying “at the grocery store”.

[0002] Дополнительно, многие существующие мобильные телефоны снабжены глобальной навигационной системой (GPS) для обеспечения возможности идентификации текущего местоположения устройства. Некоторые из этих существующих мобильных телефонов также обеспечивают пользователю возможность прикрепления карты, показывающей текущее местоположение устройства, в текстовое сообщение. Однако, такие существующие мобильные телефоны требуют ручного управления пользователя и получателя, а текущее местоположение устройства является статической информацией. А именно, такие существующие мобильные телефоны нуждаются в механизме для обновления текущего местоположения устройства при изменении текущего местоположения устройства.[0002] Additionally, many existing mobile phones are equipped with a global navigation system (GPS) to enable identification of the current location of the device. Some of these existing mobile phones also provide the user with the ability to attach a map showing the current location of the device to a text message. However, such existing mobile phones require manual control of the user and the recipient, and the current location of the device is static information. Namely, such existing mobile phones need a mechanism to update the current location of the device when the current location of the device changes.

СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

[0003] В некоторых вариантах осуществления, первое вычислительное устройство принимает сообщение от первого пользователя, предназначенное для второго пользователя на втором вычислительном устройстве. В качестве реакции на прием сообщения, первое вычислительное устройство получает информацию о перемещении (например, от датчиков первого вычислительного устройства). Первое вычислительное устройство отправляет принятое сообщение и полученную информацию о перемещении второму вычислительному устройству через одноранговое соединение. Затем, первое вычислительное устройство получает обновленную информацию о перемещении для первого вычислительного устройства от датчиков и сравнивает полученную обновленную информацию о перемещении с отправленной информацией о перемещении. Обновленную информацию о перемещении отправляют второму вычислительному устройству на основе этого сравнения.[0003] In some embodiments, the first computing device receives a message from the first user for the second user on the second computing device. In response to receiving a message, the first computing device receives information about the movement (for example, from sensors of the first computing device). The first computing device sends the received message and the received movement information to the second computing device through a peer-to-peer connection. Then, the first computing device obtains updated movement information for the first computing device from the sensors and compares the received updated movement information with the sent movement information. Updated movement information is sent to the second computing device based on this comparison.

[0004] В других вариантах осуществления, первое вычислительное устройство принимает сообщение от второго вычислительного устройства через одноранговое соединение. В качестве реакции на прием сообщения, первое вычислительное устройство запрашивает от второго вычислительного устройства информацию о перемещении, относящуюся ко второму вычислительному устройству, которая описывает перемещение второго вычислительного устройства. После приема первым вычислительным устройством запрошенной информации о перемещении от второго вычислительного устройства, первое вычислительное устройство представляет принятое сообщение и принятую информацию о перемещении для пользователя первого вычислительного устройства.[0004] In other embodiments, the first computing device receives a message from the second computing device through a peer-to-peer connection. In response to receiving a message, the first computing device requests movement information related to the second computing device from the second computing device, which describes the movement of the second computing device. After the first computing device receives the requested movement information from the second computing device, the first computing device presents the received message and the received movement information to the user of the first computing device.

[0005] Данное краткое изложение сущности изобретения предоставлено для ознакомления в упрощенной форме с подборкой концепций изобретения, которые дополнительно описаны ниже, в подробном описании. Данное краткое изложение сущности изобретения не предназначено ни для выявления ключевых признаков или основных признаков заявленного изобретения, ни для использования в качестве помощи в определении объема заявленного изобретения.[0005] This summary of the invention is provided for acquaintance in a simplified form with a selection of concepts of the invention, which are further described below in the detailed description. This summary of the invention is not intended to identify key features or main features of the claimed invention, nor for use as an aid in determining the scope of the claimed invention.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

[0006] Фиг. 1 является иллюстративной блок-схемой, иллюстрирующей первое вычислительное устройство, связанное с первым пользователем, соединенное, через сеть, со вторым вычислительным устройством, связанным со вторым пользователем.[0006] FIG. 1 is an illustrative block diagram illustrating a first computing device associated with a first user connected via a network to a second computing device associated with a second user.

[0007] Фиг. 2 является иллюстративной последовательностью операций, иллюстрирующей первое вычислительное устройство, отправляющее сообщение и информацию о перемещении второму вычислительному устройству.[0007] FIG. 2 is an illustrative flowchart illustrating a first computing device sending a message and moving information to a second computing device.

[0008] Фиг. 3 является иллюстративной блок-схемой, иллюстрирующей первый мобильный телефон, отправляющий информацию о перемещении второму мобильному телефону.[0008] FIG. 3 is an illustrative block diagram illustrating a first mobile phone sending movement information to a second mobile phone.

[0009] Фиг. 4 является иллюстративной блок-схемой, иллюстрирующей первый мобильный телефон, детектирующий свое перемещение и отправляющий информацию о перемещении второму мобильному телефону.[0009] FIG. 4 is an illustrative block diagram illustrating a first mobile phone detecting its movement and sending movement information to a second mobile phone.

[0010] Фиг. 5 является иллюстративной последовательностью операций, иллюстрирующей функционирование первого вычислительного устройства для приема и представления информации о перемещении от второго вычислительного устройства.[0010] FIG. 5 is an illustrative flowchart illustrating the operation of a first computing device for receiving and presenting movement information from a second computing device.

[0011] Фиг. 6 является иллюстративной блок-схемой, иллюстрирующей первый мобильный телефон, запрашивающий и принимающий информацию о перемещении от второго мобильного телефона.[0011] FIG. 6 is an illustrative block diagram illustrating a first mobile phone requesting and receiving movement information from a second mobile phone.

ПОДРОБНОЕ ОПИСАНИЕDETAILED DESCRIPTION

[0012] Со ссылкой на фигуры, варианты осуществления данного раскрытия обеспечивают возможность отправки и/или приема информации о перемещении между устройствами через одноранговое соединение. Например, первый пользователь 104 первого вычислительного устройства 102 рассылает без запроса (''push''), или, иначе, предоставляет, информацию о перемещении, описывающую перемещение первого вычислительного устройства 102, второму пользователю 122 второго вычислительного устройства 124. В качестве другого примера, первое вычислительное устройство 102 получает по запросу (''pull''), или, иначе, запрашивает, информацию о перемещении от второго вычислительного устройства 124, например, на основании приема первым вычислительным устройством 102 сообщения (например, текстового сообщения) от второго вычислительного устройства 124. Иллюстративная информация о перемещении включает в себя, но не ограничена этим, текущий маршрут, скорость, направление перемещения, текущее расчетное время прибытия и/или другие данные, описывающие перемещение устройства (например, ожидаемые и/или предполагаемые).[0012] With reference to the figures, embodiments of this disclosure provide the ability to send and / or receive movement information between devices via a peer-to-peer connection. For example, the first user 104 of the first computing device 102 broadcasts without request ('' push ''), or, otherwise, provides movement information describing the movement of the first computing device 102 to the second user 122 of the second computing device 124. As another example, the first computing device 102 receives, upon request ('' pull ''), or, otherwise, requests information about movement from the second computing device 124, for example, based on the receipt of a message by the first computing device 102 (e.g. example, text message) from the second computing device 124. Illustrative movement information includes, but is not limited to, the current route, speed, direction of movement, current estimated time of arrival, and / or other data describing the movement of the device (for example, expected and / or alleged).

[0013] Аспекты данного раскрытия обеспечивают двум или более пользователям, таким как члены семьи, близкие друзья и деловые партнеры, возможность обмена информацией о перемещении. Информация о перемещении может быть передана вручную и/или автоматически (например, без явного действия одного или обоих пользователей), как описано в данном документе ниже. Дополнительно, информация о перемещении может обновляться регулярно, периодически, время от времени, на основе событий, на основе критериев, правил и т.д.[0013] Aspects of this disclosure provide two or more users, such as family members, close friends, and business partners, the ability to exchange information about the move. Movement information may be transmitted manually and / or automatically (for example, without the explicit action of one or both users), as described herein below. Additionally, movement information can be updated regularly, periodically, from time to time, based on events, based on criteria, rules, etc.

[0014] Посредством использования однорангового соединения, а не центральной службы, некоторые варианты осуществления обеспечивают пользователям повышенную конфиденциальность, безопасность и контроль данных, совместно используемых устройствами. Например, с использованием однорангового соединения, совместно используемые данные не хранятся на центральном сервере, где третьи лица могут проанализировать или осуществить доступ к этим данным могут быть проанализированы. Для совместно используемых данных, которые являются важными (например, информация о перемещении), пользователи могут ощущать большую безопасность при совместном использовании таких данных по одноранговому соединению.[0014] By using a peer-to-peer connection rather than a central service, some embodiments provide users with enhanced privacy, security, and control of data shared between devices. For example, using a peer-to-peer connection, shared data is not stored on a central server, where third parties can analyze or access this data can be analyzed. For shared data that is important (such as relocation information), users may feel more secure when sharing such data over a peer-to-peer connection.

[0015] Дополнительно, стоимость использования однорангового соединения для совместного использования информации о перемещении может быть ниже, чем использование центральной службы для совместного использования этой информации. Фактически, в некоторых географических областях, стоимость совместного использования информации о перемещении с помощью однорангового соединения может быть покрыта в соответствии с существующими тарифными планами для передачи текстовых сообщений.[0015] Additionally, the cost of using a peer-to-peer connection to share movement information may be lower than using a central service to share this information. In fact, in some geographic areas, the cost of sharing peer-to-peer movement information can be covered in accordance with existing tariff plans for sending text messages.

[0016] Со ссылкой на фиг. 1, иллюстративная блок-схема показывает первое вычислительное устройство 102, связанное с первым пользователем 104, соединенное со вторым вычислительным устройством 124, связанным со вторым пользователем 122, через сеть 128. Вычислительные устройства 102 и 124 могут осуществлять обмен информацией с использованием множества протоколов и средств транспортировки данных, например, для поддержки передачи речи, передачи текстовых сообщений (например, службы передачи коротких сообщений (SMS), службы передачи мультимедийных сообщений (MMS)), обмена сообщениями в реальном времени, обмена информацией через службу социальной сети, электронную почту и т.п. Таким образом, вычислительные устройства 102 и 124 могут использовать множество разных технологий для осуществления связи друг с другом.[0016] With reference to FIG. 1, an illustrative block diagram shows a first computing device 102 associated with a first user 104 connected to a second computing device 124 connected to a second user 122 via a network 128. Computing devices 102 and 124 can exchange information using a variety of protocols and tools transporting data, for example, to support voice transmission, text messaging (e.g., short message service (SMS), multimedia messaging service (MMS)), message exchange E real-time exchange of information through the social networking service, email, etc. Thus, computing devices 102 and 124 can use many different technologies to communicate with each other.

[0017] Вычислительные устройства 102 и 124 осуществляют связь через одну или несколько сетей 128, которые могут при реализации включать в себя проводную и/или беспроводную сеть. Сеть может быть также реализована с использованием любого типа сетевой топологии и/или коммуникационного протокола и может быть представлена или, иначе, реализована в виде комбинации двух или более сетей, которые могут включать в себя сети межсетевого протокола (IP) и/или Интернет. Сеть 128 может также включать в себя сети операторов мобильной связи, которыми управляют операторы мобильной связи и/или другие операторы сетей, такие как поставщик услуг связи, поставщик мобильной связи и/или поставщик услуг Интернета.[0017] Computing devices 102 and 124 communicate through one or more networks 128, which, when implemented, may include a wired and / or wireless network. A network may also be implemented using any type of network topology and / or communication protocol and may be presented or otherwise implemented as a combination of two or more networks, which may include Internet Protocol (IP) and / or Internet networks. Network 128 may also include mobile carrier networks that are controlled by mobile operators and / or other network operators, such as a communications service provider, mobile provider, and / or Internet service provider.

[0018] Пример по фиг. 1 показывает систему для обмена информацией о перемещении. В то время как аспекты данного раскрытия описаны со ссылкой на обмен информацией между вычислительными устройствами 102 и 124 через одноранговое соединение, неодноранговые соединения попадают в пределы объема данного раскрытия.[0018] The example of FIG. 1 shows a system for exchanging movement information. While aspects of this disclosure are described with reference to the exchange of information between computing devices 102 and 124 through a peer-to-peer connection, peer-to-peer connections fall within the scope of this disclosure.

[0019] Каждое из вычислительных устройств 102 и 124 представляет собой любое устройство, исполняющее команды (например, в виде прикладных программ, функциональности операционной системы или и того, и другого) для реализации операций и функциональности, описанной и показанной здесь. Вычислительные устройства 102 и 124 могут включать в себя мобильные вычислительные устройства или любые другие портативные устройства. В некоторых вариантах осуществления, мобильные вычислительные устройства включают в себя мобильный телефон, компактный портативный компьютер, планшет, вычислительную клавишную панель, нетбук, игровое устройство и/или портативный плеер мультимедиа. Вычислительные устройства 102 и 124 могут также включать в себя менее портативные устройства, такие как настольные персональные компьютеры, информационные киоски, настольные устройства, промышленные устройства управления, беспроводные зарядные станции, зарядные станции для электромобилей, по меньшей мере в целях приема сообщений и информации о перемещении. Дополнительно, вычислительные устройства 102 и 124 могут представлять собой группу блоков обработки или других вычислительных устройств. Одно из вычислительных устройств 102 и 124 может представлять собой одну форму или тип устройства, в то время как другое из вычислительных устройств 102 и 124 представляет собой другую форму или тип устройства.[0019] Each of the computing devices 102 and 124 is any device that executes instructions (for example, in the form of application programs, operating system functionality, or both) to implement the operations and functionality described and shown here. Computing devices 102 and 124 may include mobile computing devices or any other portable devices. In some embodiments, mobile computing devices include a mobile phone, a compact portable computer, a tablet, a computing keypad, a netbook, a gaming device, and / or a portable media player. Computing devices 102 and 124 may also include less portable devices such as desktop personal computers, information kiosks, desktop devices, industrial control devices, wireless charging stations, charging stations for electric vehicles, at least for the purpose of receiving messages and moving information . Additionally, computing devices 102 and 124 may be a group of processing units or other computing devices. One of the computing devices 102 and 124 may be one form or type of device, while the other of the computing devices 102 and 124 is a different shape or type of device.

[0020] В некоторых вариантах осуществления, каждое из вычислительных устройств 102 и 124 включает в себя элементы, показанные на фиг. 1. Для ясности, элементы показаны и описаны со ссылкой на первое вычислительное устройство 102.[0020] In some embodiments, each of computing devices 102 and 124 includes the elements shown in FIG. 1. For clarity, elements are shown and described with reference to the first computing device 102.

[0021] Как показано на фиг. 1, первое вычислительное устройство 102 имеет один или несколько датчиков 112, по меньшей мере один процессор 106, область 108 памяти и по меньшей мере один пользовательский интерфейс. Датчики 112 включают в себя один или несколько акселерометров, один или несколько гироскопов, приемопередатчик глобальной навигационной системы (GPS), приемопередатчик беспроводной сети WLAN стандарта IEEE 802.11 (Wi-Fi) или другой беспроводный приемопередатчик, световоспринимающий оптический датчик, и другие датчики, обеспечивающие данные, описывающие первое вычислительное устройство 102.[0021] As shown in FIG. 1, the first computing device 102 has one or more sensors 112, at least one processor 106, a memory area 108, and at least one user interface. Sensors 112 include one or more accelerometers, one or more gyroscopes, a global navigation system (GPS) transceiver, an IEEE 802.11 (Wi-Fi) wireless LAN transceiver, or other wireless transceiver that uses an optical pickup and other sensors that provide data describing the first computing device 102.

[0022] Процессор 106 включает в себя любое количество блоков обработки и запрограммирован для исполнения исполняемых компьютером команд (например, хранящихся в области 108 памяти) для реализации аспектов данного раскрытия. Команды могут выполняться посредством процессора 106 или посредством многочисленных процессоров, исполняющих команды, в пределах первого вычислительного устройства 102, или выполняться посредством процессора, внешнего по отношению к первому вычислительному устройству 102. В некоторых вариантах осуществления, процессор 106 запрограммирован для исполнения команд, таких как команды, показанные в последовательностях операций для реализации функциональности, описанной здесь.[0022] The processor 106 includes any number of processing units and is programmed to execute computer-executable instructions (eg, stored in a memory area 108) to implement aspects of this disclosure. Commands may be executed by processor 106 or by multiple processors executing instructions within the first computing device 102, or executed by a processor external to the first computing device 102. In some embodiments, processor 106 is programmed to execute instructions, such as instructions shown in the flowcharts for implementing the functionality described here.

[0023] В некоторых вариантах осуществления, процессор 106 представляет собой реализацию аналоговых технологий для выполнения операций, описанных здесь. Например, операции могут быть выполнены посредством аналогового вычислительного устройства и/или цифрового вычислительного устройства.[0023] In some embodiments, the processor 106 is an implementation of analog technologies for performing the operations described herein. For example, operations may be performed by an analog computing device and / or digital computing device.

[0024] Первое вычислительное устройство 102 дополнительно имеет один или несколько компьютерных носителей данных, таких как область 108 памяти. Область 108 памяти включает в себя любое количество носителей данных, связанных с первым вычислительным устройством 102 или доступных для него. Область 108 памяти может быть внутренней по отношению к первому вычислительному устройству 102, внешней по отношению к первому вычислительному устройству 102 или и тем, и другим. В некоторых вариантах осуществления, область 108 памяти включает в себя постоянное запоминающее устройство и/или запоминающее устройство, смонтированное в аналоговом вычислительном устройстве. Дополнительно, область 108 памяти может быть частью аппаратного запоминающего устройства, которое может содержать энергозависимые и/или энергонезависимые запоминающие устройства, исключая сигналы.[0024] The first computing device 102 further has one or more computer storage media, such as a memory area 108. The memory area 108 includes any number of storage media associated with or available to the first computing device 102. The memory area 108 may be internal to the first computing device 102, external to the first computing device 102, or both. In some embodiments, implementation, the memory area 108 includes read only memory and / or memory mounted in an analog computing device. Additionally, the memory area 108 may be part of a hardware storage device, which may include volatile and / or non-volatile storage devices, excluding signals.

[0025] Вычислительное устройство 102 хранит, в области 108 памяти, приложения 110, идентификаторы 118 пользователей и полномочия 120, среди других данных. Приложения 110, при исполнении посредством процессора 106, функционируют для выполнения функциональности на первом вычислительном устройстве 102. Иллюстративные приложения 110 включают в себя прикладные программы почты, Web-браузеры, прикладные программы календаря, прикладные программы адресной книги, программы обмена сообщениями, приложения мультимедиа, игровые приложения, приложения карт, услуги с учетом местоположения, программы поиска, и т.п. Приложения 110 могут осуществлять связь с аналогичными приложениями или услугами, такими как Web-услуги, доступные через сеть. Например, приложения могут представлять собой скачанные клиентские приложения, которые соответствуют услугам со стороны сервера, исполняющимся в облаке.[0025] Computing device 102 stores, in memory area 108, applications 110, user identifiers 118 and credentials 120, among other data. Applications 110, when executed by processor 106, are operable to execute functionality on a first computing device 102. Illustrative applications 110 include mail applications, web browsers, calendar applications, address book applications, messaging programs, multimedia applications, gaming applications, map applications, location-based services, search programs, etc. Applications 110 may communicate with similar applications or services, such as Web services available over a network. For example, applications may be downloaded client applications that correspond to server-side services running in the cloud.

[0026] Идентификаторы 118 пользователей хранят идентификационные данные других пользователей, таких как второй пользователь 122, который связан с первым пользователем 104 или известен ему. Например, идентификаторы 118 пользователей хранят идентификационные данные других пользователей, связанных с первым пользователем 104, на основе списка контактов, адресной книги, календарных записей и/или получателей предыдущих сообщений, отправленных первым пользователем 104. Дополнительно, идентификаторы 118 пользователей могут содержать идентификационные данные, подробности контактов, и предпочтительное средство связи с различными группами контактов, такими как друзья, родственники и коллеги.[0026] User identifiers 118 store the identity of other users, such as a second user 122, which is associated with or known to the first user 104. For example, user identifiers 118 store the identity of other users associated with the first user 104, based on the contact list, address book, calendar entries and / or recipients of previous messages sent by the first user 104. Additionally, user identifiers 118 may contain identification data, details contacts, and the preferred means of communication with various contact groups, such as friends, relatives, and colleagues.

[0027] Идентификаторы 118 пользователей имеют полномочия 120, связанные с ними. Полномочия 120 могут изменяться от одной группы контактов к другой, могут изменяться в пределах каждой группы контактов и/или могут быть установлены индивидуально для пользователей, связанных с первым пользователем 104. Например, один набор полномочий может быть связан с супругом пользователя таким образом, чтобы информация о перемещении первого пользователя 104 совместно использовалась с супругом независимо от дня недели и времени суток, в то время как информация о перемещении первого пользователя 104 могла быть совместно использована с коллегой только в конкретные дни и конкретное время (например, в рабочее время).[0027] User identifiers 118 have credentials 120 associated with them. Permissions 120 may vary from one contact group to another, may vary within each contact group, and / or may be set individually for users associated with the first user 104. For example, one set of privileges may be associated with the user's spouse so that the information about the movement of the first user 104 was shared with the spouse regardless of the day of the week and time of day, while information about the movement of the first user 104 could be shared with legoy only on specific days and specific times (for example, during working hours).

[0028] В некоторых вариантах осуществления, полномочия 120 могут быть основаны на установке геозон (например, полномочия могут зависеть от местоположения первого пользователя). Например, информация о перемещении к некоторым конкретным пользователям, связанным с первым пользователем 104, может предоставляться, только когда первый пользователь 104 находится в пределах заранее заданного расстояния от местоположения работы (например, учреждения) или только когда первый пользователь 104 находится за пределами заранее заданного расстояния. В некоторых вариантах осуществления, заранее заданное расстояние или периметр геозоны может быть динамически определен первым пользователем 104, в то время как в других вариантах осуществления заранее заданное расстояние или периметр может быть автоматически определен на основе текущего местоположения первого пользователя 104.[0028] In some embodiments, the credentials 120 may be based on setting geofences (for example, credentials may depend on the location of the first user). For example, travel information to some specific users associated with the first user 104 may be provided only when the first user 104 is within a predetermined distance from the location of the work (e.g., institution) or only when the first user 104 is outside the predetermined distance . In some embodiments, a predetermined distance or perimeter of the geofence can be dynamically determined by the first user 104, while in other embodiments, a predetermined distance or perimeter can be automatically determined based on the current location of the first user 104.

[0029] Идентификаторы 118 пользователей могут быть заполнены первым пользователем 104, который может изменить полномочия 120, связанные с идентификаторами 118 пользователей (например, с использованием времени). В других вариантах осуществления, записи для идентификаторов 118 пользователей могут быть автоматически заполнены на основе списка контактов, адресной книги, календарных записей и/или получателей предыдущих сообщений. Дополнительно, полномочия 120 могут быть автоматически установлены (например, на основе значений по умолчанию или предпочтений первого пользователя 104 для получения или совместного использования информации о перемещении). В других вариантах осуществления, в то время как записи для идентификаторов 118 пользователей заполняются автоматически, полномочия 120, связанные с каждым их идентификаторов 118 пользователей (или группами идентификаторов 118 пользователей), могут быть конкретно установлены первым пользователем 104.[0029] User identifiers 118 may be populated by a first user 104, which may change the credentials 120 associated with user identifiers 118 (eg, using time). In other embodiments, entries for user identifiers 118 may be automatically populated based on a contact list, address book, calendar entries and / or recipients of previous messages. Additionally, credentials 120 can be automatically set (for example, based on the default values or preferences of the first user 104 to receive or share movement information). In other embodiments, while entries for user identifiers 118 are automatically populated, credentials 120 associated with each of their user identifiers 118 (or groups of user identifiers 118) can be specifically set by the first user 104.

[0030] При функционировании, полномочия 120 обеспечивают или блокируют возможность совместного использования информации о перемещении. Например, в качестве реакции на прием сообщения от второго вычислительного устройства 124, полномочия 120 на первом вычислительном устройстве 102 функционируют либо для блокировки первого вычислительного устройства 102 от запроса информации о перемещении у второго вычислительного устройства 124, либо для обеспечения первому вычислительному устройству 102 возможности запроса информации о перемещении у второго вычислительного устройства 124. Подобным образом, после приема вторым вычислительным устройством 124 запроса от первого вычислительного устройства 102 на информацию о перемещении, полномочия 120 на втором вычислительном устройстве 124 функционируют либо для блокирования, либо для обеспечения первому вычислительному устройству 102 возможности приема информации о перемещении от второго вычислительного устройства 124.[0030] In operation, credentials 120 provide or block the ability to share movement information. For example, in response to receiving a message from the second computing device 124, the powers 120 on the first computing device 102 function either to block the first computing device 102 from requesting movement information from the second computing device 124, or to enable the first computing device 102 to request information about moving at the second computing device 124. Similarly, after the second computing device 124 receives a request from the first computing devices 102 on the information about the movement, the authority 120 on the second computing device 124 function either to block or to enable the first computing device 102 to receive information about the movement from the second computing device 124.

[0031] Полномочия 120 могут также разрешить или предотвратить совместное использование конкретных участков информации о перемещении. Например, информация о перемещении может быть отфильтрована на основе типа информации, разрешенного для совместного использования, определяемого посредством полномочий 120. Дополнительно, уровень детализации информации о перемещении, подлежащей совместному использованию с конкретными пользователями, может быть установлен посредством полномочий 120.[0031] Authority 120 may also allow or prevent the sharing of specific portions of movement information. For example, movement information may be filtered based on the type of information permitted for sharing, determined by authority 120. Additionally, the level of detail of movement information to be shared with specific users can be set by authority 120.

[0032] Полномочия 120 могут быть заданы динамически на основе оценки принятого сообщения. Например, принятое сообщение оценивается для классификации и категоризации сообщения, и полномочия 120 задаются или определяются на основе классификации или категории. Метаданные, например, в заголовках сообщения, могут быть оценены для идентификации отправителя сообщения. Например, если сообщение отправлено поставщиком услуг сети 128, то никакая информация о перемещении не может быть запрошена или обеспечена. Альтернативно или дополнительно, контекстная информация, такая как местоположение отправляющего устройства и/или принимающего устройства, оставшееся время работы батареи отправляющего устройства и/или принимающего устройства и/или время суток, определяется и оценивается для динамического задания одного или нескольких полномочий 120.[0032] The credentials 120 may be set dynamically based on the evaluation of the received message. For example, a received message is evaluated to classify and categorize the message, and credentials 120 are set or determined based on the classification or category. Metadata, for example, in the message headers, can be evaluated to identify the sender of the message. For example, if a message is sent by a network service provider 128, then no movement information can be requested or provided. Alternatively or additionally, contextual information, such as the location of the sending device and / or the receiving device, the remaining battery life of the sending device and / or the receiving device, and / or time of day, is determined and evaluated to dynamically set one or more powers 120.

[0033] В некоторых вариантах осуществления, полномочия 120 могут быть инкапсулированы в политику безопасности, связанную с первым вычислительным устройством 102, которая может быть установлена только пользователем, который регистрируется в качестве администратора. В некоторых вариантах осуществления, идентификаторы 118 пользователей и/или полномочия 120 могут быть установлены пользователем, регистрирующимся в качестве администратора, и могут быть недоступными для изменения другими пользователями первого вычислительного устройства 102. В качестве примера, после запроса вторым пользователем 122, идентифицированным в идентификаторах 118 пользователей, хранящихся в первом вычислительном устройстве 102, местоположение первого вычислительного устройства 102 может быть автоматически отправлено второму вычислительному устройству 124 без запроса дополнительных данных первым пользователем 104. Например, родитель может установить идентификаторы 118 пользователей и/или полномочия 120 мобильного телефона ребенка и удаленно осуществлять запрос мобильного телефона ребенка для получения текущего местоположения мобильного телефона ребенка, без уведомления ребенка об этом запросе.[0033] In some embodiments, the credentials 120 can be encapsulated in a security policy associated with the first computing device 102, which can only be set by a user who logs in as an administrator. In some embodiments, user identifiers 118 and / or credentials 120 may be set by a user registering as an administrator, and may not be accessible by other users of the first computing device 102. As an example, after a request by the second user 122, identified in the identifiers 118 users stored in the first computing device 102, the location of the first computing device 102 can be automatically sent to the second to computational unit 124 without a request for additional information by the first user 104. For example, a parent can set identifiers 118 users and / or powers of 120 baby mobile phone and remotely perform the child's mobile phone requests to obtain child mobile phone current location, without notice, the child of the request.

[0034] Первое вычислительное устройство 102 дополнительно имеет по меньшей мере один пользовательский интерфейс для представления информации о перемещении и сообщений для первого пользователя 104. В некоторых вариантах осуществления, пользовательский интерфейс может включать в себя графический адаптер для отображения данных для первого пользователя 104 и приема данных от первого пользователя 104. Пользовательский интерфейс может также включать в себя исполняемые компьютером команды (например, драйвер) для функционирования графического адаптера. Дополнительно, пользовательский интерфейс может включать в себя дисплей (например, сенсорный дисплей или естественный пользовательский интерфейс) и/или исполняемые компьютером команды (например, драйвер) для функционирования дисплея. Пользовательский интерфейс может также включать в себя одно или несколько из следующего для обеспечения данных для первого пользователя 104 или приема данных от первого пользователя 104: громкоговорители, звуковая плата, камера, микрофон, вибродвигатель, один или несколько акселерометров, модуль связи стандарта BLUETOOTH, аппаратное обеспечение глобальной навигационной системы (GPS) и световоспринимающий оптический датчик. Например, первый пользователь 104 может вводить команды или управлять данными посредством перемещения первого вычислительного устройства 102 в конкретном направлении.[0034] The first computing device 102 further has at least one user interface for presenting movement information and messages to the first user 104. In some embodiments, the user interface may include a graphics adapter for displaying data for the first user 104 and receiving data from the first user 104. The user interface may also include computer-executable instructions (eg, a driver) for the operation of the graphic hell tera. Additionally, the user interface may include a display (eg, a touch screen or a natural user interface) and / or computer-executable instructions (eg, a driver) for the display to function. The user interface may also include one or more of the following to provide data for the first user 104 or to receive data from the first user 104: speakers, sound card, camera, microphone, vibration motor, one or more accelerometers, BLUETOOTH communication module, hardware global navigation system (GPS) and light-sensing optical sensor. For example, the first user 104 may enter commands or manage data by moving the first computing device 102 in a specific direction.

[0035] Со ссылкой далее на фиг. 2, иллюстративная последовательность операций показывает функционирование первого вычислительного устройства 102 для отправки сообщения и информации о перемещении второму вычислительному устройству 124. В операции 202, первое вычислительное устройство 102 проверяет, получено ли от первого пользователя 104 сообщение, предназначенное для второго вычислительного устройства 124. Например, первый пользователь 104 может напечатать сообщение в первом вычислительном устройстве 102. При приеме сообщения, первое вычислительное устройство 102 в операции 204 получает информацию о перемещении, описывающую перемещение первого вычислительного устройства 102, от датчиков 112 и/или другого средства, например, с использованием сотовой телефонной сети, системы на основе стандарта Wi-Fi и/или картографического приложения. Информация о перемещении включает в себя, например, информацию о перемещении, такую как маршрут, используемый первым пользователем 104 первого вычислительного устройства 102, и расчетное время прибытия (ETA). Информация о перемещении может дополнительно включать в себя направление, информацию о скорости и/или расчетную траекторию движения первого вычислительного устройства 102 по маршруту, а также текущее местоположение первого вычислительного устройства 102. Текущее местоположение может быть представлено с использованием широты, долготы, отметки высоты, скорости подъема и/или снижения.[0035] With reference further to FIG. 2, an illustrative flowchart shows the operation of the first computing device 102 for sending a message and moving information to the second computing device 124. In operation 202, the first computing device 102 checks whether a message destined for the second computing device 124 is received from the first user 104. For example, the first user 104 may print the message in the first computing device 102. Upon receipt of the message, the first computing device 102 in operation 20 4 receives movement information describing the movement of the first computing device 102 from sensors 112 and / or other means, for example, using a cellular telephone network, a system based on the Wi-Fi standard and / or a map application. The movement information includes, for example, movement information, such as a route used by the first user 104 of the first computing device 102, and an estimated arrival time (ETA). The movement information may further include direction, speed information, and / or an estimated trajectory of the first computing device 102 along the route, as well as the current location of the first computing device 102. The current location can be represented using latitude, longitude, elevation, speed rise and / or decline.

[0036] В некоторых вариантах осуществления, информацию о перемещении получают из данных (например, данных местоположения), получаемых от датчиков 112, картографической информации, информации о движении транспорта, и т.п. Например, картографическое приложение может осуществить заключительную обработку данных местоположения от датчиков 112 совместно с картографической информацией и/или информацией о движении транспорта для создания информации о перемещении.[0036] In some embodiments, the movement information is obtained from data (eg, location data) obtained from sensors 112, map information, traffic information, and the like. For example, a map application may perform post-processing of location data from sensors 112 in conjunction with map information and / or traffic information to generate movement information.

[0037] В операции 206, принятое сообщение и полученную информацию о перемещении отправляют второму вычислительному устройству 124 посредством первого вычислительного устройства 102. На основе идентификаторов 118 пользователей и полномочий 120 для второго пользователя 122, первое вычислительное устройство 102 может отправить сообщение и информацию о перемещении второму вычислительному устройству 124 автоматически, или, иначе, без явного или одновременного ввода данных от первого пользователя 104. В других вариантах осуществления, первому пользователю 104 предлагается санкционировать отправку информации о перемещении вместе с сообщением.[0037] In operation 206, the received message and the received movement information is sent to the second computing device 124 by the first computing device 102. Based on the user IDs 118 and credentials 120 for the second user 122, the first computing device 102 can send a message and movement information to the second computing device 124 automatically, or, otherwise, without directly or simultaneously entering data from the first user 104. In other embodiments, the first user 104 th are invited to authorize the sending of information about how to move along with the message.

[0038] В некоторых вариантах осуществления, сообщение и информацию о перемещении отправляют второму вычислительному устройству 124 в одном и том же сообщении и/или отображают посредством одного и того же приложения на втором вычислительном устройстве 124. В других вариантах осуществления, сообщение и информацию о перемещении отправляют второму вычислительному устройству 124 в разных сообщениях. Второе вычислительное устройство 124 отображает сообщение и информацию о перемещении для второго пользователя 122.[0038] In some embodiments, the message and movement information is sent to the second computing device 124 in the same message and / or displayed by the same application on the second computing device 124. In other embodiments, the message and movement information send to the second computing device 124 in different messages. The second computing device 124 displays a message and movement information for the second user 122.

[0039] Затем, или иначе, в некоторый момент времени после отправки сообщения и информации о перемещении второму вычислительному устройству 124, первое вычислительное устройство 102 получает обновленную информацию о перемещении от датчиков 112 в операции 208. В некоторых вариантах осуществления, первое вычислительное устройство 102 получает обновленную информацию о перемещении в качестве реакции на истекшее время, триггеры, события, критерии, правила и/или другие факторы. Например, первое вычислительное устройство 102 может получить обновленную информацию о перемещении после истечения заранее заданного периода времени, после обнаружения изменения в условиях движения транспорта (например, затора движения), после обнаружения изменения в перемещении (например, маршруте) первого вычислительного устройства 102 и/или других факторов.[0039] Then, or otherwise, at some point in time after sending the message and the movement information to the second computing device 124, the first computing device 102 receives updated movement information from the sensors 112 in operation 208. In some embodiments, the first computing device 102 receives updated movement information in response to elapsed time, triggers, events, criteria, rules, and / or other factors. For example, the first computing device 102 may receive updated movement information after a predetermined period of time has elapsed, after detecting a change in traffic conditions (e.g., traffic jam), after detecting a change in movement (e.g., route) of the first computing device 102 and / or other factors.

[0040] В операции 210, первое вычислительное устройство 102 сравнивает обновленную информацию о перемещении с ранее отправленной информацией о перемещении. На основе этого сравнения, обновленную информацию о перемещении отправляют второму вычислительному устройству 124 посредством первого вычислительного устройства 102 в операции 214. Например, первое вычислительное устройство 102 может проверить в операции 212, указывает ли обновленная информация о перемещении на перемещение, которое является отличным от перемещения, которое указывалось посредством ранее отправленной информации о перемещении. Если обновленная информация о перемещении указывает на перемещение, которое является отличным от перемещения, которое указывалось посредством ранее отправленной информации о перемещении, то обновленную информацию о перемещении отправляют второму вычислительному устройству 124 в операции 216. Например, обновленная информация о перемещении может указывать на то, что первое вычислительное устройство 102 находится сейчас на маршруте, который является отличным от более раннего маршрута. В качестве другого примера, обновленная информация о перемещении может быть отправлена, когда текущее ETA становится отличным от более раннего ETA (например, на заданную пороговую продолжительность или интервал времени).[0040] In operation 210, the first computing device 102 compares the updated movement information with previously sent movement information. Based on this comparison, the updated movement information is sent to the second computing device 124 by the first computing device 102 in step 214. For example, the first computing device 102 can check in step 212 whether the updated movement information indicates a movement that is different from the movement, which was indicated by previously sent relocation information. If the updated movement information indicates a movement that is different from the movement indicated by the previously sent movement information, then the updated movement information is sent to the second computing device 124 in step 216. For example, the updated movement information may indicate that the first computing device 102 is now on a route that is different from the earlier route. As another example, updated movement information may be sent when the current ETA becomes different from the earlier ETA (for example, for a given threshold duration or time interval).

[0041] Если обновленная информация о перемещении существенно не отличается (например, на заданный порог) от ранее отправленной информации о перемещении, то первое вычислительное устройство 102 не отправляет обновленную информацию о перемещении в операции 218 второму вычислительному устройству 124. Например, если обновленная информация о перемещении является, приблизительно или по существу, такой же, как ранее отправленная информация о перемещении, то обновленную информацию о перемещении не отправляют второму вычислительному устройству 124.[0041] If the updated movement information does not substantially differ (for example, by a predetermined threshold) from previously sent movement information, then the first computing device 102 does not send the updated moving information in operation 218 to the second computing device 124. For example, if the updated information on movement is approximately or substantially the same as the previously sent movement information, then the updated movement information is not sent to the second computing device 124.

[0042] Альтернативно или дополнительно, обновленную информацию о перемещении получают и отправляют согласно частоте обновления, хранящейся в области 108 памяти. Частота обновления может быть определена первым пользователем 104, операционной системой первого вычислительного устройства 102 и/или другим объектом.[0042] Alternatively or additionally, updated movement information is received and sent according to the update frequency stored in the memory area 108. The refresh rate may be determined by the first user 104, the operating system of the first computing device 102, and / or another entity.

[0043] Со ссылкой далее на фиг. 3, иллюстративная блок-схема иллюстрирует вариант осуществления, в котором первый мобильный телефон 306 отправляет информацию о перемещении второму мобильному телефону 302. Первое вычислительное устройство 102, например, первый мобильный телефон 306, является соединенным со вторым вычислительным устройством 124, например, вторым мобильным телефоном 302, через любую сеть (например, сеть 128). В этом примере, пользователь первого мобильного телефона 306 задал полномочия для совместного использования информации о перемещении со вторым мобильным телефоном 302. Например, полномочия 120 заданы как разрешающие такое совместное использование.[0043] With reference further to FIG. 3, an illustrative block diagram illustrates an embodiment in which a first mobile phone 306 sends movement information to a second mobile phone 302. A first computing device 102, such as a first mobile phone 306, is connected to a second computing device 124, for example, a second mobile phone 302, through any network (e.g., network 128). In this example, the user of the first mobile phone 306 has set permissions to share travel information with the second mobile phone 302. For example, the credentials 120 are set to allow such sharing.

[0044] Первый мобильный телефон 306 может быть выполнен с возможностью, время от времени, в заранее заданные моменты времени и/или после наступления другого заранее заданного события, отправлять свою информацию о перемещении второму мобильному телефону 302 без каких-либо действий пользователя первого мобильного телефона 306. Информацию о перемещении отправляют в зашифрованном виде 304, который включает в себя идентификатор устройства, текущую широту, долготу, направление, скорость, маршрут, расчетное время прибытия в место назначения и т.д.[0044] The first mobile telephone 306 may be configured to, from time to time, at predetermined times and / or after the occurrence of another predetermined event, send its movement information to the second mobile telephone 302 without any user actions of the first mobile telephone 306. The movement information is sent in encrypted form 304, which includes the device identifier, current latitude, longitude, direction, speed, route, estimated time of arrival at the destination, etc.

[0045] Второй мобильный телефон 302 может быть выполнен с возможностью приема информации о перемещении первого мобильного телефона 306 без запроса дополнительных данных от пользователя второго мобильного телефона 302 для приема или отклонения информации о перемещении. Напротив, в некоторых вариантах осуществления, второй мобильный телефон 302 принимает информацию о перемещении и отображает информацию о перемещении вместе с соответствующим сообщением. Например, местоположение может быть отображено в виде текста, отображаемого в приложении карты, исполняемом посредством второго мобильного телефона 302 и/или отображено в мозаичном окне или другом элементе пользовательского интерфейса на главном экране второго мобильного телефона 302.[0045] The second mobile phone 302 may be configured to receive movement information of the first mobile phone 306 without requesting additional data from a user of the second mobile phone 302 to receive or reject movement information. In contrast, in some embodiments, the second mobile telephone 302 receives the movement information and displays the movement information together with a corresponding message. For example, the location may be displayed as text displayed in a map application executed by a second mobile phone 302 and / or displayed in a tiled window or other user interface element on the main screen of the second mobile phone 302.

[0046] Со ссылкой далее на фиг. 4, иллюстративная блок-схема иллюстрирует первый мобильный телефон 306, детектирующий свое перемещение и отправляющий обновленную информацию о перемещении второму мобильному телефону 302. Первый мобильный телефон 306 обнаруживает свое перемещение с использованием датчиков, таких как датчики 112, или другого средства, на основе триггеров, событий, критериев и т.д., таких как описанные со ссылкой на фиг. 2. Без запроса от второго мобильного телефона 302, первый мобильный телефон 306 получает и отправляет обновленную информацию о перемещении в зашифрованном виде 404 второму мобильному телефону 302. Обновленная информация о перемещении включает в себя, например, идентификатор устройства, текущую широту, долготу, направление, скорость и т.д. Второй мобильный телефон 302 принимает обновленную информацию о перемещении и оповещает пользователя второго мобильного телефона 302 об обновленной информации о перемещении (например, с использованием текста, в приложении карты и т.д.).[0046] With reference further to FIG. 4, an illustrative block diagram illustrates a first mobile phone 306 detecting its movement and sending updated movement information to a second mobile phone 302. The first mobile phone 306 detects its movement using sensors, such as sensors 112, or other means based on triggers, events, criteria, etc., such as described with reference to FIG. 2. Without a request from the second mobile phone 302, the first mobile phone 306 receives and sends the updated movement information in encrypted form 404 to the second mobile phone 302. The updated movement information includes, for example, device identifier, current latitude, longitude, direction, speed etc. The second mobile phone 302 receives the updated movement information and notifies the user of the second mobile phone 302 of the updated movement information (for example, using text, in a map application, etc.).

[0047] Со ссылкой далее на фиг. 5, иллюстративная последовательность операций иллюстрирует функционирование первого вычислительного устройства 102 для приема и представления информации о перемещении от второго вычислительного устройства 124. В примере по фиг. 5, второе вычислительное устройство 124 может быть выполнено с возможностью отправки информации о перемещении только по запросу. Например, второй пользователь 122, возможно, старается уменьшить энергопотребление на втором вычислительном устройстве 124, или уменьшить количество или размер передаваемых сообщений, чтобы остаться в пределах ограничения тарифного плана для сообщений.[0047] With reference further to FIG. 5, an illustrative flowchart illustrates the operation of the first computing device 102 for receiving and presenting movement information from the second computing device 124. In the example of FIG. 5, the second computing device 124 may be configured to send movement information only upon request. For example, the second user 122 may be trying to reduce power consumption on the second computing device 124, or to reduce the number or size of transmitted messages in order to stay within the limit of the tariff plan for messages.

[0048] В операции 502, первое вычислительное устройство 102 проверяет, принято ли сообщение от второго вычислительного устройства 124. При приеме сообщения от второго вычислительного устройства 124, первое вычислительное устройство 102 определяет, включена ли информация о перемещении в сообщение. Если информация о перемещении недоступна и если идентификаторы 118 пользователей и полномочия 120 указывают на то, что прием информации о перемещении разрешен, то первое вычислительное устройство 102 отправляет второму вычислительному устройству 124 в операции 504 запрос на информацию о перемещении, связанную со вторым вычислительным устройством 124.[0048] In operation 502, the first computing device 102 checks whether a message has been received from the second computing device 124. When receiving a message from the second computing device 124, the first computing device 102 determines whether movement information is included in the message. If the movement information is not available, and if user identifiers 118 and credentials 120 indicate that movement information is enabled, then the first computing device 102 sends to the second computing device 124, in operation 504, a request for movement information associated with the second computing device 124.

[0049] Например, идентификатор пользователя, отправляющего сообщение, сравнивают с идентификаторами 118 пользователей, хранящимися у пользователя, принимающего сообщение. Запрос на информацию о перемещении отправляют второму вычислительному устройству 124 на основе этого сравнения. Например, если сравнение показывает, что пользователь, отправляющий сообщение, находится в пределах группы близких родственников или друзей (например, разрешенный пользователь), то первое вычислительное устройство 102 отправляет запрос на информацию о перемещении. Наоборот, если сравнение показывает, что пользователь, отправляющий сообщение, не находится в пределах группы близких родственников или друзей (например, заблокированный пользователь), то первое вычислительное устройство 102 не отправляет запрос на информацию о перемещении.[0049] For example, the identifier of the user sending the message is compared with the identifiers 118 of the user stored in the user receiving the message. A request for movement information is sent to the second computing device 124 based on this comparison. For example, if the comparison shows that the user sending the message is within a group of close relatives or friends (for example, an authorized user), then the first computing device 102 sends a request for movement information. On the contrary, if the comparison shows that the user sending the message is not within the group of close relatives or friends (for example, a blocked user), then the first computing device 102 does not send a request for movement information.

[0050] Альтернативно или дополнительно, второе вычислительное устройство 124 использует полномочия 120, хранящиеся во втором вычислительном устройстве 124, для определения того, отправлять ли информацию о перемещении в качестве реакции на запрос от первого вычислительного устройства 102. Таким образом, второе вычислительное устройство 124 разрешает или отклоняет совместное использование информации о перемещении с первым вычислительным устройством 102.[0050] Alternatively or additionally, the second computing device 124 uses the credentials 120 stored in the second computing device 124 to determine whether to send movement information in response to a request from the first computing device 102. Thus, the second computing device 124 enables or rejects the sharing of movement information with the first computing device 102.

[0051] В некоторых вариантах осуществления, операции 504 и 506 выполняются без явного информирования первого пользователя 104 (например, без действий пользователя или разрешения в момент времени приема сообщения от второго вычислительного устройства 124). В некоторых других вариантах осуществления, запрос может быть отправлен на основе ввода данных первым пользователем 104.[0051] In some embodiments, operations 504 and 506 are performed without explicitly informing the first user 104 (for example, without user action or permission at the time of receiving a message from the second computing device 124). In some other embodiments, a request may be sent based on data input by the first user 104.

[0052] В операции 506, первое вычислительное устройство 102 принимает информацию о перемещении от второго вычислительного устройства 124. В операции 508, принятое сообщение и информацию о перемещении представляют для первого пользователя 104. В некоторых вариантах осуществления, единственное приложение из приложений 110 исполняется для отображения как принятого сообщения, так и информации о перемещении в пользовательском интерфейсе.[0052] In operation 506, the first computing device 102 receives movement information from the second computing device 124. In operation 508, the received message and movement information is presented to the first user 104. In some embodiments, a single application from applications 110 is executed to display both the received message and movement information in the user interface.

[0053] Операции, показанные на фиг. 5, могут быть также описаны с точки зрения второго вычислительного устройства 124. В частности, второе вычислительное устройство 124 отправляет сообщение первому вычислительному устройству 102 (например, текстовое сообщение) с помощью однорангового соединения без отправки информации о перемещении. Затем, второе вычислительное устройство 124 принимает запрос на информацию о перемещении от первого вычислительного устройства 102. Второе вычислительное устройство 124 анализирует запрос, принимая во внимание полномочия 120, для определения того, отправлять ли информацию о перемещении первому вычислительному устройству 102. На основе этого определения, второе вычислительное устройство 124 получает информацию о перемещении (например, из данных от датчиков 112) и передает информацию о перемещении первому вычислительному устройству 102 (например, в текстовом сообщении) с помощью однорангового соединения.[0053] The operations shown in FIG. 5 may also be described in terms of the second computing device 124. In particular, the second computing device 124 sends a message to the first computing device 102 (eg, a text message) using a peer-to-peer connection without sending movement information. Then, the second computing device 124 receives a request for movement information from the first computing device 102. The second computing device 124 analyzes the request, taking into account the credentials 120, to determine whether to send movement information to the first computing device 102. Based on this determination, the second computing device 124 obtains movement information (e.g., from data from sensors 112) and transmits the movement information to the first computing device 102 (e.g., text message) via peer connection.

[0054] Далее описан пример операций, показанных на фиг. 5.[0054] An example of the operations shown in FIG. 5.

[0055] Со ссылкой далее на фиг. 6, иллюстративная блок-схема показывает вариант осуществления, в котором первый мобильный телефон 306 запрашивает информацию о перемещении от второго мобильного телефона 302. Первый мобильный телефон 306 и второй мобильный телефон 302 могут сначала осуществить связь для разрешения первому мобильному телефону 306 запрашивать и получать информацию о перемещении от второго мобильного телефона 302. Альтернативно, разрешение может произойти в ответ на прием запроса на информацию о перемещении, как показано на фиг. 6.[0055] With reference further to FIG. 6, an illustrative block diagram shows an embodiment in which the first mobile phone 306 requests movement information from the second mobile phone 302. The first mobile phone 306 and the second mobile phone 302 may first communicate to allow the first mobile phone 306 to request and receive information about movement from the second mobile telephone 302. Alternatively, resolution may occur in response to receiving a request for movement information, as shown in FIG. 6.

[0056] В то время как фиг. 6 показывает первый мобильный телефон 306, запрашивающий и принимающий информацию о перемещении от второго мобильного телефона 302, роли первого мобильного телефона 306 и второго мобильного телефона 302 могут быть изменены на обратные таким образом, чтобы второй мобильный телефон 302 запрашивал и принимал информацию о перемещении от первого мобильного телефона 306.[0056] While FIG. 6 shows the first mobile phone 306 requesting and receiving movement information from the second mobile phone 302, the roles of the first mobile phone 306 and the second mobile phone 302 can be reversed so that the second mobile phone 302 requests and receives movement information from the first mobile phone 306.

[0057] Как показано на фиг. 6, первый мобильный телефон 306 отправляет второму мобильному телефону 302 запрос 606 на информацию о перемещении, связанную со вторым мобильным телефоном 302. Например, первый мобильный телефон 306 запрашивает информацию о перемещении в ответ на прием сообщения от второго мобильного телефона 302. В некоторых вариантах осуществления, запрос 606 является зашифрованным и включает в себя идентификацию устройства для первого мобильного телефона 306 (например, идентификатор устройства), дату и время запроса 606 (или дату и время сообщения, принимаемого от второго мобильного телефона 302) и контрольную сумму.[0057] As shown in FIG. 6, the first mobile phone 306 sends to the second mobile phone 302 a request 606 for movement information associated with the second mobile phone 302. For example, the first mobile phone 306 requests movement information in response to receiving a message from the second mobile phone 302. In some embodiments, , the request 606 is encrypted and includes a device identification for the first mobile phone 306 (for example, a device identifier), the date and time of the request 606 (or the date and time of the message received from torogo mobile phone 302), and a checksum.

[0058] Второй мобильный телефон 302 принимает запрос 606, оценивает запрос 606, и отвечает на запрос 606. Например, второй мобильный телефон 302 может аутентифицировать и/или проверить достоверность запроса 606 посредством сравнения информации из запроса 606 с информацией, хранящейся во втором мобильном телефоне 302, или доступной для него. В ответ, второй мобильный телефон 302 отправляет запрошенную информацию 608 о перемещении первому мобильному телефону 306. Запрошенная информация 608 о перемещении включает в себя, например, идентификатор устройства, связанный со вторым мобильным телефоном 302, текущий маршрут, текущую широту, долготу, направление, скорость и/или другую информацию, описывающую второй мобильный телефон 302 (например, информацию о перемещении для второго мобильного телефона 302). Дополнительно, запрошенная информация 608 о перемещении может быть зашифрована.[0058] The second mobile phone 302 receives the request 606, evaluates the request 606, and responds to the request 606. For example, the second mobile phone 302 can authenticate and / or verify the authenticity of the request 606 by comparing the information from the request 606 with the information stored in the second mobile phone 302, or available to him. In response, the second mobile phone 302 sends the requested movement information 608 to the first mobile phone 306. The requested movement information 608 includes, for example, a device identifier associated with the second mobile phone 302, the current route, current latitude, longitude, direction, speed and / or other information describing the second mobile phone 302 (for example, movement information for the second mobile phone 302). Additionally, the requested move information 608 may be encrypted.

ДОПОЛНИТЕЛЬНЫЕ ПРИМЕРЫADDITIONAL EXAMPLES

[0059] В одном сценарии, информация о перемещении может быть автоматически собрана и отправлена второму пользователю 122, когда первый пользователь 104 покидает рабочую среду. В другом сценарии, информация о перемещении может быть автоматически собрана и отправлена второму пользователю 122, когда сообщено, что первое вычислительное устройство 102 украдено. В этих сценариях, информация о перемещении может быть отправлена без сообщения от первого пользователя 104 или с использованием сообщения по умолчанию.[0059] In one scenario, the movement information may be automatically collected and sent to the second user 122 when the first user 104 leaves the working environment. In another scenario, the movement information may be automatically collected and sent to the second user 122 when it is reported that the first computing device 102 is stolen. In these scenarios, movement information may be sent without a message from the first user 104 or using the default message.

[0060] Некоторые варианты осуществления предполагают реализацию как сценария ''pull'', так и сценария ''push'', например, в разных потоках, если первое вычислительное устройство 102 поддерживает множественные потоки. Например, первое вычислительное устройство 102 может проверить, было ли принято первое сообщение, предназначенное для второго пользователя 122, от первого пользователя 104 (например, первый пользователь 104 напечатал сообщение), и было ли принято второе сообщение, предназначенное для первого пользователя 104, от второго вычислительного устройства 124, оба через одноранговое соединение.[0060] Some embodiments provide for the implementation of both a “pull” script and a “push” script, for example, in different threads, if the first computing device 102 supports multiple threads. For example, the first computing device 102 may check whether the first message intended for the second user 122 was received from the first user 104 (for example, the first user 104 printed a message), and whether a second message intended for the first user 104 was received from the second computing device 124, both through a peer-to-peer connection.

[0061] В ответ на прием первого сообщения, первое вычислительное устройство 102 получает первую информацию о перемещении от датчиков 112 или другого средства, описанного здесь, и отправляет первое сообщение с первой информацией о перемещении второму вычислительному устройству 124. В качестве реакции на прием второго сообщения, первое вычислительное устройство 102 получает вторую информацию о перемещении от второго вычислительного устройства 124 (например, посредством отправки запроса на вторую информацию о перемещении второму вычислительному устройству 124) и, после приема второй информации о перемещении, представляет второе сообщение и вторую информацию о перемещении для первого пользователя 104.[0061] In response to the reception of the first message, the first computing device 102 receives the first movement information from the sensors 112 or other means described here, and sends the first message with the first movement information to the second computing device 124. In response to receiving the second message , the first computing device 102 receives the second moving information from the second computing device 124 (for example, by sending a request for the second moving information to the second computing stroystvu 124) and, upon receiving the second motion information represents the second message and a second movement information for the first user 104.

[0062] Некоторые аспекты данного раскрытия функционируют независимо от типа или класса операционной системы, функционирующей на первом вычислительном устройстве 102 и втором вычислительном устройстве 124. В таких вариантах осуществления, каждое из первого вычислительного устройства 102 и второго вычислительного устройства 124 исполняют клиентские приложения, обеспечивающие возможность однорангового обмена информацией. Дополнительно, аспекты данного раскрытия являются обратно совместимыми. Например, если второе вычислительное устройство 124 не способно отобразить или, иначе, использовать информацию о перемещении, получаемую от первого вычислительного устройства 102, то второе вычислительное устройство 124, по меньшей мере, отобразит сообщение для второго пользователя 122 и проигнорирует информацию о перемещении.[0062] Some aspects of this disclosure operate independently of the type or class of operating system operating on the first computing device 102 and the second computing device 124. In such embodiments, each of the first computing device 102 and the second computing device 124 execute client applications enabling Peer-to-peer information exchange. Additionally, aspects of this disclosure are backward compatible. For example, if the second computing device 124 is unable to display or otherwise use the movement information received from the first computing device 102, then the second computing device 124 will at least display a message to the second user 122 and ignore the movement information.

[0063] Некоторые варианты осуществления предполагают фильтрацию информации о перемещении, перед отправкой информации о перемещении, на основе местоположения отправляющего устройства и/или получателя, на устройстве, принимающем информацию о перемещении. Например, если пользователь отправляющего устройства совершает прогулку или пробежку, информация о скорости и/или направлении может не быть отправлена получателю. Напротив, некоторые варианты осуществления предполагают добавление метаданных к сообщению и/или информации о перемещении. Например, некоторые варианты осуществления предполагают добавление признаков, указывающих на срочность или важность сообщения. Срочность или важность сообщения могут быть получены из самого сообщения и/или из информации о перемещении.[0063] Some embodiments provide for filtering movement information, before sending the movement information, based on the location of the sending device and / or the receiver, on the device receiving the movement information. For example, if the user of the sending device takes a walk or jog, speed and / or direction information may not be sent to the recipient. In contrast, some embodiments contemplate adding metadata to the message and / or movement information. For example, some embodiments contemplate adding features indicative of urgency or importance of the message. The urgency or importance of the message can be obtained from the message itself and / or from the movement information.

[0064] В некоторых вариантах осуществления, ETA может быть уточнено на основе дня недели и времени, причем предшествующие данные движения транспорта, соответствующие дню недели и времени, хранящиеся в области 108 памяти, используются для уточнения ETA.[0064] In some embodiments, the ETA may be refined based on the day of the week and time, wherein previous traffic data corresponding to the day of the week and time stored in the memory area 108 is used to refine the ETA.

[0065] В некоторых вариантах осуществления, первое вычислительное устройство 102 и второе вычислительное устройство 124 могут быть в одноранговой связи друг с другом с использованием методологии связи Wi-Fi Direct с использованием защищенной настройки Wi-Fi (Wi-Fi Protected Setup). Начальное образование пар вычислительных устройств может быть выполнено в таких случаях с использованием связи ближнего радиуса действия (NFC). [0065] In some embodiments, the first computing device 102 and the second computing device 124 may be peer-to-peer to each other using a Wi-Fi Direct communication methodology using a Wi-Fi Protected Setup. Initial pairing of computing devices can be performed in such cases using short-range communication (NFC).

[0066] В некоторых вариантах осуществления, по меньшей мере, часть функциональности различных элементов, показанных на фигурах, может быть выполнена посредством других элементов на фигурах, или объекта (например, процессора, Web-службы, сервера, прикладной программы, вычислительного устройства и т.д.), не показанного на фигурах.[0066] In some embodiments, at least a portion of the functionality of the various elements shown in the figures may be performed by other elements in the figures or of an object (eg, processor, Web service, server, application program, computing device, etc.) .d.) not shown in the figures.

[0067] В некоторых вариантах осуществления, операции, показанные на фигурах, могут быть реализованы в виде команд программного обеспечения, закодированных на машиночитаемом носителе данных, в аппаратном обеспечении, запрограммированном или выполненном с возможностью выполнения операций, или в виде и того, и другого. Например, аспекты данного раскрытия могут быть реализованы в виде системы в микросхеме или других схем, включающих в себя множество взаимосоединенных, электрически проводящих элементов.[0067] In some embodiments, the operations shown in the figures may be implemented as software instructions encoded on a computer-readable storage medium in hardware programmed or configured to perform operations, or both. For example, aspects of this disclosure may be implemented as a system in a chip or other circuits including a plurality of interconnected, electrically conductive elements.

[0068] Термин ''Wi-Fi'', при использовании здесь, в некоторых вариантах осуществления, относится к беспроводной локальной сети с использованием высокочастотных радиосигналов для передачи данных. Термин ''BLUETOOTH'', при использовании здесь, в некоторых вариантах осуществления, относится к стандарту беспроводной технологии для обмена данными на коротких расстояниях с использованием коротковолновой радиосвязи. Термин ''сотовая'', при использовании здесь, в некоторых вариантах осуществления, относится к системе беспроводной связи с использованием коротковолновых радиостанций, которые, при объединении вместе, обеспечивают возможность передачи данных в широкой географической области. Термин ''NFC'', при использовании здесь, в некоторых вариантах осуществления, относится к технологии коротковолновой высокочастотной беспроводной связи для обмена данными на коротких расстояниях.[0068] The term “Wi-Fi”, as used here, in some embodiments, refers to a wireless LAN using high frequency radio signals for data transmission. The term “BLUETOOTH”, as used here, in some embodiments, refers to a wireless technology standard for exchanging data over short distances using short-wave radio communications. The term “cellular”, as used here, in some embodiments, refers to a wireless communication system using shortwave radio stations that, when combined together, provide the ability to transmit data in a wide geographic area. The term “NFC”, as used here, in some embodiments, refers to short-wave high-frequency wireless technology for exchanging data over short distances.

[0069] Варианты осуществления описаны со ссылкой на данные, отслеживаемые и/или собираемые от пользователей, например, данные местоположения или перемещения, и на совместное использование отслеженных или собранных данных с другими пользователями. Для пользователей может быть обеспечено примечание о сборе и совместном использовании данных (например, через диалоговое окно или установку предпочтений), и пользователям обеспечивают возможность дать или отменить согласие на отслеживание, сбор и/или совместное использование данных и/или настроить данные для отслеживания или сбора и/или определить, с кем эти данные совместно используются. Согласие может иметь форму явного согласия или явного несогласия.[0069] Embodiments are described with reference to data being tracked and / or collected from users, for example, location or movement data, and sharing tracked or collected data with other users. A note on data collection and sharing can be provided to users (for example, through a dialog box or setting preferences), and users are given the opportunity to give or cancel consent to the tracking, collection and / or sharing of data and / or set up data to track or collect and / or determine with whom this data is shared. Consent may take the form of explicit consent or explicit disagreement.

ИЛЛЮСТРАТИВНАЯ ОПЕРАЦИОННАЯ СРЕДАILLUSTRATIVE OPERATING ENVIRONMENT

[0070] Иллюстративные машиночитаемые носители данных включают в себя карты флэш-памяти, универсальные цифровые диски (DVD), компакт-диски (CD), гибкие диски, кассеты с магнитной лентой. В качестве примера, а не ограничения, машиночитаемые носители данных содержат компьютерные запоминающие среды и среды передачи данных. Компьютерные запоминающие среды включают в себя энергозависимые и энергонезависимые запоминающие устройства, сменные и несменные запоминающие устройства, реализованные любым способом или по любой технологии, для хранения информации, такой как машиночитаемые команды, структуры данных, программные модули и другие данные. Компьютерные запоминающие среды являются материальными и взаимоисключающими по отношению к средам передачи данных. Компьютерные запоминающие среды исключают сигналы для распространения данных. В некоторых вариантах осуществления, компьютерные запоминающие среды реализованы в аппаратном обеспечении. Иллюстративные компьютерные запоминающие среды включают в себя жесткие диски, карты флэш-памяти, и другие твердотельные запоминающие устройства. Напротив, среды передачи данных обычно включают в себя машиночитаемые команды, структуры данных, программные модули, или другие данные в виде модулированного сигнала данных, такого как модулированный сигнал на несущей частоте или на другом транспортном механизме, и включают в себя любые среды для доставки информации.[0070] Illustrative computer-readable storage media include flash memory cards, universal digital disks (DVDs), compact discs (CDs), floppy disks, and magnetic tape tapes. By way of example, and not limitation, computer-readable storage media include computer storage media and transmission media. Computer storage media includes volatile and non-volatile storage devices, removable and non-removable storage devices implemented in any way or by any technology for storing information such as computer-readable instructions, data structures, program modules and other data. Computer storage media are tangible and mutually exclusive with respect to data transmission media. Computer storage media eliminates signals for data distribution. In some embodiments, computer storage media is implemented in hardware. Illustrative computer storage media include hard drives, flash memory cards, and other solid state storage devices. In contrast, communication media typically includes computer-readable instructions, data structures, program modules, or other data in the form of a modulated data signal, such as a modulated signal on a carrier frequency or other transport mechanism, and includes any medium for delivering information.

[0071] Хотя варианты осуществления данного раскрытия описаны в связи с одной иллюстративной средой вычислительных систем, они могут быть реализованы со многими другими средами, конфигурациями или устройствами вычислительных систем общего назначения или специального назначения.[0071] Although embodiments of this disclosure are described in connection with one illustrative computing system environment, they can be implemented with many other general purpose or special purpose computing system environments, configurations, or devices.

[0072] Примеры общеизвестных вычислительных систем, сред и/или конфигураций, которые могут быть подходящими для использования с аспектами данного изобретения, включают в себя, но не ограничены этим, мобильные вычислительные устройства, персональные компьютеры, компьютеры-серверы, ручные или носимые компьютеры, системы с множеством процессоров, игровые консоли, системы на базе микропроцессоров, телевизионные приставки, программируемую потребительскую электронику, мобильные телефоны, сетевые PC, миникомпьютеры, большие электронно-вычислительные машины, распределенные вычислительные среды, которые включают в себя любые из вышеупомянутых систем или устройств, и т.п. Менее мобильные или стационарные вычислительные системы, описанные здесь, могут быть использованы по меньшей мере для приема сообщений и информации о перемещении. Такие системы или устройства могут допускать ввод данных от пользователя любым способом, включая ввод данных от входных устройств, таких как клавиатура или указывающее устройство, через ввод жестов, ввод приближением (такой как наведение курсора) и/или речевой ввод данных.[0072] Examples of well-known computing systems, environments, and / or configurations that may be suitable for use with aspects of the present invention include, but are not limited to, mobile computing devices, personal computers, server computers, handheld or wearable computers, multi-processor systems, game consoles, microprocessor-based systems, set-top boxes, programmable consumer electronics, mobile phones, network PCs, minicomputers, large electronic computers distribution machines, distributed computing environments that include any of the aforementioned systems or devices, and the like. The less mobile or stationary computing systems described herein can be used at least to receive messages and movement information. Such systems or devices may allow input from a user in any way, including input from input devices, such as a keyboard or pointing device, through gesture input, proximity input (such as hover) and / or speech input.

[0073] Варианты осуществления данного изобретения могут быть описаны в общем контексте исполняемых компьютером команд, таких как программные модули, исполняемые посредством одного или нескольких компьютеров или других устройств, в программном обеспечении, аппаратно-программном обеспечении, аппаратном обеспечении или их комбинации. Исполняемые компьютером команды могут быть организованы в один или несколько исполняемых компьютером компонентов или модулей. Обычно, программные модули включают в себя, но не ограничены этим, подпрограммы, программы, объекты, компоненты и структуры данных, которые выполняют конкретные задачи или реализуют конкретные типы абстрактных данных. Аспекты данного изобретения могут быть реализованы с использованием любого количества и любой организации таких компонентов или модулей. Например, аспекты данного изобретения не ограничены конкретными исполняемыми компьютером командами или конкретными компонентами или модулями, показанными на фигурах и описанными здесь. Другие варианты осуществления данного изобретения могут включать в себя другие исполняемые компьютером команды или компоненты, имеющие большую или меньшую функциональность, чем показанная и описанная здесь.[0073] Embodiments of the present invention can be described in the general context of computer-executable instructions, such as program modules, being executed by one or more computers or other devices, in software, firmware, hardware, or a combination thereof. Computer-executable instructions may be organized into one or more computer-executable components or modules. Typically, program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform specific tasks or implement specific types of abstract data. Aspects of the present invention can be implemented using any number and any organization of such components or modules. For example, aspects of the present invention are not limited to specific computer-executable instructions or to specific components or modules shown in the figures and described herein. Other embodiments of the present invention may include other computer-executable instructions or components having more or less functionality than shown and described herein.

[0074] Аспекты данного изобретения преобразуют компьютер общего назначения в вычислительное устройство специального назначения при выполнении с возможностью исполнения команд, описанных здесь.[0074] Aspects of the present invention transform a general-purpose computer into a special-purpose computing device when executed with the ability to execute the commands described here.

[0075] Порядок исполнения или выполнения операций в вариантах осуществления данного изобретения, показанных и описанных здесь, не является существенным, если не указано иное. А именно, операции могут быть выполнены в любом порядке, если не указано иное, и варианты осуществления данного изобретения могут включать в себя дополнительное количество или меньшее количество операций по сравнению с количеством операций, описанным здесь. Например, предполагают, что исполнение или выполнение конкретной операции перед, одновременно, или после другой операции находится в пределах объема аспектов данного изобретения.[0075] The order of execution or operation in the embodiments of the present invention shown and described herein is not essential unless otherwise indicated. Namely, the operations can be performed in any order, unless otherwise indicated, and embodiments of the present invention may include an additional number or fewer operations compared to the number of operations described herein. For example, it is contemplated that the execution or execution of a particular operation before, simultaneously, or after another operation is within the scope of the aspects of the present invention.

[0076] При введении элементов аспектов данного изобретения или их вариантов осуществления, предполагают, что упоминание элемента в единственном числе подразумевается означающим, что существует один или несколько таких элементов. Предполагается, что термины ''содержащий'', ''включающий в себя'', и ''имеющий'' являются охватывающими и означают, что могут быть дополнительные элементы, отличные от перечисленных элементов. Предполагается, что термин ''иллюстративный'' означает ''некоторый пример''. Фраза ''один или несколько из следующего: A, B и C'' означает ''по меньшей мере один A и/или по меньшей мере один B и/или по меньшей мере один C''.[0076] When introducing elements of aspects of the present invention or their embodiments, it is contemplated that the mention of the element in the singular is intended to mean that there is one or more such elements. The terms “comprising”, “including”, and “having” are intended to be encompassing and mean that there may be additional elements other than the listed elements. The term `` illustrative '' is intended to mean `` some example. '' The phrase "one or more of the following: A, B and C" means "" at least one A and / or at least one B and / or at least one C ".

[0077] При подробном рассмотрении описанных аспектов данного изобретения будет очевидно, что модификации и изменения возможны, не выходя за рамки объема аспектов данного изобретения, определяемого приложенной формулой изобретения. Поскольку различные изменения могут быть выполнены в вышеупомянутых конструкциях, продуктах и способах, не выходя за рамки объема аспектов данного изобретения, предполагается, что все раскрытие, содержащееся в приведенном выше описании и показанное в сопутствующих чертежах, должно быть интерпретировано как иллюстративное, а не ограничивающее.[0077] Upon a detailed examination of the described aspects of the present invention, it will be apparent that modifications and changes are possible without departing from the scope of the aspects of the invention defined by the appended claims. Since various changes may be made to the above constructions, products, and methods without departing from the scope of the aspects of the present invention, it is intended that the entire disclosure contained in the above description and shown in the accompanying drawings be interpreted as illustrative and not limiting.

Claims (38)

1. Система для одноранговой передачи информации о перемещении устройства, содержащая:1. A system for peer-to-peer transmission of information about the movement of the device, containing: один или более датчиков, относящихся к первому вычислительному устройству, которые обеспечивают информацию о перемещении, описывающую перемещение первого вычислительного устройства; иone or more sensors related to the first computing device, which provide movement information describing the movement of the first computing device; and процессор, относящийся к первому вычислительному устройству, который запрограммирован:a processor related to the first computing device that is programmed: принимать сообщение от первого пользователя первого вычислительного устройства, причем сообщение предназначено для второго пользователя на втором вычислительном устройстве,receive a message from a first user of a first computing device, the message being for a second user on a second computing device, в ответ на прием сообщения первым вычислительным устройством получать информацию о перемещении от одного или более датчиков, относящихся к первому вычислительному устройству,in response to receiving a message by the first computing device, obtain movement information from one or more sensors related to the first computing device, фильтровать посредством первого вычислительного устройства полученную информацию о перемещении на основе местоположения второго вычислительного устройства, содержания полученной информации о перемещении и контекста, в котором была получена информация о перемещении, при этом фильтрованная полученная информация о перемещении содержит часть полученной информации о перемещении, причем определение данной части основывается на полномочиях, определяемых динамически на основе оценки принятого сообщения,filter by the first computing device the obtained movement information based on the location of the second computing device, the content of the received movement information and the context in which the movement information was received, while the filtered received movement information contains a part of the received movement information, the definition of this part based on powers determined dynamically based on the assessment of the received message, отправлять принятое сообщение и фильтрованную полученную информацию о перемещении во второе вычислительное устройство через одноранговое соединение,send the received message and the filtered received information about the movement to the second computing device through a peer-to-peer connection, затем получать обновленную информацию о перемещении для первого вычислительного устройства от одного или более датчиков,then receive updated movement information for the first computing device from one or more sensors, сравнивать полученную обновленную информацию о перемещении с отправленной информацией о перемещении иcompare the received updated information about the movement with the sent information about the movement and отправлять полученную обновленную информацию о перемещении во второе вычислительное устройство на основе этого сравнения.send the received updated movement information to the second computing device based on this comparison. 2. Система по п. 1, в которой один или более датчиков содержат по меньшей мере одно из акселерометра, гироскопа, приемника глобальной навигационной системы (GPS) и приемопередатчика беспроводной сети.2. The system of claim 1, wherein the one or more sensors comprise at least one of an accelerometer, a gyroscope, a global navigation system (GPS) receiver, and a wireless network transceiver. 3. Система по п. 1, при этом информация о перемещении содержит по меньшей мере одно из маршрута и скорости.3. The system of claim 1, wherein the movement information comprises at least one of a route and speed. 4. Система по п. 1, в которой процессор запрограммирован отправлять полученную обновленную информацию о перемещении во второе вычислительное устройство по определению того, что полученная обновленная информация о перемещении указывает на перемещение, отличное от перемещения, указанного отправленной информацией о перемещении.4. The system of claim 1, wherein the processor is programmed to send the received updated movement information to a second computing device, determining that the received updated movement information indicates a movement other than the movement indicated by the sent movement information. 5. Система по п. 1, в которой процессор запрограммирован впоследствии получать обновленную информацию о перемещении на основе частоты обновления, хранящейся в области памяти.5. The system of claim 1, wherein the processor is programmed to subsequently receive updated movement information based on the update frequency stored in the memory area. 6. Система по п. 1, в которой информация о перемещении содержит первое расчетное время прибытия, причем обновленная информация о перемещении содержит второе расчетное время прибытия, при этом процессор запрограммирован отправлять полученную обновленную информацию о перемещении во второе вычислительное устройство по определению того, что второе расчетное время прибытия отличается от первого расчетного времени прибытия на заранее заданную пороговую величину.6. The system of claim 1, wherein the movement information comprises a first estimated arrival time, wherein the updated movement information contains a second estimated arrival time, wherein the processor is programmed to send the received updated movement information to a second computing device by determining that the second The estimated arrival time differs from the first estimated arrival time by a predetermined threshold. 7. Система по п. 1, в которой процессор запрограммирован отправлять принятое сообщение и фильтрованную информацию о перемещении во второе вычислительное устройство в одном и том же сообщении или в разных сообщениях.7. The system of claim 1, wherein the processor is programmed to send the received message and filtered movement information to the second computing device in the same message or in different messages. 8. Система по п. 1, дополнительно содержащая область памяти, хранящую набор идентификаторов пользователей и полномочий, связанных с ними, причем процессор запрограммирован получать информацию о перемещении и отправлять принятое сообщение и полученную информацию о перемещении во второе вычислительное устройство на основе полномочий, соответствующих второму пользователю.8. The system of claim 1, further comprising a memory area storing a set of user IDs and privileges associated with them, the processor being programmed to receive movement information and send the received message and received movement information to the second computing device based on the authority corresponding to the second to the user. 9. Способ одноранговой связи, содержащий этапы, на которых:9. A peer-to-peer communication method, comprising the steps of: принимают посредством первого вычислительного устройства сообщение от второго вычислительного устройства;receive, by the first computing device, a message from the second computing device; в качестве реакции на прием сообщения запрашивают посредством первого вычислительного устройства информацию о перемещении у второго вычислительного устройства, описывающую перемещение второго вычислительного устройства;in response to receiving the message, requesting, by the first computing device, movement information from the second computing device describing the movement of the second computing device is requested; принимают посредством первого вычислительного устройства фильтрованную полученную информацию о перемещении от второго вычислительного устройства через одноранговое соединение, при этом фильтрованная полученная информация о перемещении сформирована посредством получения информации о перемещении от одного или более датчиков, относящихся к первому вычислительному устройству, и фильтрации полученной информации о перемещении на основе местоположения первого вычислительного устройства, содержания полученной информации о перемещении и контекста, в котором была получена информация о перемещении, при этом фильтрованная полученная информация о перемещении содержит часть полученной информации о перемещении, причем определение данной части полученной информации о перемещении основывается на полномочиях, определяемых динамически на основе оценки упомянутого запроса; иreceive, by means of the first computing device, the filtered received information about the movement from the second computing device through a peer-to-peer connection, while the filtered received information about the movement is generated by receiving information about the movement from one or more sensors related to the first computing device and filtering the received information about the movement on based on the location of the first computing device, the content of the obtained movement information and the context in which the movement information was received, wherein the filtered received movement information contains a part of the received movement information, the determination of this part of the received movement information being based on powers determined dynamically based on the assessment of said request; and представляют принятое сообщение и принятую фильтрованную полученную информацию о перемещении пользователю первого вычислительного устройства.present the received message and the received filtered received information about the movement to the user of the first computing device. 10. Способ по п. 9, в котором при упомянутом представлении пользователю принятого сообщения и принятой фильтрованной информации о перемещении отображают принятое сообщение и принятую фильтрованную информацию о перемещении в одном приложении, исполняющемся на первом вычислительном устройстве.10. The method according to claim 9, in which, when said user is presented with a received message and received filtered movement information, the received message and the received filtered movement information are displayed in a single application running on the first computing device. 11. Способ по п. 9, в котором при упомянутом представлении пользователю принятого сообщения и принятой фильтрованной информации о перемещении отображают принятое сообщение и принятую фильтрованную информацию о перемещении в одном элементе пользовательского интерфейса, отображаемом на первом вычислительном устройстве.11. The method according to claim 9, in which, when the user is presented with the received message and the received filtered information about the movement, the received message and the received filtered information about the movement are displayed in one user interface element displayed on the first computing device. 12. Способ по п. 9, в котором информация о перемещении запрашивается у второго вычислительного устройства без ввода со стороны пользователя первого вычислительного устройства.12. The method according to claim 9, in which information about the movement is requested from the second computing device without input from the user of the first computing device. 13. Способ по п. 9, в котором принятое сообщение является сообщением от инициирующего пользователя, при этом способ дополнительно содержит этап, на котором сравнивают инициирующего пользователя с набором пользователей, связанных с пользователем первого вычислительного устройства, при этом информация о перемещении запрашивается на основе этого сравнения.13. The method of claim 9, wherein the received message is a message from the initiating user, the method further comprising comparing the initiating user with a set of users associated with the user of the first computing device, wherein movement information is requested based on this comparisons. 14. Способ по п. 13, в котором запрашивание информации о перемещении блокируют по определению того, что инициирующий пользователь является заблокированным пользователем, на основе упомянутого сравнения. 14. The method of claim 13, wherein the request for movement information is blocked by determining that the initiating user is a blocked user, based on said comparison. 15. Способ по п. 13, в котором запрашивание информации о перемещении разрешают по определению того, что инициирующий пользователь является разрешенным пользователем, на основе упомянутого сравнения.15. The method of claim 13, wherein requesting movement information is permitted by determining that the initiating user is a permitted user, based on said comparison. 16. Способ по п. 13, дополнительно содержащий этап, на котором автоматически заполняют упомянутый набор пользователей на основе по меньшей мере одного из контактов, календарных записей и предыдущих сообщений, связанных с пользователем первого вычислительного устройства.16. The method of claim 13, further comprising the step of automatically filling said set of users based on at least one of the contacts, calendar entries, and previous messages associated with the user of the first computing device. 17. Машиночитаемый носитель информации, на котором сохранены машиноисполняемые инструкции, которые при их исполнении предписывают по меньшей мере одному процессору обеспечивать совместное использование информации о перемещении устройства посредством того, что:17. A machine-readable storage medium on which machine-executable instructions are stored, which, when executed, require at least one processor to share information about the movement of the device by means of: принимают первое сообщение от первого пользователя первого вычислительного устройства и второе сообщение от второго пользователя второго вычислительного устройства, причем первое сообщение предназначено для второго пользователя, а второе сообщение предназначено для первого пользователя,receive the first message from the first user of the first computing device and the second message from the second user of the second computing device, the first message is for the second user, and the second message is for the first user, в ответ на прием первого сообщения получают первую информацию о перемещении от одного или более датчиков первого вычислительного устройства и фильтруют полученную первую информацию о перемещении на основе местоположения второго вычислительного устройства, содержания полученной первой информации о перемещении и контекста, в котором была получена первая информация о перемещении, при этом фильтрованная полученная первая информация о перемещении содержит часть полученной первой информации о перемещении, причем определение данной части полученной первой информации о перемещении основывается на полномочиях, определяемых динамически на основе оценки принятого первого сообщения, при этом первая информация о перемещении описывает перемещение первого вычислительного устройства;in response to receiving the first message, first moving information is received from one or more sensors of the first computing device, and the received first moving information is filtered based on the location of the second computing device, the content of the first moving information and the context in which the first moving information was received , while the filtered received first information about the movement contains part of the received first information about the movement, and the definition of this part and the first movement information obtained is based on powers determined dynamically based on the evaluation of the received first message, wherein the first movement information describes the movement of the first computing device; в ответ на прием второго сообщения получают вторую информацию о перемещении от второго вычислительного устройства, причем вторая информация о перемещении описывает перемещение второго вычислительного устройства;in response to receiving the second message, second movement information is received from the second computing device, the second moving information describing the movement of the second computing device; отправляют принятое первое сообщение и фильтрованную полученную первую информацию о перемещении во второе вычислительное устройство через одноранговое соединение; иsending the received first message and the filtered received first movement information to the second computing device via a peer-to-peer connection; and представляют принятое первое сообщение и фильтрованную полученную первую информацию о перемещении второму пользователю.presenting the received first message and the filtered received first movement information to the second user. 18. Машиночитаемый носитель информации по п. 17, в котором машиноисполняемые инструкции предписывают процессору получать первую информацию о перемещении и отправлять принятое первое сообщение и фильтрованную полученную первую информацию о перемещении во второе вычислительное устройство на основе по меньшей мере одного из местоположения первого вычислительного устройства, времени суток, оставшегося времени работы батареи первого вычислительного устройства и категории принятого первого сообщения.18. The computer-readable storage medium according to claim 17, wherein the computer-executable instructions instruct the processor to obtain first movement information and send the received first message and filtered first movement information received to the second computing device based on at least one location of the first computing device, time days, the remaining battery life of the first computing device and the category of the received first message. 19. Машиночитаемый носитель информации по п. 17, в котором машиноисполняемые инструкции предписывают процессору получать первую информацию о перемещении и отправлять принятое первое сообщение и фильтрованную полученную первую информацию о перемещении во второе вычислительное устройство без ввода со стороны первого пользователя.19. The computer-readable storage medium according to claim 17, wherein the computer-executable instructions instruct the processor to receive the first information about the movement and send the received first message and the filtered received first information about the movement to the second computing device without input from the first user. 20. Машиночитаемый носитель информации по п. 17, при этом первая информация о перемещении содержит текущее местоположение первого вычислительного устройства.20. The computer-readable storage medium according to claim 17, wherein the first movement information comprises the current location of the first computing device.
RU2015138977A 2013-03-15 2014-03-10 Peer-to-peer device movement communications RU2676881C2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/831,895 2013-03-15
US13/831,895 US9198002B2 (en) 2013-03-15 2013-03-15 Peer-to-peer device movement communications
PCT/US2014/022221 WO2014150097A1 (en) 2013-03-15 2014-03-10 Peer-to-peer device movement communications

Publications (3)

Publication Number Publication Date
RU2015138977A RU2015138977A (en) 2017-03-16
RU2015138977A3 RU2015138977A3 (en) 2018-03-19
RU2676881C2 true RU2676881C2 (en) 2019-01-11

Family

ID=50397307

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015138977A RU2676881C2 (en) 2013-03-15 2014-03-10 Peer-to-peer device movement communications

Country Status (11)

Country Link
US (1) US9198002B2 (en)
EP (1) EP2974160B1 (en)
JP (1) JP6442470B2 (en)
KR (1) KR102119292B1 (en)
CN (1) CN105247818B (en)
AU (1) AU2014237527B2 (en)
BR (1) BR112015019677A8 (en)
CA (1) CA2898660C (en)
MX (1) MX352435B (en)
RU (1) RU2676881C2 (en)
WO (1) WO2014150097A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI691929B (en) * 2016-02-17 2020-04-21 原相科技股份有限公司 Interactive service platform and operating method thereof
CN106385662A (en) * 2016-08-31 2017-02-08 青岛歌尔声学科技有限公司 Motion data interaction method and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080032666A1 (en) * 2006-08-07 2008-02-07 Microsoft Corporation Location based notification services
US20080032703A1 (en) * 2006-08-07 2008-02-07 Microsoft Corporation Location based notification services
US20080070593A1 (en) * 2006-06-01 2008-03-20 Altman Samuel H Secure and private location sharing for location-aware mobile communication devices
US20090325603A1 (en) * 2008-06-30 2009-12-31 Apple Inc. Location sharing
RU2406265C2 (en) * 2007-10-15 2010-12-10 ЭлДжи ЭЛЕКТРОНИКС ИНК. Communication device and method in it for provision of location information

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124464A (en) * 1996-10-22 1998-05-15 Toshiba Corp Information processor and message transmitting method
JP2004364222A (en) * 2003-06-09 2004-12-24 Sony Corp Information terminal device and information processing method
JP2005026952A (en) * 2003-07-01 2005-01-27 Hitachi Ltd Distributed communication system
US7443283B2 (en) * 2004-02-19 2008-10-28 Massachusetts Institute Of Technology Methods and apparatus for connecting an intimate group by exchanging awareness cues and text, voice instant messages, and two-way voice communications
WO2006017668A1 (en) 2004-08-04 2006-02-16 Celltitude, Inc. Determining location of a wireless handset from another wireless handset
EP1835771A4 (en) * 2004-12-28 2012-01-04 Sharp Kk Mobile terminal, communication terminal, location notifying system using them, and location notifying method
JP2007071665A (en) * 2005-09-06 2007-03-22 Denso Corp Navigation system
US8451998B2 (en) * 2007-03-19 2013-05-28 At&T Intellectual Property I, L.P. System and method for providing location information
US8032472B2 (en) 2007-04-04 2011-10-04 Tuen Solutions Limited Liability Company Intelligent agent for distributed services for mobile devices
US8291067B2 (en) 2007-06-29 2012-10-16 Microsoft Corporation Providing access to presence information using multiple presence objects
JP4976243B2 (en) * 2007-09-05 2012-07-18 株式会社エヌ・ティ・ティ・ドコモ Emergency response system and emergency response method
ES2618044T3 (en) 2007-10-25 2017-06-20 Blackberry Limited Sending location information from a communications application
US8135377B2 (en) 2007-12-27 2012-03-13 Mitac International Corporation Attaching location data to a SMS message
US8588814B2 (en) 2008-02-05 2013-11-19 Madhavi Jayanthi Client in mobile device for sending and receiving navigational coordinates and notifications
US8634855B2 (en) * 2008-07-18 2014-01-21 At&T Intellectual Property I, L.P. System and method for sharing location information
US9456298B2 (en) * 2008-08-04 2016-09-27 Apple Inc. Device-to-device location awareness
JP2010190743A (en) * 2009-02-18 2010-09-02 Equos Research Co Ltd Navigation system and navigation device
JP4739438B2 (en) * 2009-03-26 2011-08-03 株式会社エヌ・ティ・ティ・ドコモ Communication terminal and mail reply method
US8447325B2 (en) 2009-06-11 2013-05-21 Wavemarket, Inc. Mobile device communication system and method
CN101815100A (en) * 2010-04-23 2010-08-25 黄景楠 Information sharing and pushing system based on address list of mobile phone
US8930452B2 (en) * 2010-12-20 2015-01-06 Harman International Industries, Incorporated System and method for automatically posting user-location information to a social network
US20120276922A1 (en) * 2011-04-28 2012-11-01 Ho-Sung Chien Method of Handling Velocity Triggered SUPL Service and Related Communication Device
US8971924B2 (en) * 2011-05-23 2015-03-03 Apple Inc. Identifying and locating users on a mobile network
US8787944B2 (en) * 2011-08-18 2014-07-22 Rivada Research, Llc Method and system for providing enhanced location based information for wireless handsets

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080070593A1 (en) * 2006-06-01 2008-03-20 Altman Samuel H Secure and private location sharing for location-aware mobile communication devices
US20080032666A1 (en) * 2006-08-07 2008-02-07 Microsoft Corporation Location based notification services
US20080032703A1 (en) * 2006-08-07 2008-02-07 Microsoft Corporation Location based notification services
RU2406265C2 (en) * 2007-10-15 2010-12-10 ЭлДжи ЭЛЕКТРОНИКС ИНК. Communication device and method in it for provision of location information
US20090325603A1 (en) * 2008-06-30 2009-12-31 Apple Inc. Location sharing

Also Published As

Publication number Publication date
BR112015019677A8 (en) 2019-11-05
KR20150132493A (en) 2015-11-25
JP6442470B2 (en) 2018-12-19
MX352435B (en) 2017-11-24
JP2016524350A (en) 2016-08-12
KR102119292B1 (en) 2020-06-04
AU2014237527B2 (en) 2017-02-16
BR112015019677A2 (en) 2017-07-18
US20140274142A1 (en) 2014-09-18
CA2898660A1 (en) 2014-09-25
CN105247818A (en) 2016-01-13
RU2015138977A (en) 2017-03-16
CN105247818B (en) 2019-09-24
WO2014150097A1 (en) 2014-09-25
CA2898660C (en) 2021-10-12
US9198002B2 (en) 2015-11-24
EP2974160B1 (en) 2017-09-20
EP2974160A1 (en) 2016-01-20
MX2015012829A (en) 2016-02-03
AU2014237527A1 (en) 2015-08-06
RU2015138977A3 (en) 2018-03-19

Similar Documents

Publication Publication Date Title
US9866997B2 (en) Systems and methods for geo-location based message streams
US10111036B2 (en) Location based notification services
KR101418640B1 (en) Identifying and locating users on a mobile network
US10278012B2 (en) Location-based reminding method, indication device, reminding device, and mobile terminal
US8260553B2 (en) Methods, apparatuses, and computer program products for providing user location information
KR101891669B1 (en) Mobile ad hoc networking
CN106576224A (en) Geofence Protection Notification Subscription
US20240371252A1 (en) Separation Alerts for Notification While Traveling
US20240380575A1 (en) Server-Mediated Management of Accessory Device Sharing
RU2676881C2 (en) Peer-to-peer device movement communications
US20240276177A1 (en) Find My using Delegated Location
EP2693778B1 (en) Managing Of Application Access To Centrally Stored Place-Related Data On A Mobile Device
WO2024173279A1 (en) Find my using delegated location
US20140194144A1 (en) Processing place markers