Определение детального местоположения сетевых компьютеров

Иллюстрации

Показать все

Изобретение относится к способам определения местоположения в сетевых коммуникационных системах. Технический результат заключается в повышении скорости определения местоположения в сетевых коммуникационных системах. Способ содержит этапы, на которых: определяют, используется ли целевое компьютерное устройство в основном локально, является ли целевое компьютерное устройство многопользовательским устройством, является ли представляющий интерес пользователь основным пользователем целевого компьютерного устройства, извлекают информацию о физическом местоположении для представляющего интерес пользователя, определяют показатель достоверности на основе одного или более из отношения локального использования к удаленному использованию, отношения пикового использования к среднему использованию для локальных пользователей целевого компьютерного устройства и ввода от представляющего интерес пользователя; предоставляют информацию о физическом местоположении. 3 н. и 12 з.п. ф-лы, 7 ил.

Реферат

ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ

С развитием расширенных вычислительных способностей вычислительные устройства с меньшими или высокими функциональными возможностями используются при предоставлении связи и других сервисов все время увеличивающемуся числу пользователей. Пользуясь преимуществом систем определения местоположения, таких как Сервис Глобального Позиционирования (GPS), отслеживание сотовых телефонов и аналогичные системы, современные коммуникационные устройства используются для предоставления пользователям широкого ряда сервисов, основанных на определении местоположения.

Службы неотложной помощи являются одним жизненно важным аспектом современных коммуникационных систем. В дни стандартной телефонии, использующей коммутируемую телефонную сеть общего пользования (PSTN), системы неотложной помощи, такие как 911, 999, 112 и т.д., полагаются на информацию о местоположении, поддерживаемую администраторами сети. Это было достаточным, так как телефоны "наземной линии" типично были немобильными. Однако беспроводные устройства и сетевые компьютеры все больше и больше используются для обеспечения различных режимов связи. С помощью этих новых устройств не только определение местоположения является сложной задачей, но и определение того, действительно ли устройство используется назначенным пользователем, также не просто осуществить.

Таким образом, предоставление сервисов неотложной помощи в современной коммуникационной сети представляет сложную задачу, по меньшей мере касательно местоположения пользователя. Когда пользователь делает неотложный вызов, вызов нужно маршрутизировать в правильную диспетчерскую службу для того, чтобы предоставить своевременный сервис в правильном местоположении.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

Это краткое изложение сущности изобретения предоставлено для того, чтобы представить подборку концепций в упрощенной форме, которые дополнительно описаны ниже в подробном описании. Это краткое изложение сущности изобретения не предназначено ни для исключительной идентификации ключевых признаков или существенных признаков заявленного изобретения, ни для использования в качестве помощи в определении объема заявленного изобретения.

Варианты осуществления направлены на определение показателей достоверности, таких как удаленное использование компьютера по сравнению с локальным, основной пользователь в многопользовательском вычислительном окружении и сравнимые показатели для определения местоположения сетевых абонентов. Определение детального местоположения может быть затем сделано на основе этих показателей и справочной информации для конкретного пользователя, так чтобы сервисы, такие как сервисы неотложной помощи, могли быть обеспечены точной информацией о местоположении.

Эти и другие признаки и преимущества будут очевидны после прочтения нижеследующего подробного описания и просмотра связанных с ним чертежей. Следует понимать, что и упомянутое выше общее описание, и следующее подробное описание являются разъясняющими и не ограничивают заявленные аспекты.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

На фиг.1 показана схема примерной многосетевой коммуникационной системы, где сервисы неотложной помощи могут быть предоставлены используя определение местоположения абонентов согласно вариантам осуществления;

На фиг.2 проиллюстрирован сервер информации о местоположении, взаимодействующий с клиентскими устройствами для того, чтобы реализовать систему согласно вариантам осуществления;

На фиг.3 проиллюстрировано определение местоположения в сетевом окружении, различающее между одно- и многопользовательскими вычислительными устройствами;

