СПОСОБ И УСТРОЙСТВО ДЛЯ ИНТЕГРАЦИИ ДАННЫХ О ПУНКТЕ, ПРЕДОСТАВЛЕННЫХ ГРУППОЙ ПОСТАВЩИКОВ
METHOD AND DEVICE FOR INTEGRATION OF DATA ON POINT PROVIDED BY GROUP OF SUPPLIERS

ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
[0001] Использование устройств беспроводной мобильной связи стало повсеместным и быстро опережает использование традиционных проводных устройств. По мере возрастания уровня мобильности пользователей возрастает потребность в контенте, связанном с предшествующим, текущим и предполагаемым последующим местоположением пользователя. Например, популярным приложением является определение ресторанов, банков или розничных торговых точек поблизости от предшествующего, текущего и предполагаемого последующего местоположения пользователя. Однако у поставщиков услуг, пытающихся предоставлять такой основанный на местоположении контент, возникает множество проблем, включая потребление большого объема ресурсов для сборки и контроля качества данных контента, основанного на местоположении, для протяженных областей или для глобального покрытия.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0002] Таким образом имеется потребность усовершенствованного формирования контента, основанного на местоположении.
[0003] В соответствии с одним из вариантов осуществления настоящего изобретения машиночитаемый носитель информации хранит инструкции, при исполнении которых процессором устройство выполняет по меньшей мере прием данных регистрации, указывающих одно или более значений для соответствующих атрибутов, описывающих пункт, связанный с географическим местоположением. При этом обеспечивается указание соответствия между данными регистрации и метаданными для предварительно заданного пункта.
[0004] В соответствии с другим вариантом осуществления настоящего изобретения устройство содержит процессор и память, которая хранит исполняемые инструкции, при исполнении которых устройство принимает данные регистрации, указывающие одно или более значений для соответствующих атрибутов, описывающих пункт, связанный с географическим местоположением. При этом обеспечивается указание соответствия между данными регистрации и метаданными для предварительно заданного пункта.
[0005] В соответствии с другим вариантом осуществления настоящего изобретения устройство содержит средства для приема данных регистрации, указывающих одно или более значений для соответствующих атрибутов, описывающих пункт, связанный с географическим местоположением. Устройство содержит средства для обеспечения указания соответствия между данными регистрации и метаданными для предварительно заданного пункта.
[0006] В соответствии с другим вариантом осуществления настоящего изобретения способ включает прием данных регистрации, указывающих значение для подмножества метаданных пункта, содержащих множество атрибутов, описывающих пункт, связанный с географическим местоположением. Способ также включает обеспечение указания соответствия между данными регистрации и метаданными для предварительно заданного пункта.
[0007] В соответствии с другим вариантом осуществления настоящего изобретения устройство содержит средства для приема данных регистрации, указывающих значение для подмножества метаданных пункта, содержащих множество атрибутов, описывающих пункт, связанный с географическим местоположением. Устройство также содержит средства для обеспечения указания соответствия между данными регистрации и метаданными для предварительно заданного пункта.
[0008] Другие аспекты, признаки и преимущества настоящего изобретения станут очевидными из последующего подробного описания, в котором просто приводится ряд конкретных примеров осуществления и реализации предлагаемого изобретения, включая предпочтительный вариант его выполнения. Настоящее изобретение также может быть реализовано в различных других вариантах осуществления, причем некоторые детали могут быть изменены очевидным образом, но без нарушения сущности и объема изобретения. Соответственно, чертежи и описание следует рассматривать в качестве иллюстрации, а не ограничения настоящего изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0009] Варианты осуществления настоящего изобретения проиллюстрированы на примерах, не ограничивающих изобретение, и показаны на прилагаемых чертежах.
[0010] На фиг.1 показана схема системы для интеграции метаданных о пункте от группы формирователей данных о пункте в соответствии с одним из вариантов осуществления настоящего изобретения.
[0011] На фиг.2А показана схема записи для структуры метаданных о пункте в соответствии с одним из вариантов осуществления настоящего изобретения.
[0012] На фиг.2В показан пример базовых категорий в соответствии с одним из вариантов осуществления настоящего изобретения.
[0013] На фиг.2С и фиг.2D в соответствии с одним из вариантов осуществления настоящего изобретения показан пример документа в формате XML, содержащего пример метаданных о пункте.
[0014] На фиг.3А показана структурная схема сообщения регистрации пункта в соответствии с одним из вариантов осуществления настоящего изобретения.
[0015] На фиг.3В показана структурная схема ответного сообщения о пункте с одним идентификатором пункта в соответствии с одним из вариантов осуществления настоящего изобретения.
[0016] На фиг.3С показана структурная схема ответного сообщения о пункте, содержащего информацию об ошибке, в соответствии с одним из вариантов осуществления настоящего изобретения.
[0017] На фиг.3D в соответствии с одним из вариантов осуществления настоящего изобретения показана структурная схема ответного сообщения о пункте с информацией об одном или более подходящих пунктах.
[0018] На фиг.4А показана структурная схема сообщения для выбора подходящего пункта в соответствии с одним из вариантов осуществления настоящего изобретения.
[0019] На фиг.4В показана структурная схема сообщения для запроса ресурса пункта в соответствии с одним из вариантов осуществления настоящего изобретения.
[0020] На фиг.5А показана блок-схема процесса, выполняемого сервисом предоставления метаданных о пункте в соответствии с одним из вариантов осуществления настоящего изобретения.
[0021] На фиг.5В показана блок-схема процесса, выполняемого сервисом предоставления постоянного идентификатора пункта в соответствии с одним из вариантов осуществления настоящего изобретения.
[0022] На фиг.6А показана временная диаграмма, иллюстрирующая последовательность передачи сообщений и выполнения процессов для доступа к метаданным о пункте в соответствии с одним из вариантов осуществления настоящего изобретения.
[0023] На фиг.6В показана временная диаграмма, иллюстрирующая последовательность передачи сообщений и выполнения процессов для регистрации действительного нового пункта в соответствии с одним из вариантов осуществления настоящего изобретения.
[0024] На фиг.6С показана временная диаграмма, иллюстрирующая последовательность передачи сообщений и выполнения процессов для регистрации соответствующего пункта согласно одному из вариантов осуществления настоящего изобретения.
[0025] На фиг.6D показана временная диаграмма, иллюстрирующая последовательность передачи сообщений и выполнения процессов для регистрации частично соответствующего пункта в соответствии с одним из вариантов осуществления настоящего изобретения.
[0026] На фиг.6Е в соответствии с одним из вариантов осуществления настоящего изобретения показана временная диаграмма, иллюстрирующая последовательность передачи сообщений и выполнения процессов для регистрации частично действительного пункта.
[0027] На фиг.7 показана структурная схема аппаратного обеспечения, которое может использоваться для реализации одного из вариантов настоящего изобретения.
[0028] На фиг.8 показана структурная схема набора микросхем (чипсета), который может использоваться для реализации одного из вариантов настоящего изобретения.
[0029] На фиг.9 показана структурная схема терминала, который может использоваться для реализации одного из вариантов настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0030] Далее раскрывается способ, устройство и программное обеспечение для интеграции данных о пункте, предоставленных группой поставщиков. В последующем описании для разъяснения приводятся многочисленные конкретные подробности для обеспечения полного понимания вариантов осуществления настоящего изобретения. Однако специалисту очевидно, что эти варианты осуществления настоящего изобретения могут быть реализованы на практике без использования этих конкретных подробностей или с помощью эквивалентных признаков. В других примерах хорошо известные структуры и устройства показаны в виде структурных схем, для того чтобы не затруднять понимание вариантов осуществления настоящего изобретения.
[0031] Хотя несколько вариантов осуществления настоящего изобретения обсуждаются в связи с обменом метаданными о пункте с использованием расширяемого языка разметки (XML, extensible markup language), встроенного в сообщения протокола передачи гипертекстовых файлов (HTTP, hypertext transfer protocol), передаваемых по сети между одним клиентом и двумя модулями сервиса пункта: сервисом предоставления постоянного идентификатора пункта и сервисом предоставления метаданных о пункте, варианты реализации изобретения этим не ограничены. Явным образом предполагается, что обмен метаданными может осуществляться с использованием любого набора атрибутов и значений, встроенных в любой сетевой протокол или человеко-машинный интерфейс между членом группы и одним или более процессами, выполняемыми на одном или более вычислительных устройствах, подключенных к сети или работающих автономно.
[0032] В этом описании термин "пункт" относится к значению/использованию "местоположения". Хотя пункт всегда связан с местоположением, он представляет собой объект, не зависящий от местоположения. То есть пункт (такой, как ресторан или предприятие) может по истечении какого-то промежутка времени изменить свое физическое местоположение (то есть географические координаты), и множество пунктов (таких, как отель и ресторан) могут быть связаны с одним и тем же местоположением. Таким образом, пункт во временных и пространственных координатах связан с географическим местоположением. Конкретный пункт отличается от других пунктов набором значений (метаданных о пункте) для соответствующего набора атрибутов (параметров метаданных о пункте), которые уникально идентифицируют пункт.В дополнение к метаданным о пункте, которые уникально идентифицируют конкретный пункт, имеются ресурсы пункта (например, изображения, карты, персонал, меню доступных сервисов, сервисы и т.д.), которые также описывают пункт.
[0033] Многие организации предоставляют контент и сервисы, связанные с местоположением (например, каталоги фирм, геоинформационные системы, справочники по ресторанам, службы бронирования номеров в отелях). Каждая из этих организаций управляет собственным конкретным набором метаданных для своих местоположений. Этот набор метаданных не стандартизован, и не существует простого способа проверки, относятся ли два набора метаданных, полученных от независимых организаций, к одному и тому же местоположению. Объединение метаданных из различных источников является общей задачей для многих из этих организаций. Для гарантии качества и целостности данных каждая организация сама должна выполнять проверку действительности данных, добавление дополнительной информации и устранение дублирования. Прежде всего, группа организаций, формирующих информацию о пункте, должна постоянно проверять действительность своих существующих метаданных (например, для идентификации записей об объектах, прекративших деловую активность или переехавших в другое местоположение). Таким образом, имеется потребность в системе, позволяющей интегрировать предоставленные группой данные о пункте, для того чтобы обеспечить качество данных и устранить дублирование.
[0034] В приводимом примере осуществления настоящего изобретения ресурсы для одного пункта предоставляются в виде одного или более сетевых ресурсов, таких как набор из одного или более файлов или каталогов, или веб-страниц, доступ к которым осуществляется с помощью соответствующих имен унифицированных указателей ресурса (URL, universal resource locator). Сетевой сервер доменных имен (DNS, domain name server) сопоставляет имена URL с адресами Интернет-протокола (IP, Internet Protocol), которые используются для маршрутизации сообщений, передаваемых по IP-сети, как хорошо известно в этой области техники. Таким образом, пользователь веб-браузера после получения имен URL может осуществлять доступ к соответствующим ресурсам пункта.
[0035] В соответствии с некоторыми вариантами осуществления настоящего изобретения набор веб-сервисов, называемых сервисами пространства имен пунктов (PNSS, Place Namespace Services), предоставляет услуги, связанные с интеграцией данных для поддержки концепции пункта. В конкретном варианте осуществления изобретения сервис PNSS содержит несколько модулей. Сервис предоставления постоянного идентификатора пункта (PPIDS, Permanent Place ID Service) создает и находит уникальные идентификаторы для пункта. Этот сервис пытается устранить создание дублирующих пунктов (создание нескольких идентификаторов пунктов для одного и того же физического пункта) путем использования логики соответствия (посредством сравнения атрибутов метаданных о пункте). Устранение дублирования нельзя гарантировать, поэтому сервис PPIDS предоставляет способ объединения идентификаторов пунктов, как только становятся доступными метаданные, которые указывают на то, что идентификаторы пунктов относятся к одному и тому же пункту. Объединение идентификаторов выполняется путем отметки одного из идентификаторов пункта как объединенного. Этот сервис гарантирует, что пункт останется доступным с помощью любого идентификатора, однажды назначенного этому пункту. С помощью сервиса предоставления метаданных о пункте (PMDS, Place Metadata Service) выполняется сохранение и поиск стандартизованного набора базовых метаданных, связанных с пунктами. Сервис предоставления ресурсов для пункта (PRS, Place Resource Service) связывает веб-ресурсы (такие, как URL) с пунктом. Сервис предоставления глобального имени пункта (GPNS, Global Place Name Service) регистрирует для пункта глобальное уникальное имя, называемое идентификатором пункта.
[0036] В некоторых вариантах осуществления настоящего изобретения сервис PNSS проверяет действительность метаданных о пункте и устраняет дублирование путем распознавания того, когда метаданные о пункте для ресурса нового пункта в значительной степени соответствуют метаданным о пункте для ресурса существующего пункта. Наличие доступа к сервису PNSS освобождает организации от сохранения базовых метаданных о собственных пунктах. Сервис PNSS берет на себя нагрузку определения действительности и дополнения базовых метаданных о пункте, обеспечивает механизмы устранения дублирования и объединения существующих дублирований и позволяет организациям регистрировать свои собственные ресурсы и сервисы, связанные с пунктом, в общедоступном каталоге. Благодаря возможности вклада несколькими формирователями данных в одни и те же совместно используемые ресурсы пунктов усилия отдельного формирователя данных умножаются для доступа к гораздо большему объему данных о пунктах по сравнению со случаем формирования данных в одиночку. Прежде всего, следует отметить, что все организации, которые предоставляют ресурсы (например, сервисы или контент), связанные с пунктами, могут использовать идентификатор пункта для взаимосвязи своих ресурсов.
[0037] Основная проблема, которую должен решать сервис PNSS в этих вариантах осуществления настоящего изобретения, заключается в идентификации пункта на основе конкретного потенциально неполного или даже ошибочного набора метаданных, которые могут предоставить пользователи PNSS. Такая возможность реализована в сервисе PPIDS. Для идентификации пункта (и получения его идентификатора) пользователь PNSS должен выполнить функцию регистрации PPIDS. Эта функция ожидает некоторые метаданные о пункте (по меньшей мере имя, местоположение и категорию) и сопоставляет эти данные с предварительно заданными метаданными о пункте, известными сервису PNSS. Если в сервисе PNSS обнаружен пункт, полностью соответствующий метаданным, то сервис PPIDS возвращает идентификатор пункта для этой записи. Поскольку нельзя быть уверенным, что данные, предоставляемые пользователем, в точности соответствуют метаданным о пункте, хранимым в сервисе PNSS (например, вследствие небольших различий в именах, наличия имен на различных языках, различных уровней категорий, частично неверного адреса, устаревшего адреса), возврат только точно соответствующих данных помешает базовой задаче сервиса избежать создания дублирующих записей для одного и того же пункта.
[0038] Для решения этой проблемы сервис PPIDS выполняет некоторый алгоритм нечеткого соответствия, который сопоставляет пункты даже в том случае, если метаданные об известных пунктах не соответствуют в точности метаданным, предоставленным в процессе регистрации. В этом случае сервису PPIDS необходимо вычислить некоторое значение "качества соответствия" (или степени соответствия) которое дает пользователю некоторую подсказку о том, насколько близки возвращаемые данные о каждом пункте к метаданным регистрации, предоставленным пользователем.
[0039] В показанном примере осуществления изобретения алгоритм нечеткого соответствия содержит различные компоненты, включая идентификацию местоположения, определение категории, различение имен, обнаружение ближайших пунктов и отслеживание результатов предшествующего выбора. Идентификация местоположения основана на коммерчески доступных сервисах различения адресов, таких как сервис NAVTEQ™ предоставления цифровой карты для объекта опорного местоположения (LRO, location reference object), и позволяет сервису PPIDS проверить действительность, дополнить и идентифицировать местоположение пункта, указанного метаданными регистрации. Определение соответствия категории выполняется путем моделирования категорий пунктов в виде комбинации управляемых глобально применимых "категорий верхнего уровня" и разрешения использования дополнительных произвольных свободно задаваемых текстовых тегов. Определение соответствия имен выполняется посредством поддержки множества имен, которые могут использоваться для идентификации пункта (как альтернативных имен, так и переведенных имен), и посредством применения некоторой меры подобия слов, такой как те, которые используются в алгоритмах проверки орфографии. Обнаружение ближайших пунктов (также называемое "определение соответствия близлежащей окрестности") выполняется, поскольку не все пункты адресуются уникальным адресом (или действительный адрес может быть неизвестен пользователю PNSS). Таким образом, сервис PPIDS выполняет некоторую процедуру поиска ближайших пунктов, которая проверяет соответствие с пунктами, расположенными рядом с предоставленным адресом или координатами географического местоположения. Отслеживание результатов предшествующего поиска выполняется в том случае, если пользователь предоставляет метаданные, которые отличаются от требуемых метаданных, поскольку в процессе предшествующей попытки регистрации могли быть отсутствующие метаданные. Таким образом, предшествующие запросы регистрации сохраняются для каждого пользователя или группы пользователей.
[0040] На основе выходных данных от различных компонентов алгоритмов соответствия, выполняемых в показанном примере осуществления настоящего изобретения, сервис PPIDS вычисляет общее "качество соответствия", или степень соответствия, для каждого из предварительно заданных пунктов. Сервис PPIDS возвращает данные, идентифицирующие список из одного или более подходящих пунктов, которые характеризуются значением степени соответствия, превышающим предварительно заданное пороговое значение. Этот список может также содержать подходящий пункт для новой записи, полученной из метаданных регистрации путем, например, коррекции очевидных орфографических ошибок или перестановки цифр. Сервис PPIDS также возвращает для каждого подходящего пункта в списке маркер подходящего пункта, который указывает на различие между метаданными регистрации и метаданными о подходящем пункте. Затем пользователь выбирает один из подходящих пунктов с помощью, например, выполнения функции "selectCandidate" сервиса PPIDS путем представления маркера подходящего пункта для выбранного подходящего пункта. Далее сервис PPIDS возвращает новый или ранее существующий (сохранившийся) идентификатор пункта для выбранного подходящего пункта. На основе маркера выбранного подходящего пункта сервис PPIDS может провести "исследование" того, какие метаданные использовались для идентификации пункта, и автоматически создать некоторые дополнительные метрические и эвристические показатели соответствия для оценки различий, указанных в маркере. Эти метрические показатели могут применяться для последующих попыток регистрации, выполняемых тем же пользователем, несколькими или всеми пользователями.
[0041] На фиг.1 показана схема системы 100 для интеграции метаданных о пункте группы формирователей данных о пункте в соответствии с одним из вариантов осуществления настоящего изобретения. Система 100 содержит сеть 105 связи и сетевые узлы, которые включают мобильный терминал 120, хосты 130 сервиса пространства имен пунктов (PNSS) и другой хост 140. Члены группы работают на мобильном терминале 120 или другом хосте 140, и их метаданные корректно интегрированы модулями, функционирующими на хостах 130 PNSS.
[0042] В различных вариантах осуществления настоящего изобретения узлы 120, 130, 140 могут представлять собой любой тип фиксированного терминала, мобильного терминала или портативного терминала, включая настольные компьютеры, ноутбуки, телефонные трубки, станции, блоки, устройства, мультимедийные планшеты, Интернет-узлы, коммуникаторы, персональные цифровые помощники (PDA, Personal Digital Assistant), мобильные телефоны, мобильные устройства связи, аудио/видео проигрыватели, цифровые видеокамеры/камкордеры, телевизионные устройства, цифровые видеомагнитофоны, игровые устройства, устройства позиционирования, стоечные компьютеры или компьютерные блейд-системы, или любую комбинацию указанных устройств. Кроме того, узлы могут содержать аппаратный источник питания (например, съемный адаптер источника питания), источник питания ограниченного срока действия (например, батарею) или источники обоих типов. Также предполагается возможность поддержки узлами 120, 131, 140 любого типа интерфейса с пользователем (например, в виде "переносной" схемы и т.д.). В показанном примере осуществления изобретения узел 120 представляет собой беспроводный мобильный терминал (также называемый мобильной станцией и описываемый более подробно ниже со ссылкой на фиг.9). Мобильный терминал 120 связан с сетью 105 линией 107 беспроводной связи.
[0043] Совместно используемые группой ресурсы 103 пункта, которые описывают или предоставляют сервисы, связанные с пунктами, расположены в узлах сети 105 в показанном примере осуществления изобретения.
[0044] В качестве примера сеть 105 связи системы 100 может в различных вариантах осуществления изобретения включать одну или более проводных и/или беспроводных сетей, таких как сеть передачи данных (не показана), беспроводная сеть (не показана), телефонная сеть (не показана), или любую комбинацию этих сетей, в каждой из которых может содержаться несколько узлов или не одного узла. Предполагается, что сеть передачи данных может представлять собой любую локальную сеть (LAN, local area network), городскую сеть (MAN, metropolitan area network), глобальную сеть (WAN, wide area network), Интернет или любую другую подходящую сеть с коммутацией пакетов, такую как коммерческая частная сеть с коммутацией пакетов, например частная кабельная или волоконно-оптическая сеть, или любую комбинацию указанных сетей. Кроме того, беспроводная сеть может представлять собой, например, сотовую сеть и может использовать различные технологии, включая множественный доступ с кодовым разделением каналов (CDMA, code division multiple access), усовершенствованную технологию мобильной радиосвязи (EDGE, enhanced data rates for global evolution), общую услугу пакетной радиосвязи (GPRS, general packet radio service), глобальную систему мобильной связи (GSM, global system for mobile communications), мультимедийную подсистему передачи данных по Интернет-протоколу (IMS, Internet protocol multimedia subsystem), универсальную систему мобильной связи (UMTS, universal mobile telecommunications system) и т.д., а также любую другую подходящую среду беспроводной передачи, например доступ в СВЧ-диапазоне (WiMAX), сети технологии долгосрочного развития (LTE, Long Term Evolution), сети WiFi (wireless fidelity), спутниковые сети и т.п. В различных вариантах осуществления настоящего изобретения сеть 105 связи или ее часть может поддерживать связь с использованием любого протокола, например Интернет-протокола (IP, Internet Protocol).
[0045] Модель клиент-сервер взаимодействия компьютерных процессов широко известна и востребована. Согласно модели клиент-сервер клиентский процесс посылает серверному процессу сообщение, содержащее запрос, и серверный процесс в ответ на этот запрос предоставляет сервис. Серверный процесс также может возвращать клиентскому процессу ответное сообщение. Часто клиентский и серверный процессы выполняются на различных вычислительных устройствах, называемых хостами, и взаимодействуют друг с другом по сети с использованием одного или более протоколов сетевого взаимодействия. Термин "сервер" обычно используется для обозначения процесса, предоставляющего сервис, или хост-компьютера, на котором этот процесс выполняется. Аналогично термин "клиент" обычно используется для обозначения процесса, осуществляющего запрос, или хост-компьютера, на котором этот процесс выполняется. В данном описании термины "клиент" и "сервер" относятся к процессам, а не к хост-компьютерам, если иная интерпретация не очевидна из контекста. Кроме того, процесс, выполняемый сервером, может разбиваться на множество процессов, выполняемых на множестве хостов (иногда называемых уровнями), для того чтобы, помимо прочего, обеспечить надежность, масштабируемость и резервирование. Одним из хорошо известных клиентских процессов, доступным на большинстве узлов, подключенных к сети связи, является клиент World Wide Web (называемый "веб-браузер" или просто "браузер"), который взаимодействует с помощью сообщений, отформатированных согласно протоколу передачи гипертекстовых файлов (HTTP, hypertext transfer protocol), с любым из большого числа серверов, называемых серверами World Wide Web и предоставляющих веб-страницы. В показанном примере осуществления изобретения мобильный терминал 120 и другой хост 140 содержат браузер 117а и браузер 117b соответственно, а хосты 130 содержат веб-сервер 119.
[0046] Как показано на фиг.1, в примере осуществления настоящего изобретения хосты 130 PNSS содержат веб-сервер 119, модуль 131 сервиса предоставления метаданных о пункте (PMDS, Place Metadata Service), модуль 133 сервиса предоставления постоянного идентификатора пункта (PPIDS, Permanent Place identifier (ID) Service), модуль 135 сервиса предоставления ресурсов пункта (PRS, Place Resources Service) и модуль 136 сервиса предоставления глобального имени пункта (GPNS, Global Place Name Service), описанные выше. Один или более из этих модулей обращается к структуре метаданных о пунктах, такой как база 137 метаданных пунктов. Структура метаданных о пунктах включает запись 139 о пункте для каждого различного пункта, зарегистрированного с помощью сервиса PNSS. В показанном примере осуществления изобретения сервисы PPIDS, PMDS и PRS являются веб-сервисами, которые предоставляют прикладной программный интерфейс (API, application programming interface) на основе HTTP, соответствующий принципам разработки в стиле REST (веб-сервисы RESTful). Доступ к таким сервисам может осуществляться с помощью стандартного браузера 117, при этом оператор вручную вводит данные, требуемые интерфейсом API. В альтернативном варианте специальный клиентский процесс формирования данных о пункте, например клиент 121 PNSS, может автоматически предоставлять некоторые или все входные данные, требуемые интерфейсом API, с использованием одного или более сообщений HTTP.
[0047] В показанном примере осуществления изобретения модули хостов 130 PNSS представляют собой централизованные сервисы, запускаемые группой формирователей данных о пункте, распределенных по сети 105, таких как оператор мобильного терминала 120 или другого хоста 140. Мобильный терминал 120 содержит клиент 121а PNSS, а другой хост 140 содержит клиент 121b PNSS, которые далее совместно обозначаются как клиент 121 PNSS. Клиент 121 PNSS взаимодействует с одним или более модулями хостов 130 PNSS для предоставления пользователю возможности указать метаданные о пункте для регистрации с помощью сервиса PNSS и получения уникального идентификатора пункта, указанного с помощью метаданных.
[0048] В соответствии с показанным примером осуществления изобретения после получения идентификатора пункта пользователь может идентифицировать ресурс 103 данного конкретного пункта, на котором расположены в сети информация об этом пункте и сервисы, посредством, например, указания URL веб-страницы, содержащей ссылки на описания и сервисы этого пункта. Доступ к такой веб-странице может осуществляться на основе этого URL с помощью браузера 117 на узле пользователя.
[0049] Хотя на фиг.1 для примера показан конкретный набор узлов, процессов и структур данных, в других различных вариантах осуществления настоящего изобретения может быть задействовано большее или меньшее количество узлов, процессов и структур данных. Кроме того, хотя для примера процессы и структуры данных показаны в виде конкретных блоков в конкретной структуре, в других вариантах осуществления настоящего изобретения процессы или структуры данных или их компоненты могут разделяться или объединяться, или размещаться иным образом. Например, в некоторых вариантах осуществления настоящего изобретения сервисы PRS 135 и GPNS 136 включены в сервис PMDS 131, веб-сервер 119 встроен в сервис PPIDS 133, а клиент 121 PNSS содержит браузер 117.
[0050] На фиг.2 показана схема записи 201 для структуры метаданных о пункте в соответствии с одним из вариантов осуществления настоящего изобретения. Запись 201 реализует модель для метаданных о пункте, которая позволяет обнаружить дублирование. Запись 201 структуры данных о пункте содержит поле 203 идентификатора пункта, поле 205 ресурса пункта, поле 207 объединенных идентификаторов пункта, поля 211 категорий пункта, поле 221 имен пункта, поля 231 местоположения пункта и поля 241 контактной информации о пункте. Примеры значений некоторых из этих полей представлены на фиг.2В, фиг.2С и фиг.2D и более подробно описаны ниже.
[0051] В некоторых вариантах осуществления настоящего изобретения метаданные о пункте передаются из одного узла в другой в одном или более сообщениях HTTP. Один из способов транспортировки метаданных о пункте в сообщении HTTP заключается в размещении метаданных о пункте в документе расширяемого языка разметки (XML, extensible markup language). Документы XML позволяют узлам, имеющим доступ к словарю, обмениваться значениями для любого из одного или более предварительно заданных параметров в этом словаре. Параметры XML могут быть вложенными и на любом уровне вложенности могут перечисляться в любом порядке. На фиг.2С и фиг.2D в соответствии с одним из вариантов осуществления настоящего изобретения показан пример документа XML, содержащего пример метаданных о пункте. Как известно, значение параметра XML задается между индикатором <имя> начала параметра и индикатором </имя> конца параметра, где "имя" обозначает имя параметра. В этом примере документа отсутствует поле 207 объединенных идентификаторов пункта и поле 249 другой контактной информации.
[0052] В показанном примере осуществления изобретения поле идентификатора пункта содержит данные, которые указывают уникальный идентификатор для конкретного пункта. Поле 205 ресурса пункта содержит данные, которые указывают первичный ресурс 103 пункта в сети для получения информации и сервисов, связанных с пунктом. Ссылки на многие другие ресурсы, относящиеся к этому пункту (если они имеются), расположены в первичном ресурсе пункта. В показанном примере осуществления изобретения первичным ресурсом пункта является веб-страница, принадлежащая организации, которая зарегистрировала пункт, и в названии этой страницы используется идентификатор пункта. Поле 207 объединенных идентификаторов пункта содержит данные, указывающие идентификаторы пункта (если они существуют) для записей метаданных, которые изначально различались, но впоследствии были идентифицированы в качестве одного пункта, описываемого в записи 201. Например, на фиг.2С идентификатором пункта (place ID) является 184385761, а ресурсом пункта является веб-страница (с использованием HTTP) с именем 184385761 в каталоге homePlace, расположенном в домене organization.com, как это указано посредством значения URL, приведенного в индикаторе начала параметра place.
[0053] В показанном примере осуществления изобретения поля 211 категорий содержат поле 213 управляемых категорий, поле 215 категорий в свободном формате и поле 217 языка в свободном формате. В показанном примере сервис PNSS вводит очень небольшое дерево базовых категорий, которое централизованно управляется для поддержки различения пунктов, расположенных по одному адресу (например, отель, расположенный в известном здании; ресторан внутри отеля), если имена не могут использоваться для сравнения вследствие применения различных языков или записей, сделанных различными пользователями в различное время. Каждая базовая категория содержится в структуре данных о категориях и включает уникальный идентификатор, семантическое описание и список тегов, которые именуют категории на различных языках. Централизованно управляемые системы опубликованных категорий (например, EuroStat, GNS Feature Codes) преобразуются в базовые категории PNSS. Каждая такая расширенная категория принадлежит одной системе категорий, управляемых одним поставщиком. Семантические концепции, которые определяют категорию, собраны в словаре. Каждый пункт связан по меньшей мере с одной из этих базовых категорий, как указано идентификатором категории, содержащимся в поле 213 управляемой категории. На фиг.2В показан пример базовых категорий в соответствии с одним из вариантов осуществления настоящего изобретения. Например, на фиг.2C категориями являются "Ваг" (бар) и "Restaurant" (ресторан), однако должна быть также включена базовая категория "dining" (питание), показанная на фиг.2В.
[0054] В показанном примере осуществления настоящего изобретения сервис PNSS позволяет назначать пункту произвольные теги категорий (произвольное текстовое ключевое слово и язык). Пользователи PNSS с помощью тегов могут назначать пункту свои собственные категории. Переводы концепций, связанных с категорией, сохраняются в виде тегов. Эти произвольные теги и связанные с ними языки указываются данными, содержащимися в поле 215 категорий в свободном формате и поле 217 языка в свободном формате. Категории Bar (бар) и Restaurant (ресторан) могут обрабатываться как произвольные теги, показанные на фиг.2C.
[0055] В показанном примере осуществления изобретения поля 221 имен содержат данные, которые указывают имя пункта и ноль или более альтернативных имен, а также поле 223 языка, используемого по умолчанию, поле 225 имени, используемого по умолчанию, и поле 227 альтернативных имен/языков. Поле 223 языка, используемого по умолчанию, содержит данные, которые указывают язык, используемый по умолчанию, для определения имен и адреса пункта. Например, языком, используемым по умолчанию, является преобладающий разговорный язык в местоположении пункта. В некоторых вариантах осуществления настоящего изобретения язык, используемый по умолчанию, может выбираться согласно другим критериям, например, таким языком может быть английский, который широко распространен по всему миру. На фиг.2C языком, используемым по умолчанию, является немецкий язык (заданный в виде аббревиатуры "de" от слова Deutsch), указанный в индикаторе начала параметра defaultName. В поле 225 имени, используемом по умолчанию, содержатся данные, которые указывают имя, используемое по умолчанию для обозначения пункта на языке, используемом по умолчанию. На фиг.2C именем, используемым по умолчанию, является "Turkische Kneipe" (что на немецком языке, используемом по умолчанию, означает "турецкий ресторан").
[0056] В показанном примере осуществления изобретения поле 227 альтернативных имен/языков содержит данные, которые указывают другие имена пункта и связанный с ними язык. Таким образом, другие алфавитно-цифровые символы, связанные с другим языком, также могут использоваться для наименования и, следовательно, идентификации пункта. Аналогично, в поле 227 могут быть указаны различные имена на одном языке. На фиг.2С альтернативные имена включают имя "Turkish Restaurant" на английском языке, представленном аббревиатурой "en". Кроме того, на фиг.2С также указано два альтернативных имени ресторана на немецком языке.
[0057] В показанном примере осуществления настоящего изобретения поля 231 местоположения содержат данные, которые указывают географическое местоположение пункта, и включают поле 233 адреса, поле 235 экзонимов для адресных элементов (под экзонимами понимаются имена на различных языках) и поле 237 географических координат. Поле 233 адреса содержит данные, которые указывают почтовый адрес пункта на языке, используемом по умолчанию. Например, на фиг.2D указан следующий адрес на немецком языке: "12 Invalidenstr. Berlin 72145 DE", который задается с помощью следующих отдельных параметров XML: houssNumber (номер дома), street (улица), city (город), region (область), zipCode (почтовый индекс) и country (страна).
[0058] В показанном примере осуществления изобретения поле 235 экзонимов для адресных элементов содержит данные, которые указывают имена для адресных элементов на языках, отличных от языка, используемого по умолчанию, или местного языка. В поле экзонимов также указывается язык, например, с помощью аббревиатуры "en" для английского языка. Например, на фиг.2D показано, что по-английски улица называется "Invaliden Street", как это указано с помощью значения параметра XML exonyms.
[0059] В показанном примере осуществления изобретения поле 237 географических координат содержит данные, указывающие географическое положение пункта, например координаты в системе глобального позиционирования (GPS, Global Positioning System) или значения широты и долготы, с достаточной точностью. Например, на фиг.2D широта 15,22122 градусов (положительное значение градусов указывает северное направление) и долгота 17,33333 градусов (положительное значение градусов указывает восточное направление), как указано с помощью значений отдельных параметров XML
[0060] В показанном примере осуществления настоящего изобретения поля 241 контактной информации содержат данные, указывающие адреса, отличные от почтовых, для связи с одной или более организациями или лицами, связанными с пунктом. Контактная информация, содержащаяся в полях 241, позволяет удобным образом различать объекты с одинаковыми именами в одном и том же местоположении, такие как соответствующие компании, находящиеся в одном бизнес-центре. Поля 241 контактной информации включают поле 243 телефонного номера, поле 245 электронной почты, поле 247 веб-сайта и поле 249 другой информации. Поле 243 телефонного номера содержит данные, которые указывают один или более телефонных номеров, связанных с пунктом. Аналогично, поле 245 электронной почты, поле 247 веб-сайта и поле 249 другой информации содержат данные, которые указывают один или более адресов электронной почты, URL веб-сайтов и другую контактную информацию, связанную с пунктом, если она имеется. Например, на фиг.2D контактные адреса указаны с помощью значений отдельных параметров XML.
[0061] Хотя на фиг.2А для иллюстрации поля показаны в виде интегральных блоков данных в конкретном порядке в записи одной структуры, в других вариантах осуществления настоящего изобретения одно или более полей или частей полей организованы в другом порядке в одной или более записях одной или более структур данных на одном или более узлах, подключенных к сети связи, например к сети 105. В некоторых других вариантах осуществления настоящего изобретения одно или более показанных полей или частей полей отсутствуют или добавлены дополнительные поля.
[0062] Как более подробно будет описано ниже со ссылкой на фиг.6А-6Е, на которых показаны примеры осуществления настоящего изобретения, браузер или клиентский процесс PNSS взаимодействует с сервисом PNSS путем обмена сообщениями, например сообщениями HTTP, с модулями PNSS. На начальном шаге пользователь передает сообщение регистрации для осуществления попытки регистрации пункта с помощью сервиса PNSS. Сообщение должно содержать достаточный объем информации для определения степени соответствия с предварительно заданными пунктами в структуре метаданных. В соответствии с примером интерфейса PNSS API сообщение для регистрации пункта должно содержать некоторые метаданные о пункте и имя поставщика метаданных о пункте. Метаданные о пункте должны включать по меньшей мере предлагаемую базовую категорию, предлагаемые имя и язык, используемые по умолчанию, и либо адрес, либо географические координаты. Все другие метаданные о пункте, известные пользователю, также должны быть включены, для того чтобы заполнить поля метаданных новой записи в структуре данных или обновить метаданные в уже существующей записи.
[0063] На фиг.3А показана структурная схема сообщения 301 регистрации пункта в соответствии с одним из вариантов осуществления настоящего изобретения. Сообщение регистрации пункта содержит поле 311 категории, поле 317 имени, поле 323 местоположения и поле 327 идентификатора поставщика. Хотя на фиг.3А для иллюстрации поля показаны в виде интегральных блоков данных в конкретном порядке в одном сообщении, в других вариантах осуществления настоящего изобретения одно или более полей или частей полей расположены в другом порядке в одном или более сообщениях среди двух или более процессов. В некоторых других вариантах осуществления настоящего изобретения одно или более показанных полей или частей полей отсутствуют или включены дополнительные поля.
[0064] В показанном примере осуществления настоящего изобретения поле 311 категории содержит поле 313 управляемой категории и поле 315 дополнительных категорий для передачи данных, которые указывают одну или более базовых категорий и один или более тегов в свободном формате соответственно, как было описано выше. Поле 317 имени содержит поле 319 языка и поле 321 имени для передачи данных, которые указывают предлагаемый язык, используемый по умолчанию, и имя на этом языке, используемое по умолчанию, соответственно.
[0065] В показанном примере осуществления изобретения поле 323 местоположения содержит поле 325 для передачи данных, которые, как описано выше, указывают почтовый адрес на языке, используемом по умолчанию, и/или географические координаты.
[0066] В показанном примере осуществления изобретения в поле 327 идентификатора поставщика передаются данные, указывающие организацию или лицо, пытающееся добавить или другим образом зарегистрировать пункт в наборе совместно используемых пунктов группы.
[0067] В соответствии с примером осуществления настоящего изобретения в интерфейсе PNSS API предусматривается, что сообщение 301 регистрации должно представлять собой документ XML в теле сообщения HTTP POST. При этом используется тот же словарь параметров XML, что и словарь для документа XML, показанного на фиг.2С и фиг.2D.
[0068] На фиг.3 В показана структурная схема ответного сообщения 303 о пункте с одним идентификатором пункта в соответствии с одним из вариантов осуществления настоящего изобретения. Сообщение этого типа возвращается в том случае, если метаданные регистрации в точности совпадают с соответствующими метаданными о пункте, уже содержащимися в структуре метаданных о пункте, или если метаданные регистрации указывают на новый пункт, пока отсутствующий в структуре метаданных. Ответное сообщение 303 о пункте содержит поле 331 идентификатора пункта и поле 333 ресурса пункта. Идентификатор пункта содержит данные, указывающие уникальный идентификатор нового или существующего пункта, который в точности соответствует метаданным регистрации. Поле 333 ресурса пункта содержит данные, которые указывают веб-страницу, в которой должны быть добавлены ссылки на описание или сервисы, связанные с пунктом, и на которой можно найти ссылки на существующие описания и сервисы (если они имеются).
[0069] В соответствии с примером осуществления настоящего изобретения в интерфейсе PNSS API предусматривается, что ответное сообщение 303 должно представлять собой документ XML в теле сообщения HTTP с использованием параметров XML, показанных на фиг.2С и фиг.2D. В случае полного соответствия с уже существующим пунктом ответное сообщение возвращает код 303 состояния. Если создается новый пункт, ответное сообщение вернет код 201 состояния. Заголовок HTTP "Location" (местоположение) будет содержать ссылку URL на метаданные о пункте в сервисе PMDS. Тело ответного сообщения будет содержать представление XML идентификатора пункта.
[0070] На фиг.3С показана структурная схема ответного сообщения 305 об ошибке в соответствии с одним из вариантов осуществления настоящего изобретения. Сообщение этого типа возвращается, если при обработке метаданных регистрации возникли проблемы для сервиса PNSS. Ответное сообщение 305 о пункте содержит поле 351 описания ошибки, в котором передаются данные, указывающие тип ошибки. В соответствии с примером осуществления настоящего изобретения в интерфейсе PNSS API предусматривается, что ответное сообщение 305 должно представлять собой документ XML в теле сообщения HTTP. В том случае, если метаданные регистрации не проходят проверку действительности, выполняемую сервисом PNSS, в ответном сообщении 305 возвращается код 400 состояния. В теле ответного сообщения содержится представление XML, например "Error! Reference source not found" (Ошибка! Источник ссылки не найден). Примеры сообщений об ошибках следующие: "Invalid data" (недействительные данные), если в описании пункта отсутствует любой из требуемых атрибутов; "Invalid address" (недействительный адрес), если указаны недействительные или некорректные данные об адресе (например, адрес не распознан или заданы некорректные географические координаты).
[0071] На фиг.3D показана структурная схема ответного сообщения 307 о пункте с одним или более подходящими пунктами в соответствии с одним из вариантов осуществления настоящего изобретения. Сообщение этого типа возвращается, если метаданные регистрации частично соответствуют одному или более новым или предварительно заданным пунктам. Ответное сообщение 307 о пункте содержит одно или более полей подходящих пунктов, например поля 371а, 371b и 371с подходящих пунктов, которые далее совместно называются полями 371 подходящих пунктов. Каждое поле 371 подходящего пункта содержит поле 373 качества соответствия, поле 375 индикатора сохранившегося/нового пункта, поле 377 категории, поле 381 имен, поле 391 местоположения, поле 397 маркера, как показано для поля 371а подходящего пункта.
[0072] В показанном примере осуществления настоящего изобретения поле 373 качества соответствия содержит данные, которые указывают степень соответствия между метаданными регистрации и метаданными о подходящем пункте. Степень соответствия меньше значения для полного соответствия и больше предварительно заданного порогового значения для степени соответствия. Для определения степени соответствия может использоваться любой способ, например, может использоваться десятичное значение в диапазоне от 0,0 (при отсутствии соответствия) до 1,0 (в случае полного соответствия) или целое значение в диапазоне от 0 (при отсутствии соответствия) до 255 (в случае полного соответствия). Для формирования степени соответствия может использоваться любое измерение подобия данных. В показанном примере осуществления настоящего изобретения используется нечеткая логика для одновременного рассмотрения и корректного взвешивания параметров подобия информации о категории, имени, местоположении и контактной информации, содержащейся в метаданных о пункте. В некоторых вариантах осуществления настоящего изобретения исследуется одно или более свойств алгоритма нечеткой логики на основе различий между метаданными регистрации и метаданными о подходящих пунктах, выбранных предшествующими пользователями PNSS.
[0073] В показанном примере осуществления настоящего изобретения флаг 375 индикатора сохранившегося/нового пункта содержит данные, которые указывают на то, является ли подходящий пункт новым пунктом с действительными метаданными или сохранившимся пунктом в структуре метаданных о пункте.
[0074] В показанном примере осуществления изобретения поле 377 категории включает поле 379 управляемых категорий, которое содержит данные, указывающие управляемые категории подходящего пункта. Аналогично, поле 381 имени включает поле 383 языка, используемого по умолчанию, которое содержит данные, указывающие язык, используемый по умолчанию для подходящего пункта, и поле 385 имени, используемого по умолчанию, которое содержит данные, указывающие имя подходящего пункта на языке, используемом по умолчанию. Поле 391 местоположения включает поле 393 адреса, которое содержит данные, указывающие адрес подходящего пункта на языке, используемом по умолчанию, и поле 395 географических координат, которое содержит данные, указывающие географические координаты подходящего пункта.
[0075] В показанном примере осуществления настоящего изобретения поле 397 маркера содержит данные, которые указывают на различия между метаданными о подходящем пункте и метаданными регистрации. Данные в поле 397 маркера используются для эффективного указания подходящего пункта, выбранного пользователем, и реконструкции метаданных о подходящем пункте на основе метаданных регистрации.
[0076] В соответствии с примером осуществления настоящего изобретения в интерфейсе PNSS API предусматривается, что ответное сообщение 307 должно представлять собой документ XML в теле сообщения HTTP с использованием параметров XML, показанных на фиг.2С и фиг.2D, к которым добавляется параметр XML token (маркер). Если доступны один или более возможных подходящих пунктов, но нет полного соответствия, то в ответном сообщении возвращается код 300 состояния. Тело ответного сообщения содержит представление XML со списком подходящих пунктов. Пользователь может выбрать один из этих подходящих пунктов и получить идентификатор этого подходящего пункта с помощью ресурса API выбранного подходящего пункта.
[0077] На фиг.4А показана структурная схема сообщения 401 для выбора подходящего пункта в соответствии с одним из вариантов осуществления настоящего изобретения. Сообщение 401 содержит поле 403 маркера выбранного подходящего пункта, в котором передаются данные, указывающие маркер, содержащийся в сообщении 307, для упомянутого выбранного подходящего пункта. Выбранный подходящий пункт представляет собой пункт, который, по мнению пользователя PNSS, является именно тем пунктом, который он предполагал зарегистрировать. Если ни один из подходящих пунктов не относится к пункту, который предполагал пользователь, то пользователь должен пересмотреть и исправить исходные метаданные регистрации и представить исправленные метаданные в новом сообщении регистрации.
[0078] В соответствии с примером осуществления настоящего изобретения в интерфейсе PNSS API предусмотрен запрос, позволяющий пользователю PNSS выбрать один из предложенных подходящих пунктов предшествующей операции POST. Эта операция может использоваться либо для выбора уже существующего пункта с немного отличающимися метаданными, либо для создания нового пункта, метаданные о котором немного отличаются, из-за того, например, что метаданные для него скорректированы или расширены. Тело сообщения содержит документ XML со значением параметра XML token выбранного подходящего пункта, не расположенный в теле ответного сообщения предшествующей операции POST. В ответ клиент PNSS получает идентификатор подходящего пункта, например, в описанном выше ответном сообщении 303.
[0079] На фиг.4 В показана структурная схема сообщения 411 для запроса ресурса пункта в соответствии с одним из вариантов осуществления настоящего изобретения. Этот запрос направляется в сервис PMDS 131 и содержит поле 413 идентификатора пункта. Поле идентификатора пункта содержит данные, которые указывают значение уникального идентификатора пункта. В ответ клиент PNSS получает метаданные о пункте, содержащие ресурс пункта, где можно получить ссылки на существующее описание и сервисы, связанные с этим пунктом, и куда можно разместить ссылки на новые описания и сервисы.
[0080] В соответствии с примером осуществления настоящего изобретения интерфейс PNSS API позволяет сервису метаданных о пункте (PMDS) предоставлять пользователю PNSS возможность чтения базовых метаданных о пункте и возможность управления этими метаданными. Таким образом, каждый пункт моделируется как ресурс, указанный адресом URL, возвращаемым в поле 333 сообщения 303. Ресурс обеспечивает набор операций и подресурсов. Сообщение HTTP GET возвращает метаданные о пункте с идентификатором пункта, как указано посредством последнего сегмента URL. Ответное сообщение HTTP содержит код состояния (Status Code). Если существует пункт, идентификатор которого соответствует последнему сегменту URL, то в ответном сообщении возвращается код 200 состояния. Тело ответного сообщения будет содержать представление XML пункта, как показано на фиг.2С и фиг.2D. Если нет пункта, идентификатор которого соответствует последнему сегменту URL, то в ответном сообщении возвращается код 404 состояния.
[0081] В соответствии с примером осуществления настоящего изобретения сервисы PNSS разделяются между множеством модулей. Далее со ссылкой на фиг.5А и фиг.5B описываются процессы модуля 131 сервиса предоставления метаданных о пункте (PMDS) и модуля 133 сервиса предоставления постоянного идентификатора пункта (PPIDS) соответственно. В других вариантах осуществления настоящего изобретения два или более таких модулей объединяются в одном модуле, который выполняет операции обоих процессов.
[0082] На фиг.5А показана блок-схема процесса 500 сервиса предоставления метаданных о пункте (PMDS) в соответствии с одним из вариантов осуществления настоящего изобретения. Хотя для примера шаги алгоритмов, показанных на фиг.5А и фиг.5В, представлены в конкретном порядке, в других вариантах осуществления настоящего изобретения один или более шагов могут выполняться в другом порядке или перекрываться во времени, выполняться последовательно или параллельно, при этом один или более шагов могут быть исключены из последовательности или добавлены в нее, или изменены различными способами.
[0083] В соответствии с показанным примером осуществления изобретения на шаге 501 принимают сообщение, такое как документ XML в теле сообщения HTTP. На шаге 503 определяют, указываются ли в сообщении метаданные о новом пункте, который необходимо создать.
[0084] Если это так, то на шаге 505 в показанном примере осуществления изобретения определяют следующий идентификатор пункта. Для определения следующего идентификатора пункта может применяться любой способ. В некоторых вариантах осуществления настоящего изобретения следующий доступный идентификатор пункта формируют путем инкрементирования последнего идентификатора пункта, а в других вариантах осуществления настоящего изобретения идентификатор пункта определяют с помощью хеш-функции. В некоторых вариантах осуществления настоящего изобретения следующий идентификатор пункта определяют путем посылки сообщения запроса следующего идентификатора пункта в сервер 136 предоставления глобального имени пункта (GPNS). На шаге 507 в структуру метаданных о пунктах добавляют новую запись с новым идентификатором пункта. Значения метаданных, принятых в сообщении о создании, сохраняют в полях новой записи, показанных на фиг.2А. На шаге 509 новый идентификатор пункта и связанный с пунктом ресурс возвращают в модуль, передавший сообщение о создании.
[0085] Если в сообщении не указывается о необходимости создания нового пункта, то на шаге 511 в показанном варианте осуществления изобретения определяют, указано ли в сообщении извлечь метаданные о пункте на основе идентификатора пункта, представленного в сообщении. Если это так, то на шаге 513 метаданные о пункте для заданного идентификатора пункта возвращают в модуль, передавший сообщение, например, в документе XML, аналогичном тому, что изображен на фиг.2С и фиг.2D, в теле сообщения HTTP. Однако, если такой идентификатор пункта является недействительным, то возвращают сообщение об ошибке, например сообщение 306, с описанием ошибки или кодом ошибки.
[0086] Если принятое сообщение не является запросом извлечения метаданных на основе идентификатора пункта, то на шаге 515 в показанном варианте осуществления изобретения определяют, является ли сообщение запросом на извлечение идентификатора пункта на основе метаданных, включенных в сообщение. Если нет, то сообщение пересматривают на шаге 535, описываемом ниже. Если да, то на шаге 517 извлекают следующую запись в структуре метаданных о пункте. В некоторых вариантах осуществления настоящего изобретения следующая извлеченная запись представляет собой следующую запись о пункте, расположенном поблизости от местоположения, указанного в метаданных, представленных в принятом сообщении.
[0087] В показанном примере осуществления настоящего изобретения на шаге 519 определяют качество соответствия между метаданными в принятом сообщении (метаданными сообщения) и метаданными в записи структуры данных (метаданные записи). Для определения качества соответствия может использоваться любой способ. В некоторых вариантах осуществления настоящего изобретения качество вычисляется как степень соответствия, определяемая с использованием алгоритма нечеткого соответствия, который учитывает идентификацию местоположения, определение категории, различение имен, обнаружение пунктов в ближайшей окрестности и отслеживание результатов предшествующего выбора, как описано выше. В других вариантах осуществления настоящего изобретения нечеткая логика выполняется в сервисе PPIDS, и качество соответствия, определенное в сервисе PMDS, просто указывает на один из трех уровней соответствия: первый уровень определяет отсутствие соответствия всех метаданных за исключением категории, второй уровень определяет полное соответствие всех метаданных, и третий уровень определяет соответствие по меньшей мере одного параметра метаданных, отличного от категории.
[0088] В показанном примере осуществления изобретения на шаге 521 определяют, найдено ли полное соответствие всех метаданных, содержащихся в сообщении, с соответствующими метаданными в записи. Если это так, то на шаге 521 возвращают идентификатор пункта из записи в качестве сохранившегося идентификатора пункта, и обработку принятого сообщения завершают.
[0089] Если нет полного соответствия, то на шаге 525 в показанном примере осуществления изобретения определяют, превышает ли степень соответствия предварительно заданное пороговое значение или попадает в третью категорию качества соответствия. Если да, то имеется частичное соответствие и возвращают идентификатор пункта из записи совместно со значением уровня качества соответствия.
[0090] На шаге 529 в показанном примере осуществления изобретения определяют, является ли только что рассмотренная запись последней записью для близлежащего местоположения. Если нет, то на шаге 517 выбирают следующую запись. Если да, то на шаге 531 определяют, было ли получено какое-либо частичное соответствие (например, был ли шаг 527 выполнен по меньшей мере один раз). Если это так, то обработку сообщения завершают и процесс заканчивается. В противном случае возвращают сообщение, указывающее на отсутствие соответствия для метаданных сообщения.
[0091] На шаге 535 в показанном примере осуществления изобретения определяют, указано ли в принятом сообщении обновить метаданные в существующей записи. Если нет, то сообщение игнорируют и процесс завершается. Если да, то на шаге 537 метаданные существующей записи обновляют. Например, в пустые поля добавляют новые метаданные, метаданные в поле заменяют, метаданные в поле удаляют или запись удаляют либо объединяют с другой записью. Записи объединяют, например, путем указания одной записи в качестве основной записи, внесения метаданных из подчиненной записи только в пустые поля основной записи, удаления подчиненной записи и включения идентификатора пункта подчиненной записи в поле 207 объединенных идентификаторов пункта основной записи. Затем процесс завершается.
[0092] В результате выполнения способа 500 любой узел может определить метаданные, связанные с идентификатором пункта, или найти идентификатор пункта с метаданными, которые в точности или частично соответствуют имеющимся метаданным. В соответствии с некоторыми вариантами осуществления настоящего изобретения эти процессы, выполняемые в сервисе PMDS 131, используются сервисом PPIDS 133 для контроля качества метаданных, зарегистрированных в базе метаданных, и существенного уменьшения дублированных записей. Для предотвращения злонамеренного создания новых записей, сообщения о создании нового пункта или обновлении записи принимают только из доверенных источников, таких как сервис PPIDS 133.
[0093] На фиг.5В показана блок-схема процесса 550 сервиса предоставления постоянного идентификатора пункта (PPIDS) в соответствии с одним из вариантов осуществления настоящего изобретения. На шаге 551 структуру метаданных заполняют множеством записей. В некоторых вариантах осуществления настоящего изобретения шаг 551 выполняется другим процессом. На шаге 553 принимают запрос веб-страницы PPIDS и передают веб-страницу в одном или более сообщениях HTTP. На веб-странице расположены активные области и формы, с помощью которых пользователь PNSS может выполнять функции PNSS. На шаге 555 принимают сообщение HTTP из браузера пользователя. В некоторых вариантах осуществления настоящего изобретения шаг 553 опускается, и сообщение, принятое на шаге 555, передается клиентом 121 PNSS в виде, например, сообщения HTTP.
[0094] На шаге 557 в показанном примере осуществления изобретения определяют, является ли сообщение сообщением регистрации, например сообщением 301 регистрации пункта. Если это так, то на шаге 559 определяют, действительны ли метаданные регистрации. Для определения действительности метаданных может использоваться любой способ. Например, в некоторых вариантах осуществления настоящего изобретения действительность почтового адреса определяют на основе коммерческих сервисов LRO, доступных из сервиса NAVTEQ. Например, сервис LRO может указать, что не существует улицы с заданным названием в заданном городе или в пределах области, определяемой почтовым кодом, или что дом с заданным номером на улице с заданным названием не существует. Значения широты должны находиться в диапазоне от 90 градусов южной широты до 90 градусов северной широты, а значения долготы должны находиться в диапазоне от 180 градусов западной долготы до 180 градусов восточной долготы.
[0095] Если метаданные регистрации недействительны, то на шаге 561 в показанном примере осуществления изобретения определяют, можно ли скорректировать метаданные. Если нет, то на шаге 563 в клиентский процесс возвращают сообщение об ошибке, такое как сообщение 305. Если метаданные регистрации могут быть скорректированы, например, при наличии орфографических ошибок, переставленных цифр и при отсутствии почтовых кодов или названий городов, то на шаге 565 метаданные регистрации корректируют для формирования действительных скорректированных метаданных регистрации. В некоторых вариантах осуществления настоящего изобретения скорректированные метаданные регистрации используют на шаге 567.
[0096] На шаге 567 в показанном примере осуществления изобретения формируют список из одного или более подходящих пунктов с соответствующими маркерами, как описано выше, включая подходящий пункт на основе скорректированных метаданных, если такой имеется. На шаге 569 клиентскому процессу возвращают ответное сообщение о пункте, такое как сообщение 307, содержащее информацию о подходящих пунктах. Затем осуществляется переход к шагу 555 для приема следующего сообщения из клиента (например, из клиента 121 PNSS или браузера 117)
[0097] Если на шаге 559 определяют, что метаданные действительны, или, в некоторых вариантах осуществления изобретения, скорректированы на шаге 565, то на шаге 571 получают идентификатор пункта для действительных метаданных регистрации. Например, в сервис PMDS 331 для обработки передают сообщение запроса с действительными метаданными регистрации, как описано выше со ссылкой на фиг.5А.
[0098] На шаге 573 в показанном примере осуществления изобретения определяют, возвратил ли сервис PMDS информацию только о частичных соответствиях, например возвратил по меньшей мере одно сообщение с качеством соответствия третьего уровня, но ни одного сообщения о полном соответствии для идентификатора пункта. Если это так, на шаге 567 формируют список подходящих пунктов на основе этих частичных соответствий. В некоторых вариантах осуществления настоящего изобретения в список подходящих пунктов включена информация о всех частичных соответствиях. В некоторых вариантах осуществления настоящего изобретения выполняют обработку для определения того, какие из частичных соответствий (если они имеются) следует включать в список подходящих пунктов. Например, в некоторых вариантах осуществления настоящего изобретения применяют алгоритм нечеткой логики на основе предшествующего исследования ранее осуществленных операций выбора подходящих пунктов. В этих вариантах осуществления изобретения, например, пункт с частичным соответствием со степенью соответствия, редко выбираемой пользователем, не включают в список подходящих пунктов, если это соответствие не является полным. Для каждого пункта, включенного в список подходящих пунктов, определяют маркер. На шаге 569, как описано выше, возвращают ответное сообщение о подходящих пунктах.
[0099] На шаге 575 в показанном примере осуществления изобретения определяют, возвратил ли сервис PMDS информацию о полном соответствии. Если это так, то, например, в ответном сообщении 303 о пункте возвращают идентификатор пункта, который полностью соответствует действительным метаданным регистрации, совместно с ресурсом пункта. Затем процесс завершается, если не принято следующее сообщение на шаге 553 или 555.
[0100] Если информация о полном соответствии или частичных соответствиях не возвращается, то в показанном примере осуществления изобретения сервис PMDS возвращает сообщение о том, что нет соответствия для действительных метаданных регистрации. На шаге 579 действительные метаданные регистрации передают в сервис PMDS в сообщении для создания нового пункта. Сервис PMDS получает следующий идентификатор пункта, добавляет новую запись в структуру метаданных о пункте и возвращает новый идентификатор пункта, как описано выше со ссылкой на шаги 505-509, показанные на фиг.5А. На шаге 581 из сервиса PMDS принимают новый идентификатор пункта, который возвращают клиентскому процессу. Затем процесс завершается, если не принимается следующее сообщение на шаге 553 или 555.
[0101] Если принятое сообщение не является сообщением регистрации, то в показанном примере осуществления изобретения на шаге 583 определяют, является ли принятое сообщение сообщением выбора подходящего пункта, например сообщением 401. Если нет, процесс завершается, если на шаге 555 не принимается соответствующее сообщение. Если да, на шаге 585 метаданные о выбранном подходящем пункте реконструируют на основе действительных данных регистрации и маркера. Кроме того, метрики, предназначенные для определения того, какие пункты должны быть предложены как подходящие из набора возвращенных пунктов с частичными соответствиями, рассматривают и обновляют как предпочтительные. Затем осуществляется переход к шагу 575 и выполняют шаги для определения того, является ли выбранный подходящий пункт сохранившимся или новым пунктом, после чего передают соответствующее ответное сообщение.
[0102] На фиг.6А показана временная диаграмма, иллюстрирующая последовательность 600 передачи сообщений и выполнения процессов для доступа к метаданным о пункте в соответствии с одним из вариантов осуществления настоящего изобретения. На этой и последующих временных диаграммах время увеличивается по направлению "вниз". Сетевой процесс в сети представлен в виде вертикальной линии. Сообщение, передаваемое от одного процесса к другому, представлено горизонтальными стрелками. Шаг, выполняемый процессом, указывается прямоугольником или закольцованной стрелкой, перекрывающей процесс во временной последовательности, указанной вертикальной позицией прямоугольника или закольцованной стрелки.
[0103] Сетевыми процессами, представленными в показанном на фиг.6А примере осуществления изобретения, являются пользователь PNSS, такой как клиентский процесс 121 PNSS, сервис 133 предоставления постоянного идентификатора пункта (PPIDS), сервис 131 предоставления метаданных о пункте (PMDS) и сервис 103 предоставления ресурса пункта.
[0104] В показанном примере осуществления настоящего изобретения сервис предоставления метаданных о пункте управляет метаданными всех зарегистрированных пунктов. Для доступа к метаданным требуется идентификатор пункта. Сообщение 611, getPlace(placelD), представляет собой пример сообщения 411 запроса пункта. Сообщение 613, resultplace Metadata, представляет собой пример сообщения HTTP с метаданными о пункте, показанного на фиг.2А, фиг.2С и фиг.2D.
[0105] На фиг.6В показана временная диаграмма, иллюстрирующая последовательность 620 передачи сообщений и выполнения процессов для регистрации действительного нового пункта в соответствии с одним из вариантов осуществления настоящего изобретения. Сетевые процессы, представленные на фиг.6В, совпадают с процессами, показанными на фиг.6А.
[0106] Сервис PPIDS 133 управляет регистрацией новых пунктов в показанном примере осуществления изобретения. Таким образом, пользователь 121 PNSS должен предоставить сервису PPIDS метаданные о пункте в сообщении 621 регистрации (например, в сообщении 301). Сервис PPIDS проверяет действительность данных в процессе 623. Если данные корректны, сервис PPIDS выполняет поиск соответствующих пунктов путем посылки в сервис PMDS 131 сообщения 625. Если в поступившем из сервиса PMDS сообщении 627 указывается, что соответствующий пункт отсутствует, сервис PPIDS создает новый пункт в сервисе PMDS путем передачи сообщения 629. Новый идентификатор пункта, возвращенный сервисом PDMS в сервис PPIDS в сообщении 631, возвращается пользователю 121 PNSS в сообщении 633.
[0107] На фиг.6С показана временная диаграмма, иллюстрирующая последовательность 640 передачи сообщений и выполнения процессов для регистрации соответствующего пункта согласно одному из вариантов осуществления настоящего изобретения. Сетевые процессы, представленные на фиг.6С, совпадают с процессами, показанными на фиг.6А.
[0108] Регистрация пункта, который полностью соответствует существующему пункту, начинается с показанного на фиг.6В процесса регистрации нового пункта, однако в показанном примере осуществления изобретения в результате поиска в сервисе PMDS в сообщении 647 возвращается пункт с полным соответствием. Сервис PPIDS в сообщении 649 непосредственно возвращает идентификатор соответствующего пункта.
[0109] На фиг.6D показана временная диаграмма, иллюстрирующая последовательность 650 передачи сообщений и выполнения процессов для регистрации частично соответствующего пункта согласно одному из вариантов осуществления настоящего изобретения. Сетевые процессы, представленные на фиг.6D, совпадают с процессами, показанными на фиг.6А.
[0110] В том случае, если в сообщениях 657 указано, что предоставленные метаданные только частично соответствуют одному пункту (или множеству пунктов), то в показанном примере осуществления изобретения сервис PPIDS в рамках процесса 659 создает список всех соответствующих подходящих пунктов совместно со значением "качество соответствия". Список передается в сообщении 661 (например, в сообщении 307, показанном на фиг.3D). Затем пользователь может выбрать один из этих подходящих пунктов путем возврата в сообщении 665 результата выбора в виде маркера (например, в сообщении 401, показанном на фиг.4А). На основе выбранного подходящего пункта сервис PPIDS в рамках процесса 667 реконструирует метаданные подходящего пункта из метаданных регистрации и маркера. Сервис PPIDS передает в сервис PMDS метаданные регистрации в сообщении 669, предназначенном для обновления метаданных о выбранном пункте на основе метаданных регистрации. Сервис PDMS обновляет выбранный пункт и передает в сообщении 671 идентификатор обновленного, но сохранившегося пункта. Идентификатор пункта может измениться, если исходный частично соответствующий пункт был объединен с другим пунктом в результате выполнения обновлений. Сервис PPIDS в сообщении 673 возвращает идентификатор сохранившегося пункта.
[0111] Если ни один из подходящих пунктов не удовлетворяет требованиям пользователя, то в показанном примере осуществления изобретения пользователь должен скорректировать метаданные вручную и повторно выполнить регистрацию с использованием новых метаданных.
[0112] На фиг.6Е показана временная диаграмма, иллюстрирующая последовательность 680 передачи сообщений и выполнения процессов для регистрации частично действительного пункта в соответствии с одним из вариантов осуществления настоящего изобретения. Сетевые процессы, представленные на фиг.6Е, совпадают с процессами, показанными на фиг.6А.
[0113] Во время выполнения процессом 683 проверки действительности в показанном примере осуществления изобретения сервис PPIDS может автоматически исправить некоторые ошибки в метаданных регистрации, принятых в сообщении 681, например исправить орфографические ошибки и добавить почтовый индекс. В этом случае сервис PPIDS продолжает функционировать так же, как и при обработке непосредственно предоставленных корректных данных, например передает сообщение 685 для поиска соответствующих пунктов. Даже если соответствия не найдены, как указано в сообщении 687, сервис PPIDS предоставляет пользователю возможность подтвердить изменения на дополнительном шаге выбора. Таким образом, сервис PPIDS создает подходящий пункт на основе метаданных, скорректированных в процессе 689, и передает о нем информацию совместно с объектом "select Token" в сообщении 690. Если пользователь согласен с изменениями, он передает в сервис PPIDS объект selectToken в сообщении 691 запроса selectCandidate. Сервис PPIDS продолжает обработку так, как будто пользователь изначально предоставил корректные данные. Если соответствие не найдено, как показано на фиг.6Е, сервис PPIDS создает новый пункт путем реконструкции в процессе 693 скорректированных метаданных на основе зарегистрированных метаданных и маркера. Реконструированные метаданные используются для создания нового пункта путем передачи сообщения 695 о создании пункта. Принимается результирующее сообщение 697 с идентификатором нового пункта и возвращается пользователю 121 PNSS в сообщении 699.
[0114] Если соответствие найдено, то в показанном примере осуществления изобретения сервис PPIDS возвращает идентификатор соответствующего существующего пункта. Если пользователя не устраивают сделанные исправления, он должен вручную изменить метаданные регистрации и повторно выполнить регистрацию с использованием измененных метаданных.
[0115] Описанные процессы отслеживания и воспроизведения совместно используемого контента могут быть реализованы с помощью программного обеспечения, аппаратного обеспечения (например, универсального процессора, микросхемы цифрового сигнального процессора (DSP, Digital Signal Processor), специализированной интегральной схемы (ASIC, Application Specific Integrated Circuit), программируемых пользователем вентильных матриц (FPGA, Field Programmable Gate Array) и т.д.), встроенного программного обеспечения или комбинации этих средств. Ниже более подробно описываются примеры аппаратуры, служащей для выполнения описанных функций.
[0116] На фиг.7 показана компьютерная система 700, с помощью которой может быть реализован вариант осуществления настоящего изобретения. Компьютерная система 700 включает механизм связи, такой как шина 710, для передачи информации между другими внутренними и внешними компонентами компьютерной системы 700. Информация (также называемая данными) представлена в виде физического выражения измеряемого явления, обычно электрических напряжений, однако в других вариантах осуществления настоящего изобретения к такому явлению может относиться магнитное, электромагнитное явление, давление, химическое, биологическое, молекулярное, атомное, субатомное, квантовое взаимодействие. Например, северное и южное магнитные поля или нулевое и ненулевое значение электрического напряжения представляются двумя состояниями (0, 1) двоичного разряда (бита). Другое явление может определяться цифрами в системе счисления более высокого порядка. Суперпозиция нескольких одновременных квантовых состояний перед измерением представляет квантовый бит (qubit). Последовательность из одной или более цифр образует цифровые данные, которые используются для представления числа или кода символа. В некоторых вариантах осуществления настоящего изобретения информация, называемая аналоговыми данными, представлена практически непрерывными измеряемыми значениями в пределах конкретного диапазона.
[0117] Шина 710 содержит один или более параллельных проводников информации, позволяющих быстро передавать информацию устройствам, подключенным к шине 710. К шине 710 подключаются один или более процессоров 702, служащих для обработки информации.
[0118] Процессор 702 выполняет набор операций обработки информации. В набор операций входит взятие информации из шины 710 и помещение информации в шину 710. Обычно в набор операций также входит сравнение двух или более единиц информации, сдвиг позиций единиц информации и комбинирование двух или более единиц информации, например, с помощью сложения или умножения, или логических операций, таких как ИЛИ (OR), исключающее ИЛИ (XOR) и И (AND). Каждая операция набора операций, которая может быть выполнена процессором, представлена для процессора в виде информации, называемой инструкциями, например кодом операции, состоящим из одной или более цифр. Последовательность операций, подлежащих выполнению процессором 702, например последовательность кодов операций, образует инструкции процессора, также называемые инструкциями компьютерной системы или просто компьютерными инструкциями. Процессоры могут быть реализованы, среди прочего, в виде механических, электрических, магнитных, оптических, химических или квантовых компонентов или комбинации таких компонентов.
[0119] Компьютерная система 700 также содержит память 704, соединенную с шиной 710. Память 704, такая как оперативная память (RAM, random access memory) или другое устройство динамической памяти, сохраняет информацию, включая инструкции процессора. Динамическая память позволяет компьютерной системе 700 изменять хранимую в ней информацию. Память RAM позволяет сохранять или считывать единицу информации, хранимую в положении, называемом адресом памяти, независимо от информации, расположенной в соседних адресах. Память 704 также используется процессором 702 для хранения временных значений в ходе исполнения инструкций процессора. Компьютерная система 700 также содержит постоянную память (ROM, read only memory) 706 или другое устройство статической памяти, соединенное с шиной 710, для хранения статической информации, включая инструкции, которая не изменяется компьютерной системой 700. Некоторые модули памяти представляют собой энергозависимую память, информация в которой не сохраняется после отключения питания. Кроме того, к шине 710 подключено энергонезависимое (постоянное) запоминающее устройство 708, такое как магнитный диск, оптический диск или карта флэш-памяти, для хранения информации, включая инструкции, которая сохраняется даже при отключении компьютерной системы 700 или пропадании питания.
[0120] Информация, включая инструкции, подается на шину 710 для использования процессором из внешнего устройства 712 ввода, такого как клавиатура, содержащая алфавитно-цифровые клавиши и используемая оператором, или датчик. Датчик обнаруживает состояния в своей окрестности и преобразует эти обнаружения в физическое выражение, совместимое с измеряемым явлением, используемым для представления информации в компьютерной системе 700. Другие внешние устройства, соединенные с шиной 710 и главным образом используемые для взаимодействия с пользователем, включают дисплей 714, такой как электронно-лучевая трубка (CRT, cathode ray tube), или жидкокристаллический дисплей (LCD, liquid crystal display), или плазменный экран, или принтер для вывода текста или изображений, и координатно-указательное устройство 716, такое как мышь, или трекбол, или клавиши управления курсором, или датчик движения, для управления позицией небольшого изображения курсора, представленного на дисплее 714, и выдачи команд, связанных с графическими элементами, отображаемыми на дисплее 714. В некоторых вариантах осуществления настоящего изобретения, например в вариантах, не требующих вмешательства пользователя, в которых компьютерная система 700 выполняет все операции автоматически, одно или более внешних устройств, таких как устройство 712 ввода информации, дисплей 714 и координатно-указательное устройство 716, могут отсутствовать.
[0121] В показанном варианте осуществления изобретения с шиной 710 соединено специализированное аппаратное обеспечение, такое как специализированная интегральная схема (ASIC) 720. Специализированное аппаратное обеспечение сконфигурировано для достаточно быстрого выполнения для специальных целей операций, не выполняемых процессором 702. Примеры специализированных интегральных схем включают платы графического ускорителя для формирования изображений на дисплее 714, криптографические платы для шифрования и дешифрования сообщений, передаваемых в сети, платы распознавания речи и интерфейсы для специальных внешних устройств, таких как манипуляторы роботов и медицинское оборудование сканирования, которые повторяют некоторую сложную последовательность операций, более эффективно реализуемую аппаратным способом.
[0122] Компьютерная система 700 также содержит один или более экземпляров интерфейса 770 связи, соединенных с шиной 710. Интерфейс 770 связи поддерживает одностороннюю или двухстороннюю связь с различными внешними устройствами, которые работают со своими собственными процессорами, например с принтерами, сканерами или внешними дисками. В целом связь реализуется с помощью сетевой линии 778 связи, которая соединена с локальной сетью 780, к которой подключены различные внешние устройства с собственными процессорами. Например, интерфейс 770 связи может представлять собой параллельный или последовательный порт или порт универсальной последовательной шины (USB, universal serial bus) персонального компьютера. В некоторых вариантах осуществления настоящего изобретения интерфейс 770 связи реализован в виде платы цифровой сети интегрального обслуживания (ISDN, integrated services digital network), или платы цифровой абонентской линии (DSL, digital subscriber line), или телефонного модема, которые поддерживают соединение для передачи информации по телефонной линии соответствующего типа. В некоторых вариантах осуществления настоящего изобретения интерфейс 770 связи представляет собой кабельный модем, который преобразует сигналы на шине 710 в сигналы для соединения по коаксиальному кабелю или в оптические сигналы для соединения по волоконно-оптическому кабелю. В другом примере интерфейс 770 связи может представлять собой плату локальной сети (LAN, local area network), которая поддерживает соединение для связи с совместимой сетью LAN, такой как Ethernet. Также могут использоваться беспроводные линии связи. В случае применения беспроводных линий связи интерфейс 770 связи передает или принимает, или выполняет как прием, так и передачу электрических, акустических или электромагнитных сигналов, включая инфракрасные и оптические сигналы, с помощью которых переносятся информационные потоки, такие как цифровые данные. Например, в беспроводных переносных устройствах, таких как мобильные телефоны, подобные сотовым телефонам, интерфейс 770 связи, называемый радиоприемопередатчиком, включает передатчик электромагнитных волн, работающий в диапазоне радиочастот, и приемник.
[0123] Термин "машиночитаемый носитель" используется в этом описании по отношению к любому носителю, задействованному в предоставлении информации процессору 702, включая исполняемые инструкции. Такой носитель может быть выполнен в различных формах, включая, не ограничиваясь этим, энергонезависимый носитель, энергозависимый носитель и среду передачи. К энергонезависимым носителям относятся, например, оптические или магнитные диски, такие как запоминающее устройство 708. К энергозависимым носителям относятся, например, динамическая память 704. К среде передачи относятся, например, коаксиальные кабели, медный провод, волоконно-оптические кабели и сигналы несущей, которые передаются в пространстве без проводов и кабелей, например акустические волны и электромагнитные волны, включая радиосигналы, оптические и инфракрасные сигналы. К сигналам относятся искусственные переходные изменения амплитуды, частоты, фазы, поляризации или других физических характеристик, передаваемые через среду передачи.
[0124] К общим формам машиночитаемых носителей относятся, например, дискета, гибкий диск, жесткий диск, магнитная лента или любые другие магнитные носители, компактный диск ROM (CD-ROM, compact disk ROM), цифровой видеодиск (DVD, digital video disk) или любой другой оптический носитель, перфокарты, перфоленты или любой другой физический носитель с шаблонами в виде отверстий, память RAM, программируемая память ROM (FROM, programmable ROM), стираемая память FROM (EPROM, erasable FROM), память FLASH-EPROM или любая другая микросхема или модуль памяти, среда передачи, такая как кабель или несущая, или любой другой носитель, с которого компьютер может считывать информацию. Информация, считанная компьютером с машиночитаемого носителя, представляет собой изменения физического выражения измеряемого явления на машиночитаемом носителе. Машиночитаемый носитель представляет собой подмножество машиночитаемых носителей, в которое не входит среда передачи, переносящая искусственные переходные сигналы.
[0125] К логике, закодированной на одном или более физических носителях, относятся инструкции процессора на машиночитаемом носителе информации и/или специализированное аппаратное обеспечение, такое как схема ASIC 720.
[0126] Сетевая линия 778 связи обычно обеспечивает информационную связь с помощью среды передачи через одну или более сетей с другими устройствами, использующими или обрабатывающими информацию. Например, сетевая линия 778 может обеспечивать соединение через локальную сеть 780 с хост-компьютером 782 или с оборудованием 784, управляемым поставщиком Интернет-услуг (ISP, Internet Service Provider). Оборудование 784 ISP, в свою очередь, предоставляет услуги передачи данных по глобальной сети общего назначения с коммутацией пакетов, состоящей из множества сетей и обычно называемой Интернет 790. Компьютер, называемый хост-сервером 792 и подключенный к Интернету, управляет процессом, который предоставляет сервис в ответ на информацию, принятую по сети Интернет. Например, хост-сервер 792 управляет процессом, который предоставляет информацию, представляющую видеоданные, предназначенные для отображения на дисплее 714.
[0127] По меньшей мере некоторые варианты осуществления настоящего изобретения относятся к использованию компьютерной системы 700 для реализации некоторых или всех описанных в этом документе способов. В соответствии с одним из вариантов осуществления настоящего изобретения эти способы реализуются с помощью компьютерной системы 700 в ответ на исполнение процессором 702 одной или более последовательностей из одной или более инструкций процессора, хранящихся в памяти 704. Такие инструкции, также называемые компьютерными инструкциями, программным обеспечением и программным кодом, могут считываться в память 704 с другого машиночитаемого носителя, такого как запоминающее устройство 708 или сетевая линия 778 связи. В результате выполнения последовательностей инструкций, содержащихся в памяти 704, процессор 702 выполняет один или более шагов способа, описанных в этом документе. В альтернативных вариантах осуществления изобретения для реализации настоящего изобретения вместо программного обеспечения или совместно с ним может использоваться аппаратное обеспечение, например схема ASIC 720. Таким образом, варианты осуществления настоящего изобретения не ограничены какой-либо конкретной комбинацией аппаратного и программного обеспечения, если в описании в точности не указано иное.
[0128] Сигналы, передаваемые по сетевой линии 778 связи и другим сетям через интерфейс 770 связи, переносят информацию в компьютерную систему 700 и из этой системы. Компьютерная система 700 может передавать и принимать информацию, включая программный код, через сети 780, 790 (а также через другие сети), через сетевую линию 778 связи и интерфейс 770 связи. В примере использования Интернета 790 хост-сервер 792 передает программный код для конкретного приложения, запрошенного с помощью сообщения, переданного из компьютера 700 через Интернет 790, оборудование 784 ISP, локальную сеть 780 и интерфейс 770 связи. Принятый код может выполняться процессором 702 или сохраняться для последующего выполнения в памяти 704 и/или в запоминающем устройстве 708, и/или в другом энергонезависимом запоминающем устройстве. Таким образом, компьютерная система 700 может получать прикладной программный код в форме сигналов несущей.
[0129] Различные виды машиночитаемых носителей могут быть задействованы в процессе переноса одной или более последовательностей инструкций и/или данных в процессор для последующего их исполнения. Например, инструкции и данные могут вначале записываться на магнитный диск удаленного компьютера, такого как хост 782. Удаленный компьютер загружает инструкции и данные в свою динамическую память и передает их по телефонной линии с помощью модема. Локальный модем компьютерной системы 700 принимает инструкции и данные по телефонной линии и использует передатчик инфракрасного сигнала для преобразования инструкций и данных в сигнал несущей в инфракрасном спектре, служащей в качестве сетевой линии 778 связи. Инфракрасный детектор, служащий в качестве интерфейса 770 связи, принимает инструкции и данные, переносимые инфракрасным сигналом, и подает информацию, представляющую инструкции и данные, на шину 710. Информация по шине 710 передается в память 704, из которой процессор 702 считывает инструкции и выполняет их с использованием некоторых данных, переданных совместно с инструкциями. Инструкции и данные, поступившие в память 704, опционально могут сохраняться в запоминающем устройстве 708 перед либо после их выполнения процессором 702.
[0130] На фиг.8 показан набор 800 микросхем (чипсет), с помощью которого может быть реализован вариант осуществления настоящего изобретения. Чипсет 800 запрограммирован для выполнения описанных функций изобретения и содержит, например, процессор и память, описываемые со ссылкой на фиг.8, которые встроены в один или более физических корпусов. Например, физический корпус содержит монтажную схему, состоящую из одного или более материалов, компонентов и/или проводников, расположенных в структурном узле (например, на плате), для обеспечения одной или более таких характеристик, как физическая прочность, экономия размеров и/или ограничение уровня электрических помех.
[0131] В одном из вариантов осуществления настоящего изобретения чипсет 800 содержит средство связи, такое как шина 801, для прохождения информации между компонентами чипсета 800. Процессор 803 соединен с шиной 801 для выполнения инструкций и обработки информации, хранящейся, например, в памяти 805. Процессор 803 может содержать одно или более ядер обработки, каждое из которых сконфигурировано для независимого выполнения операций. Многоядерный процессор позволяет выполнять многопроцессорную обработку в одном физическом корпусе. К примерам многоядерных процессоров относятся процессоры с двумя, четырьмя, восемью и более ядрами обработки. Альтернативно или дополнительно процессор 803 может содержать один или более микропроцессоров, сконфигурированных последовательно через шину 801 для независимого выполнения инструкций, конвейерной и многопоточной обработки. Процессор 803 для выполнения определенных функций и задач обработки может также оснащаться одним или более специализированными компонентами, например одним или более цифровыми сигнальными процессорами (DSP) 807 или одной или более специализированными интегральными схемами (ASIC) 809. Процессор DSP 807 обычно сконфигурирован для обработки реальных сигналов (например, звука) в реальном времени независимо от процессора 803. Аналогично, схема ASIC 809 может быть сконфигурирована для выполнения специализированных функций, которые процессору общего назначения выполнить достаточно сложно. К другим специализированным компонентам, способствующим выполнению описанных функций изобретения, относятся одна или более программируемых пользователем вентильных матриц (FPGA, field programmable gate array) (не показаны), один или более контроллеров (не показаны) или одна или более специализированных компьютерных микросхем.
[0132] Процессор 803 и сопровождающие компоненты соединены с памятью 805 через шину 801. Память 805 включает как динамическую память (например, RAM, магнитный диск, записываемый оптический диск и т.д.) и статическую память (например, ROM, CD-ROM и т.д.) для хранения инструкций, при исполнении которых выполняются описанные шаги согласно изобретению. В памяти 805 также хранятся данные, связанные с шагами обработки согласно изобретению или сформированные в процессе выполнения этих шагов.
[0133] На фиг.9 в соответствии с одним из вариантов осуществления настоящего изобретения показана схема примера компонентов мобильной станции (например, телефонной трубки), способной функционировать в системе, изображенной на фиг.1. Обычно радиоприемник определяется в терминах внешних и внутренних характеристик. К внешнему интерфейсу приемника относятся все радиочастотные схемы (RF, Radio Frequency), в то время как к внутреннему интерфейсу относятся все схемы обработки сигнала основной полосы. К соответствующим внутренним компонентам станции относятся основной блок 903 управления (MCU, Main Control Unit), цифровой сигнальный процессор (DSP) 905 и блок приемника/передатчика, содержащий блок управления усилением микрофона и блок управления усилением громкоговорителя. Блок 907 основного дисплея обеспечивает отображение пользователю при поддержке различных приложений и функций мобильной станции. Схема 909 функций обработки звукового сигнала содержит микрофон 911 и усилитель микрофона, который усиливает речевой сигнал на выходе микрофона 911. Усиленный выходной речевой сигнал микрофона 911 подается на кодер/декодер (CODEC, coder/decoder) 913.
[0134] Радиосекция 915 усиливает мощность и преобразует частоту для связи через антенну 917 с базовой станцией, входящей в систему мобильной связи. Усилитель 919 мощности (PA, power amplifier) и схема передатчика/модуляции в процессе работы реагируют на сигналы блока MCU 903, при этом выходной сигнал усилителя РА 919 подается на дуплексер 921 или циркулятор, или антенный переключатель, как известно в этой области техники. Усилитель РА 919 также связан с блоком 920 интерфейса батареи и управления питанием.
[0135] В процессе работы с устройством пользователь мобильной станции 901 говорит в микрофон 911 и его голос совместно с любым обнаруживаемым фоновым шумом преобразуется в аналоговое напряжение. Аналоговое напряжение затем преобразуется в цифровой сигнал с помощью аналого-цифрового преобразователя (ADC, Analog to Digital Converter) 923. Блок 903 управления направляет цифровой сигнал в процессор DSP 905 для обработки, например для кодирования речи, канального кодирования, шифрования и перемежения. Согласно примеру осуществления настоящего изобретения обработанные речевые сигналы кодируются блоками, отдельно не показанными на чертеже, с использованием протокола сотовой передачи, такого как усовершенствованная технология мобильной радиосвязи (EDGE), общая услуга пакетной радиосвязи (GPRS, general packet radio service), глобальная система мобильной связи (GSM), мультимедийная подсистема передачи данных по Интернет-протоколу (IMS), универсальная система мобильной связи (UMTS) и т.д., а также с использованием любой другой подходящей среды беспроводной передачи, например СВЧ-доступа (WiMAX), сетей технологии долгосрочного развития (LTE), множественного доступа с кодовым разделением каналов (CDMA), WiFi (wireless fidelity), спутниковой сети и т.п.
[0136] Кодированные сигналы затем направляются в эквалайзер 925 для компенсации любых зависящих от частоты искажений сигнала, возникающих при передаче в эфире, таких как фазовые и амплитудные искажения. После обработки эквалайзером битового потока модулятор 927 объединяет сигнал с радиочастотным сигналом, сформированным в радиоинтерфейсе 929. Модулятор 927 формирует синусоидальный сигнал путем частотной или фазовой модуляции. Для подготовки сигнала к передаче повышающий преобразователь 931 объединяет выходной синусоидальный сигнал модулятора 927 с другим синусоидальным сигналом, сформированным синтезатором 933, для получения требуемой частоты передачи. Затем сигнал передается через усилитель РА 919, усиливающий мощность сигнала до соответствующего уровня. В системах, используемых на практике, усилитель РА 919 работает в качестве усилителя с переменным коэффициентом усиления, управляемым процессором DSP 905 на основе информации, принятой от сетевой базовой станции. Затем сигнал фильтруется в дуплексере 921 и опционально передается в антенный соединитель 935 для согласования импедансов для обеспечения максимальной мощности передачи. Наконец, сигнал передается через антенну 917 в локальную базовую станцию. Для управления коэффициентом усиления оконечных каскадов приемника может использоваться автоматическая регулировка усиления (AGC, automatic gain control). Сигналы могут перенаправляться оттуда в удаленный телефон, который может представлять собой другой сотовый телефон, другой мобильный телефон или наземную линию связи, соединенную с телефонной коммутируемой сетью общего назначения (PSTN, Public Switched Telephone Network) или другой телефонной сетью.
[0137] Речевые сигналы, переданные в мобильную станцию 901, принимаются через антенну 917 и сразу же усиливаются малошумящим усилителем (LNA, low noise amplifier) 937. Понижающий преобразователь 939 уменьшает частоту несущей, в то время как демодулятор 941 удаляет радиочастотную составляющую, в результате чего остается только цифровой битовый поток. Затем сигнал проходит через эквалайзер 925 и обрабатывается процессором DSP 905. Цифроаналоговый преобразователь (DAC, Digital to Analog Converter) 943 преобразует сигнал, и результирующий выходной сигнал передается пользователю через громкоговоритель 945, причем все эти операции выполняются под управлением главного блока 903 управления (MCU, Main Control Unit), который может быть реализован в виде центрального процессора (CPU, Central Processing Unit) (не показан).
[0138] Блок MCU 903 принимает различные сигналы, включая входные сигналы с клавиатуры 947. Блок MCU 903 подает команду отображения и команду переключения дисплею 907 и контроллеру переключения выхода речевого сигнала соответственно. Кроме того, блок MCU 903 обменивается информацией с процессором DSP 905 и может обращаться к опционально встроенной SIM-карте 949 и к памяти 951. Помимо этого, блок MCU 903 выполняет различные функции управления, требуемые для станции. Процессор DSP 905 в зависимости от реализации может выполнять любую из множества стандартных функций цифровой обработки речевых сигналов. Дополнительно, процессор DSP 905 определяет фоновый уровень шумов в локальной среде на основе сигналов, обнаруженных микрофоном, и устанавливает коэффициент усиления микрофона 911 на уровне, выбранном для компенсации шумов, вызванных естественным поведением пользователя мобильной станции 901.
[0139] Кодек 913 содержит преобразователи ADC 923 и DAC 943. В памяти 951 хранятся различные данные, включая данные о тональном сигнале входящего вызова, а также могут храниться другие данные, включая музыкальные файлы, принятые, например, через Интернет. Модуль программного обеспечения может размещаться в памяти RAM, флэш-памяти, регистрах или на любом другом известном записываемом запоминающем устройстве. Память 951 может представлять собой, не ограничиваясь этим, один модуль памяти, CD, DVD, ROM, RAM, EEPROM, оптический накопитель или любое другое энергонезависимое запоминающее устройство, способное сохранять цифровые данные.
[0140] На дополнительно встроенной SIM-карте 949 записана, например, важная информация, такая как номер сотового телефона, информация об услуге, предоставляемой оператором, подробности подписки и информация о безопасности. SIM-карта 949 в первую очередь служит для идентификации мобильной станции 901 в сети радиосвязи. Карта 949 также содержит память для хранения справочника личных телефонных номеров, текстовых сообщений и специфичных для пользователя установок мобильной станции.
[0141] Хотя изобретение было описано на ряде примеров его осуществления и реализации, оно не ограничено этими примерами и допускает различные очевидные модификации и эквивалентные схемы реализации в рамках прилагаемой формулы изобретения. Несмотря на то что в пунктах формулы изобретения признаки изобретения указаны в определенных комбинациях, предполагается, что эти признаки могут быть сгруппированы в любой комбинации и в любом порядке.