На фиг.4 показано сетевое окружение, где может быть реализована система согласно вариантам осуществления;

На фиг.5 показана блок-схема примерного вычислительного операционного окружения, где могут быть реализованы варианты осуществления;

На фиг.6 проиллюстрирована логическая схема последовательности операций для процесса определения информации о местоположении в сетевом вычислительном окружении согласно вариантам осуществления; и

На фиг.7 проиллюстрирована логическая схема последовательности операций для другого процесса определения информации о местоположении в сетевом вычислительном окружении с дополнительными подробными этапами.

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

Как кратко описано выше, информация о детальном местоположении для пользователей в сетевом вычислительном окружении может быть определена на основе показателей достоверности. В нижеследующем подробном описании ссылки сделаны на сопутствующие чертежи, которые формируют его часть и на которых показаны в качестве иллюстраций конкретные варианты осуществления или примеры. Эти аспекты могут быть скомбинированы, другие аспекты могут быть использованы, и структурные изменения могут быть сделаны, не отступая от сущности и объема настоящего раскрытия. Следующее подробное описание в следствие этого не следует принимать в ограничивающем смысле, и объем настоящего изобретения определяется прилагаемой формулой изобретения и их эквивалентами.

Хотя варианты осуществления будут описаны в общем контексте программных модулей, которые исполняются совместно с прикладной программой, которая выполняется под операционной системой на персональном компьютере, специалистом в данной области техники должно быть понятно, что аспекты могут быть также реализованы в комбинации с другими программными модулями.

В общем, программные модули включают в себя процедуры программы, программы, компоненты, структуры данных и другие типы структур, которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Более того, специалисты в данной области техники поймут, что варианты осуществления могут быть применены на практике с другими конфигурациями компьютерных систем, включая карманные устройства, мультипроцессорные устройства, программируемую бытовую электронику на основе микропроцессоров, миникомпьютеры, мейнфреймы и сравнимые вычислительные устройства. Варианты осуществления могут быть также применены на практике в распределенных вычислительных окружениях, где задачи выполняются устройствами удаленной обработки данных, которые соединены через коммуникационную сеть. В распределенном вычислительном окружении программные модули могут быть расположены как в локальных, так и удаленных накопительных устройствах.

Варианты осуществления могут быть реализованы как компьютерно реализуемый процесс (способ), как вычислительная система или как промышленное изделие, такое как компьютерный программный продукт или считываемые компьютером носители. Компьютерный программный продукт может быть компьютерным накопителем, который считывается компьютерной системой и на котором закодирована компьютерная программа, которая содержит инструкции для побуждения компьютера или вычислительной системы выполнять примерный процесс(ы). Считываемый компьютером носитель информации может быть, например, реализован посредством одной или более из энергозависимой компьютерной памяти, энергонезависимой памяти, накопителя на жестких дисках, flash-накопителя, гибкого магнитного диска или компакт-диска и сравнимых носителей.

Во всем этом описании, термин "платформа" может быть комбинацией программных и аппаратных компонентов для управления сетевыми коммуникационными системами. Примеры платформ включают в себя, но не ограничены этим, размещенный сервис, исполняемый на множестве серверов, приложение, исполняемое на одиночном сервере, и сравнимые системы. Термин "сервер" в общем относится к вычислительному устройству, исполняющему одну или более программ программного обеспечения, типично в сетевом окружении. Однако сервер может быть также реализован как виртуальный сервер (программы программного обеспечения), исполняемый на одном или более вычислительных устройствах, видимый как сервер в сети. Более подробно об этих технологиях и примерных операциях рассказано ниже.

На фиг.1 показана схема примерной многосетевой коммуникационной системы, где сервисы неотложной помощи могут быть предоставлены используя определение местоположения абонентов согласно вариантам осуществления. При схеме 100, пользователи могут осуществлять связь посредством клиентских устройств 104 и 106 через сети 110. Сервис 108 управления сетью/связью может управлять различными аспектами сетевых операций, включая поддержание справочного сервиса, хранящего информацию, такую как местоположения пользователей (например, пользовательские офисы/кабинки в организации). Сети 110 могут включать в себя одну или более различных сетей и подсетей. Клиентские устройства 104, 106 могут включать в себя любое вычислительное устройство, способное исполнять приложения для обеспечения связи и других операций обмена данными.

Некоторое количество сервисов может быть предоставлено пользователям через сети 110 (например, хранение данных, поиск, вычисление, анализ и много еще). Некоторые из трех сервисов могут быть сервисами, основанными на определении местоположения. Сервис 102 неотложной помощи является примером сервиса, основанного на определении местоположения. Если пользователь сообщает о чрезвычайной ситуации посредством коммуникационного приложения через сети 110, вызов (аудио, видео, текстовый или другого режима) может быть нужно маршрутизировать в соответствующую диспетчерскую службу, которая может оптимально обслужить данный вызов, и бригады реагирования на чрезвычайную ситуацию нужно своевременно направить в местоположение сообщающего пользователя. Таким образом, знание точного местоположения сообщающего пользователя нужно для сервиса 102 неотложной помощи.

В системе согласно вариантам осуществления, сервис 112 информации о местоположении может использовать показатели достоверности для определения местоположения абонента сетевой коммуникационной системы, использующего вычислительное устройство для связи. Одним из показателей, который может быть использован, является локальное или удаленное использование вычислительного устройства, посредством которого обеспечивается связь. Один или более пользователей могут использовать вычислительное устройство посредством логического входа удаленно или локально. Если машину в основном используют удаленно, ее физическое местоположение может быть несоответствующим местоположению конкретного абонента и, вследствие этого, бесполезным для сервиса, основанного на определении местоположения.

Другим показателем, который может быть использован, является определение основного пользователя для многопользовательских вычислительных устройств. Если абонент не является основным пользователем машины, вероятность нахождения абонента в том же местоположении, что и машина, уменьшается. Таким образом, показатель достоверности для основного пользователя машины может быть определен на основе записей о логическом входе/логическом выходе или информации об аналогичном использовании.

Для предотвращения ошибок из-за ошибок записей или фальсифицированных адресов, может быть также выполнено подтверждение. Согласно примерному сценарию, предварительно заданное число вычислительных устройств в той же подсети, что и целевая машина может быть выбрано в качестве "удостоверяющего набора". Обследование топографии сети, такое как обнаружение топологии канального уровня (LLTD), может быть использовано для проверки того, машины удостоверяющего набора на самом деле находятся в одной и той подсети. Далее, может быть определено локальное/удаленное использование целевой машины. Если машина в основном используется локально, но множественными пользователями, показатель основного пользователя может быть использован для определения основного пользователя вычислительного устройства. Если оба (или больше) показателей удовлетворены, местоположение машины может быть сопоставлено с записанным местоположением абонента, используя справочный сервис для точного определения местоположения абонента. Затем может быть предоставлен сервис(ы), основанный на определении местоположения, такой как маршрутизация неотложного вызова или отправка служб неотложной помощи в местоположение абонента.

Другим аспектом точного определения местоположения является определение вероятности фальсификации. Ошибки из-за проблем в схеме соединений отличаются от тех, что возникают из-за фальсификации. В случае ошибок целью является обнаружить ошибки схемы соединений и исправить их, предпочтительно, до неотложного вызова. В такой ситуации сервер информации о местоположении (LIS) может использовать алгоритм для проверки правдоподобности полученного местоположения по схеме соединений перед предоставлением ее клиенту. Если LIS решает, что местоположение является неправдоподобным (например, удостоверяющий набор находится в другом здании, чем то, что указано схемой соединений), LIS может предпринять некоторое действие, такое как увеличение неопределенной области, или даже (в экстремальных условиях) отказ в предоставлении местоположения клиенту, в то же время регистрируя ошибку, которая может быть впоследствии обследована администратором. В результате выполнения алгоритма LIS может быть способен лучше удовлетворять себя в отношении точности и действительности информации о местоположении, которые он предоставляет клиенту. Согласно некоторым вариантам осуществления LIS может фактически подписать информацию о местоположении, которую он предоставляет клиенту, гарантируя точность данных о местоположении, впоследствии переданных точке доступа публичного сервиса (PSAP) клиентом.

В случае фальсифицированного местоположения(й) был сделан неотложный вызов, и вопрос состоит в том, является ли местоположение, которое было приложено к вызову, правдоподобным. Предположительно, этот вопрос возникает, так как приложенное местоположение является не подписанным или иначе приписываемым LIS, и вследствие этого третья сторона (например, SIP прокси) может попытаться проверить действительность местоположения, предоставленного пользователем, которое могло быть введено вручную или изменено каким-то образом с местоположения, предоставленного клиенту посредством LIS. Типично, вручную местоположение вводят только в ситуации, где либо не доступно автоматическое определение местоположения, либо где пользователем была потенциально обнаружена ошибка. Таким образом, этот сценарий может быть значительно более сложным, и может потребоваться гораздо большее обременение доказывания, чтобы переопределить заявляемое местоположение пользователя. Вследствие этого в дополнение к потенциальному определению неопределенности определения местоположения система согласно вариантам осуществления может также вычислить вероятность фальсификации, используя показатели достоверности, описанные в настоящем документе.

На фиг.2 проиллюстрирован сервер информации о местоположении, взаимодействующий с клиентскими устройствами для того, чтобы реализовать систему согласно вариантам осуществления. Сервер 214 информации о местоположении со схемы 200 может использовать логический вход, логический выход, повторное подключение, отключение, начальную загрузку, перезагрузку, выключение, блокировку/разблокировку рабочей станции, отключение экранной заставки или аналогичные события от клиентских устройств с 216 по 224 для определения локального использования по сравнению с удаленным для каждой машины. Например, может быть вычислено распределение времени, проведенного в состоянии логического входа, по отношению к идентификатору пользователя как для локальных, так и для удаленных логических входов. Если использование для конкретного клиентского устройства определено локальным, может быть определен другой показатель на основе одно- или многопользовательского использования, как рассмотрено более подробно ниже.

Если оба показателя удовлетворены, сервер 214 информации о местоположении может осуществить поиск физического местоположения целевого пользователя (например, показателя, сообщающего о чрезвычайной ситуации) и сопоставить это местоположение с уровнем достоверности целевого клиентского устройства. Например, офис главного пользователя может быть определен из базы данных (например, запросом базы данных к базе данных персонала). Соответствующие сервисы, основанные на определении местоположения, могут быть затем предоставлены на основе определенной информации.

Определение местоположения может быть выполнено в ответ на событие, такое как запрос от сервиса, основанного на определении местоположения, периодически или со случайными интервалами. Согласно некоторым вариантам осуществления может быть выполнена верификация того, что местоположение не изменилось, посредством проверки случайно выбранных машин(ы) из удостоверяющего набора и подтверждения того, что они все еще находятся в той же подсети (например, используя LLTD). Сервер 214 информации о местоположении может также передавать ассоциированный показатель(и) достоверности каждый раз, когда он предоставляет строку местоположения сервису, основанному на определении местоположения.

Некоторые сервисы, основанные на определении местоположения, такие как расширенные сервисы неотложной помощи (E911), требуют журнал аудита, так что происхождение информации о местоположении может быть верифицировано и можно избежать шутливых вызовов, побуждающих службы неотложной помощи реагировать на местоположение, определенное шутником. Это играет конкретную роль, когда местоположение полностью или частично определено на основе пользовательского ввода. Аудит может требовать отслеживание происхождения местоположения (например, как было сделано определение, откуда пришли данные), равно как и действий пользователя/устройства (какой пользователь/устройство отправил запрос местоположения или сделал неотложный вызов). Так как идентификационная информация пользователя, использованная на различных этапах процесса, может быть разной (например, идентификационная информация протокола инициализации сеанса "SIP", MAC-адрес устройства, IP-адрес устройства или аутентифицированная идентификационная информация внутри протокола конфигурации местоположения), образование полного журнала аудита может быть не тривиальным.

Следующее является примерным алгоритмом, который может быть реализован в информации о местоположении или сервере с аналогичной задачей для поддержания точных и актуальных данных о местоположении. Согласно примерному алгоритму протокол динамической конфигурации хостов "DHCP" или аналогичные журналы регистрации могут быть использованы для выбора предварительно заданного числа вычислительных устройств в одной и той же сети. Можно осуществить контакт (например, эхо-тестированием) с этими машинами "удостоверяющего набора" для подтверждения, что они все еще в состоянии «онлайн». Дополнительная проверка (например, LLTD) может быть использована для подтверждения, что машины находятся в одном и том же домене широковещательной передачи (подсети). Эти проверки подтверждают, что машины удостоверяющего набора находятся грубо в одном и том же местоположении.

Из журналов регистрации событий безопасности или хранилищ аналогичных данных для каждой машины в удостоверяющем наборе, релевантные события для всех пользователей, которые осуществили логический вход на машину, могут быть получены для предварительно заданного периода. Предварительно заданный период может быть выбран так, что исключительные случаи, наподобие отпуска, могут быть учтены соответствующим образом. Релевантные события могут включать в себя, но не ограничены этим, логический вход, логический выход, повторное подключение, отключение, начальную загрузку, перезагрузку, выключение, блокировку/разблокировку рабочей станции, отключение экранной заставки или аналогичные события. Далее, показатель локального/удаленного использования может быть вычислен (например, на основе распределения времени, проведенного в состоянии логического входа по отношению к идентификатору пользователя как для локальных, так и для удаленных логических входов) для каждой машины. Если показатель локального/удаленного использования находится за предварительно заданным пределом для конкретной машины, то данную машину в основном используют локальные пользователи. Иначе, данная машина является для удаленного использования и не релевантна для определения местоположения.

Алгоритм может затем вычислить показатель основного пользователя на основе числа пользователей и суммарного времени, проведенного каждым пользователем на конкретной машине. Если определено, что пользователь является основным пользователем машины, или определено, что машина является однопользовательской машиной, может быть запрошен справочный сервис для получения информации о физическом местоположении в офисе, связанной с пользователем.

В необязательном порядке алгоритм кластеризации может быть выполнен для машин в удостоверяющем наборе в отношении их выбранных местоположений в офисе. Посторонние - машины, где сервис справочной информации может не предоставлять правильный ответ - могут быть помечены более низкой достоверностью, или о них может быть оповещено администратором. Согласно дополнительным вариантам осуществления вплоть до предварительно заданного числа удостоверяющего набора могут быть классифицированы как посторонние. Это обеспечивает устойчивость против ошибок изолированной справочной информации. При добавлении новой машины к сервису информации о местоположении алгоритм полной кластеризации может быть не нужен. Расстояние до новой машины может быть вычислено исходя из случайно избранного члена его удостоверяющего набора. Если расстояние существенно небольшое, данная машина может рассматриваться как часть удостоверяющего набора с высокой достоверностью.

Сервер 214 информации о местоположении может хранить данные, соотносящие IP-адреса машин с офисом, удостоверяющим набором, MAC-адресами машин, временными метками, показателями достоверности и т.д. Предварительные соотнесения могут быть в необязательном порядке представлены администратору для верификации до сохранения в (посредством) сервере 214 информации о местоположении. Согласно другим вариантам осуществления администратору могут предоставляться введенные данные с низкой достоверностью для верификации, выполняемой человеком. Введенные данные с высокой достоверностью могут предполагаться как правильные и автоматически сохраняться в (посредством) сервере 214 информации о местоположении. Клиентские устройства с 216 по 224 могут включать в себя вычислительные устройства, такие как сервер 216, смонтированный в транспортном средстве компьютер 218, переносной компьютер 220, карманный компьютер 222 и настольный компьютер 224.

На фиг. 3 проиллюстрировано определение местоположения в сетевом окружении, проводя различие между одно- и многопользовательскими вычислительными устройствами. Как рассмотрено выше, вычислительное устройство может быть однопользовательским устройством, многопользовательским устройством с основным (или главным) пользователем, или многопользовательским устройством с равнораспределенными пользователями. Для того чтобы быть полезным для определения местоположения, нужно, чтобы вычислительное устройство было одним из первый двух видов. Схема 300 иллюстрирует сервер сертификации местоположения, взаимодействующий с тремя разными видами машин и определяющий тип машины для того, чтобы вычислить показатель основного пользователя.

Как упомянуто ранее, избежание фальсифицированных данных о местоположении является важным для сервисов неотложной помощи. Для этой цели доверенный сервер 326 сертификации местоположения может выбрать одну машину из удостоверяющего набора и верифицировать ее местоположение (например, посредством запроса быстрого обнаружения LLTD). Если найден MAC-адрес вызывающей машины, то она все еще находится в той же самой подсети, что и заверенная машина. Если не найден, то может существовать сетевой раздел или вызывающая сторона является ложной. Доверенный сервер 326 сертификации местоположения может повторно попробовать с другими членами удостоверяющего набора. Так как вызывающая сторона типично не знает удостоверяющий набор (они могут быть выбраны случайно), вызывающая сторона не может лгать о ее местоположении посредством подделывания своего IP-адреса. Если верификация успешна, доверенный сервер 326 сертификации местоположения может криптографически подписать свидетельство местоположения, которое ручается, что машина находится фактически в той же самой подсети, что и ее удостоверяющий набор. Это может быть представлено сервису, основанному на определении местоположения (например, диспетчеру неотложной помощи), как верифицированное. Таким образом, свидетельство местоположения может быть сгенерировано на основе сравнения местоположения целевого клиентского устройства и идентификатора с местоположением и идентификатором по меньшей мере одного другого клиентского устройства в том же удостоверяющем наборе.

Как показано на схеме 300, вычислительное устройство 330 является однопользовательской (332) машиной, вычислительное устройство 334 является многопользовательской машиной с пользователями 336, использующими машину в равной степени, и вычислительное устройство 338 является еще одной многопользовательской машиной с пользователем 340, являющимся основным пользователем по сравнению с другими пользователями (342) той же самой машины. Таким образом, при выполнении примерного алгоритма, рассмотренного выше, сервер информации о местоположении может определять информацию об использовании через сеть 328 и вычислять показатель основного пользователя. Примерный показатель может быть определен в качестве отношения пикового значения к среднему значению распределения для локальных показателей. Если отношение меньше, чем предварительно заданный порог, то вычислительное устройство 334 может быть объявлено многопользовательской машиной, и может потребоваться, чтобы информация о местоположении приходила напрямую из пользовательского ввода или некоторого другого (внешнего) механизма определения местоположения. Если пользователь подает строку местоположения, это может быть нужно рассматривать как местоположение с низкой достоверностью для целей надежности. Если существует только одиночный локальный пользователь, или упомянутое отношение является выше предварительно заданного порога, машина может рассматриваться как однопользовательская (330) или многопользовательская (338) с основным пользователем.

Многопользовательские машины могут подразделяться на две категории: настольные компьютеры в стиле интерактивного терминала, используемые мобильными рабочими, или терминальные серверы, используемые удаленно через сеть. Настольные компьютеры в виде интерактивного терминала типично имеют четко заданное местоположение, так как они физически защищены. Местоположение терминального сервера является менее релевантным, так как оно является местоположением пользователя, которое нужно, а не местоположением исполняемого приложения.

Согласно некоторым вариантам осуществления пользователю может быть представлена возможность редактировать местоположение. В этом случае достоверность может быть помечена как "подаваемая пользователем" (например, низкая), если пользователь фактически редактирует местоположение. Для подаваемых пользователем местоположений, введенное местоположение может быть верифицировано по отношению к местоположениям удостоверяющего набора для разумной близости. Если удостоверяющий набор не верифицирует поданное пользователем местоположение, достоверность может быть помечена как "поданное пользователем - неверифицировано" (например, низкая). Если введенные данные верифицированы, достоверность может быть помечена как "поданное пользователем - верифицировано удостоверяющим набором" (например, средняя). К тому же, справочный сервис может периодически проверяться на предмет офисных изменений. Проверки могут быть также запущены обновлениями баз данных или запросами DHCP. Записи предыстории изменений могут влиять на частоту этих повторных проверок на основе предположения, что машины, которые часто перемещаются, могут продолжать делать это (например, переносные компьютеры).

Согласно еще дополнительным вариантам осуществления IP-адрес вызывающей стороны может быть использован для индексации сервера информации о местоположении, чтобы своевременно представлять кэшированные данные о местоположении с временной меткой, так чтобы устаревание данных и уровень достоверности могли быть оценены сервисом, основанным на определении местоположения (например, диспетчером во время неотложного вызова или любое время, в которое более высокая достоверность нужна для данных о местоположении).

Тогда как примерные системы на фиг.1, 2 и 3 были описаны с конкретными компонентами и алгоритмами, варианты осуществления не ограничены этими конфигурациями и операциями согласно этим примерным системам. Определение детального местоположения вычислительного устройства и пользователей может быть реализовано в конфигурациях, использующих меньшее количество или дополнительные компоненты и выполняющих другие задачи. К тому же варианты осуществления могут быть реализованы в проводных или беспроводных сетях и совместно с другими показателями и/или информацией о местоположении. Например, данные индикатора мощности принятого сигнала (RSSI) могут быть использованы совместно с алгоритмом согласно вариантам осуществления для расширенных уровней достоверности.

На фиг.4 проиллюстрирована схема 400 примерного сетевого окружения, где могут быть реализованы варианты осуществления. Платформа, обеспечивающая определение местоположения внутри сетевых коммуникационных систем, может быть реализована посредством программного обеспечения, исполняемого на одном или более серверах 462, такого как размещенный сервис. Данная платформа может осуществлять связь с клиентскими приложениями на индивидуальных вычислительных устройствах, таких как смартфон 451, смонтированный на транспортном средстве компьютер 452, карманный компьютер 453, переносной компьютер 454, настольный компьютер 455 ("клиентские устройства"), через сеть(и) 450.

Как рассмотрено выше, сервис информации о местоположении, исполняемый одним из серверов 462, может определять местоположение пользователя с достоверностью и предоставлять информацию сервису, основанному на определении местоположения, исполняемому другим из серверов 462 или еще одним сервером в другой сети. Сервис информации о местоположении может принимать ввод от пользователей посредством клиентских устройств с 451 по 455 и извлекать справочную информацию из хранилищ(а) данных 466 или 468 (посредством серверов 464 баз данных).

Сеть(и) 450 могут содержать любую топологию из серверов, клиентов, поставщиков Интернет-сервисов и коммуникационных сред. Система согласно вариантам осуществления может иметь статическую или динамическую топологию. Сеть(и) 450 может включать в себя защищенную сети, такую как корпоративная сеть, незащищенную сеть, такую как беспроводная открытая сеть, или Интернет. Сеть(и) 450 может также координировать связь через другие сети, такие как коммутируемая телефонная сеть общего пользования (PSTN) или сотовые сети. К тому же сеть(и) 450 может включать в себя беспроводные сети ближнего радиуса действия, такие как Bluetooth или аналогичные. Сеть(и) 450 обеспечивают связь между узлами, описанными в настоящем документе. В качестве примера, а не ограничения, сеть(и) 450 могут включать в себя беспроводные среды, такие как акустические, радиочастотные, инфракрасные и другие беспроводные среды.

Много других конфигураций вычислительных устройств, приложений, источников данных и систем распространения данных могут быть использованы для реализации коммуникационной системы со способностью определения детального местоположения. К тому же, сетевые окружения, рассмотренные на фиг.4, приведены только для иллюстративных целей. Варианты осуществления не ограничены примерными приложениями, модулями или процессами.

Фиг.5 и связанное с ней рассмотрение предназначены предоставлять краткое, общее описание подходящего вычислительного окружения, в котором варианты осуществления могут быть реализованы. Со ссылкой на фиг.5, проиллюстрирована блок-схема примерного вычислительного операционного окружения для приложения информации о местоположении согласно вариантам осуществления, такое как вычислительное устройство 500. В базовой конфигурации вычислительное устройство 500 может быть сервером и включать в себя по меньшей мере один процессорный блок 502 и системную память 504. Вычислительное устройство 500 может также включать в себя множество процессорных блоков, которые работают совместно при исполнении программ. В зависимости от точной конфигурации и типа вычислительного устройства системная память 504 может быть энергозависимой (такой как RAM), энергонезависимой (такой как ROM, flash-память и т.д.) или некоторой их комбинацией. Системная память 504 типично включает в себя операционную систему 505, подходящую для управления работой платформы, такую как операционные системы WINDOWS® от корпорации Microsoft из Редмонда, Вашингтон. Системная память 504 может также включать в себя одно или более программных приложений, таких как программные модули 506 и приложение 522 информации о местоположении.

Приложение 522 информации о местоположении может определять местоположения пользователей и ассоциированных вычислительных устройств на основе алгоритм(ов) достоверности, как рассмотрено ранее. Это базовая конфигурация проиллюстрирована на фиг.5 посредством тех компонентов внутри пунктирной линии 508.

Вычислительное устройство 500 может иметь дополнительные признаки или функциональность. Например, вычислительное устройство 500 может также включать в себя дополнительные устройства хранения данных (съемные и/или несъемные), такие как, например, магнитные диски, оптические диски или лента. Такое дополнительное хранилище проиллюстрировано на фиг.5 посредством съемного хранилища 509 и несъемного хранилища 510. Считываемые компьютером носители информации могут включать в себя энергонезависимые, съемные и несъемные накопители, реализованные любым способом или технологией для хранения информации, такой как считываемые компьютером инструкции, структуры данных, программные модули или другие данные. Системная память 504, съемное хранилище 509 и несъемное хранилище 510, все являются примерами считываемых компьютером носителей информации. Считываемые компьютером носители информации включают в себя, но не ограничены этим, RAM, ROM, EEPROM, flash-память или другую технологию памяти, CD-ROM, универсальные цифровые диски (DVD) или оптическое хранилище, магнитную ленту, хранилище на магнитных дисках или другие магнитные запоминающие устройства, или любой другой носитель, который может быть использован для хранения желаемой информации и к которому можно осуществить доступ посредством вычислительного устройства 500. Любые такие считываемые компьютером носители информации могут быть частью вычислительного устройства 500. Вычислительное устройство может также иметь устройство(а) 512 ввода, такое как клавиатура, мышь, перо, устройство голосового ввода, устройство сенсорного ввода, и сравнимые устройства ввода. Устройство(а) 514 вывода, такое как дисплей, динамики, принтер и другие типы устройств вывода, может быть также включено в состав. Эти устройства хорошо известны в данной области техники и не нуждаются в подробном рассмотрении здесь.

Вычислительное устройство 500 может также содержать коммуникационные соединения 516, которые обеспечивают возможность устройству осуществлять связь с другими устройствами 518, как, например, через проводную или беспроводную сеть в распределенном вычислительном окружении, спутниковую лин