Переводческий сервис на базе электронного сообщества



Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества
Переводческий сервис на базе электронного сообщества

 


Владельцы патента RU 2604984:

Общество с ограниченной ответственностью "Аби Девелопмент" (RU)

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

 

ОБЛАСТЬ ТЕХНИКИ

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

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

По мере развития электронных коммуникаций и компьютерных технологий за последние 60 лет появилось множество работающих через сеть Интернет коммуникационных систем и сервисов по распространению информации, способствующих общению и обмену информацией между большим числом географически рассредоточенных пользователей. К данным сервисам относятся многочисленные онлайн-ресурсы, такие как Wikipedia и YouTube, а также множество различных социальных сетей, в том числе Facebook.

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

РАСКРЫТИЕ ИЗОБРЕТЕНИЯ

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

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

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

На Фиг. 1 представлена общая архитектурная схема различных типов компьютеров.

На Фиг. 2 иллюстрируется подключенная к сети Интернет распределенная компьютерная система.

На Фиг. 3 иллюстрируется облачная вычислительная среда.

На Фиг. 4 иллюстрируется обобщенное аппаратное и программное обеспечение компьютерной системы общего назначения, такой как компьютерная система общего назначения, аналогичная по своей архитектуре системе, показанной на Фиг. 1.

На Фиг. 5А-В иллюстрируются два типа виртуальных машин и сред выполнения виртуальных машин.

На Фиг. 6 иллюстрируются процессы электронной коммуникации между клиентом и серверным компьютером.

На Фиг. 7 иллюстрируется роль ресурсов в RESTful API.

На Фиг. 8A-D иллюстрируются четыре основные команды, или операции, предлагаемые HTTP-протоколом прикладного уровня, который используется в приложениях RESTful.

На Фиг. 9A-G иллюстрируется главная страница согласно одному варианту реализации переводческого сервиса на базе электронного сообщества, отображенная в веб-браузере, работающем на пользовательском устройстве с процессорным управлением, а также многочисленные функции, предоставляемые главной страницей.

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

На Фиг. 11А-С иллюстрируется общий вариант реализации подсистем управления в составе переводческого сервиса на базе электронного сообщества.

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

На Фиг. 13 иллюстрируется компонента данных клиентской и серверной части переводческого сервиса на базе электронного сообщества.

На Фиг. 14A-J с помощью блок-схем иллюстрируется один вариант реализации переводческого сервиса на базе электронного сообщества, к которому относится настоящий документ.

На Фиг. 15А иллюстрируется процесс вычисления начального рейтинга размещенного перевода, осуществляемого путем вызова функции «присвоить начальный рейтинг» на этапе 1488, который показан на Фиг. 14I.

На Фиг. 15В-С иллюстрируются примеры таблиц реляционной базы данных, которые могут использоваться в определенных вариантах реализации для хранения данных в распределенной компьютерной системе, в которую, в том числе, входят веб-серверы, предоставляющие хостинг для вебсайта переводческого сервиса на базе электронного сообщества.

ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ РЕАЛИЗАЦИИ

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

Краткий обзор компьютеров и электронных коммуникаций

На Фиг. 1 представлена общая архитектурная схема различных типов компьютеров. Веб-сервисы и пользовательские компьютеры, которые поддерживают работу приложения браузера, можно описать, например, с помощью общей архитектурной схемы, показанной на Фиг. 1. Компьютерная система содержит один или несколько центральных процессоров (ЦП) 102-105, один или более электронных модулей памяти 108, взаимосвязанных с ЦП через шину подсистемы ЦП/память 110 или несколько шин, первый мост 112, который соединяет шину подсистемы ЦП/память 110 с дополнительными шинами 114 и 116, либо другие виды средств высокоскоростного соединения, в том числе множественные высокоскоростные последовательные линии. Эти шины или последовательные линии, в свою очередь, соединяют ЦП и память со специализированными процессорами, такими как графический процессор 118, а также с одним или более дополнительными мостами 120, взаимосвязанными с высокоскоростными последовательными линиями или несколькими контроллерами 122-127, например с контроллером 127, которые предоставляют доступ к различным типам запоминающих устройств большой емкости 128, электронным дисплеям, устройствам ввода и другим подобным компонентам, подкомпонентам и вычислительным ресурсам. Следует отметить, что к машиночитаемым запоминающим устройствам относятся оптические и электромагнитные диски, модули электронной памяти и прочие физические запоминающие устройства. Те, кто знаком с современной наукой и технологиями, понимают, что электромагнитное излучение и распространяющиеся сигналы не хранят данные для последующего обращения и могут обеспечить лишь кратковременное «хранение» информации размером в байт или менее на милю расстояния, что намного меньше того, что необходимо для шифрования даже самых простых подпрограмм.

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

На Фиг. 2 иллюстрируется подключенная к сети Интернет распределенная компьютерная система. По мере роста производительности и доступности коммуникаций и сетевых технологий, а также стремительного устойчивого увеличения диапазонов вычислительных возможностей, емкости запоминающих устройств и других возможностей и способностей различных видов компьютерных систем, в настоящее время к основным современным направлениям развития вычислительной техники относятся крупные распределенные системы и компьютеры, объединенные локальными сетями, крупномасштабными сетями, беспроводными коммуникациями и Интернетом. На Фиг. 2 показана типичная распределенная система, в которой большое число ПК 202-205, усовершенствованная распределенная система мейнфреймов 210 с большой системой хранения данных 212 и крупный вычислительный центр 214 с большим числом монтируемых на стойке или платных серверов объединены с помощью различных коммуникационных и сетевых систем, которые вместе взятые образуют Интернет 216. Такие распределенные компьютерные системы предоставляют различные наборы функциональных возможностей. Так, пользователь ПК, находящийся в домашнем офисе, может получить доступ к миллионам различных веб-сайтов, находящихся на сотнях тысяч различных веб-серверов по всему миру, а также получать доступ к вычислительным сервисам с большими вычислительными возможностями на базе удаленных вычислительных центров для выполнения сложных вычислительных задач. До настоящего времени вычислительные услуги в основном предоставлялись компьютерными системами и центрами обработки данных, которые приобретались, настраивались, управлялись и обслуживались организациями-поставщиками услуг. Например, предприятия розничной электронной торговли для предоставления веб-страниц для удаленных заказчиков, получения заказов через интерфейс веб-страниц, обработки заказов, отслеживания выполненных заказов и бесчисленного множества других задач, связанных с деятельностью предприятия электронной торговли, обычно приобретали, настраивали, управляли и обслуживали центр обработки данных, включающий многочисленные веб-серверы, компьютерные системы для работы с базами данных и системы хранения данных.

На Фиг. 3 иллюстрируется облачная вычислительная среда. Согласно недавно разработанной парадигме облачной обработки данных теперь вычислительные циклы и средства хранения данных предоставляются организациям и физическим лицам поставщиками облачных вычислительных услуг. Кроме того, помимо подписки на вычислительные услуги, предоставляемые публичными поставщиками облачных вычислительных услуг, или вместо такой подписки крупные организации могут создать частные облачные вычислительные центры. На Фиг. 3 системный администратор организации с помощью ПК 302 осуществляет доступ к частному облаку 304 организации через локальную сеть 306, используя интерфейс 308 частного облака, а также осуществляет доступ через Интернет 310 к публичному облаку 312, используя интерфейс 314 публичного облака. Как с частым облаком 304, так и с публичным облаком 312 администратор может конфигурировать виртуальные компьютерные системы и даже целые виртуальные центры обработки данных и запускать выполнение прикладных программ на виртуальных компьютерных системах и виртуальных центрах обработки данных для выполнения любых из множества различных видов вычислительных задач. Например, небольшая организация может конфигурировать и исполнять находящийся в публичном облаке виртуальный центр обработки данных, который выполняет веб-серверы, предоставляющие через публичное облако доступ к интерфейсу Интернет-магазина удаленным заказчикам данной организации, подобно тому, когда пользователь осуществляет навигацию по Интернет-магазину данной организации через удаленную пользовательскую систему 316.

На Фиг. 4 иллюстрируется обобщенное аппаратное и программное обеспечение компьютерной системы общего назначения, такой как компьютерная система общего назначения, аналогичная по своей архитектуре системе, показанной на Фиг. 1. Обычно считается, что компьютерная система 400 состоит из трех фундаментальных уровней: (1) аппаратный слой или уровень 402; (2) слой или уровень операционной системы 404; и (3) слой или уровень прикладных программ 406. К аппаратному уровню 402 относится один или более процессоров 408, системная память 410, различные виды устройств ввода-вывода 410 и 412, а также запоминающие устройства большой емкости 414. Конечно, уровень аппаратного обеспечения также включает многие другие компоненты, в том числе источники питания, внутренние линии связи и шины, специализированные интегральные схемы, множество различных видов периферийных устройств и контроллеров с процессорным или микропроцессорным управлением и прочие компоненты. Операционная система 404 взаимодействует с уровнем аппаратного обеспечения 402 через низкоуровневый интерфейс 416 операционной системы и аппаратного обеспечения, который, как правило, включает набор непривилегированных машинных команд 418, набор привилегированных машинных команд 420, набор непривилегированных регистров и адресов областей памяти 422 и набор привилегированных регистров и адресов областей памяти 424. В общем, операционная система предоставляет непривилегированные команды, непривилегированные регистры и непривилегированные адреса областей памяти 426, а также интерфейс системных вызовов 428 прикладным программам 432-436, которые выполняются в рамках среды выполнения, предоставленной прикладным программам операционной системой, в качестве интерфейса операционной системы 430. Только операционная система имеет доступ к привилегированным командам, привилегированным регистрам и привилегированным адресам областей памяти. Резервируя за собой доступ к привилегированным командам, привилегированным регистрам и привилегированным адресам областей памяти, операционная система может предотвращать ситуации, когда прикладные программы и прочие высокоуровневые вычислительные сущности препятствуют выполнению друг друга и изменяют общее состояние компьютерной системы таким образом, что это оказывает негативное влияние на работу системы. Операционная система состоит из множества внутренних компонентов и модулей, включая планировщика 442, систему управления памятью 444, файловую систему 446, драйверы устройств 448 и многие другие компоненты и модули. В определенной степени современные операционные системы обеспечивают большое множество уровней абстракции над уровнем аппаратного обеспечения, в том числе виртуальную память, которая предоставляет каждой прикладной программе и другим вычислительным сущностям отдельное большое линейное адресное пространство памяти, привязанное операционной системой к различным видам электронной памяти и запоминающих устройств большой емкости. Планировщик организует попеременное выполнение различных прикладных программ и высокоуровневых вычислительных сущностей, предоставляя каждой прикладной программе виртуальную автономную систему, которая всецело предназначена для обеспечения работы данной прикладной программы. С точки зрения прикладной программы сама прикладная программа выполняется непрерывно, не заботясь о необходимости делить ресурсы процессоров и другие системные ресурсы с другими прикладными программами и высокоуровневыми вычислительными сущностями. Драйверы устройства абстрагируют сведения о работе компонентов аппаратного обеспечения, позволяя прикладным программам использовать интерфейс системных вызовов для передачи и получения данных на и от коммуникационных сетей, запоминающих устройств большой емкости и других устройств и подсистем ввода-вывода. Файловая система 436 способствует абстрагированию ресурсов запоминающего устройства и памяти в качестве высокоуровневого легкодоступного интерфейса файловой системы. Таким образом, разработка и развитие операционной системы привели к созданию некого вида многосторонней виртуальной среды выполнения прикладных программ и прочих высокоуровневых вычислительных сущностей.

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

По всем этим причинам и был разработан более высокий уровень абстракции, именуемый «виртуальной машиной», который постоянно развивается для дальнейшего абстрагирования компьютерного аппаратного обеспечения, что позволит преодолеть множество сложностей и проблем, связанных с традиционными компьютерными системами, в том числе описанные выше проблемы совместимости. На Фиг. 5А-В иллюстрируются два типа виртуальных машин и сред выполнения виртуальных машин. На Фиг. 5А-В использованы те же условные обозначения, что и на Фиг. 4. На Фиг. 5А показан первый тип виртуализации. Аппаратный уровень 502 компьютерной системы 500 на Фиг. 5А аналогичен аппаратному уровню 402, показанному на Фиг. 4. Однако в отличие от Фиг. 4, где операционная система находится непосредственно над аппаратным уровнем, изображенная на Фиг. 5А виртуализированная вычислительная среда имеет слой виртуализации 504, который взаимодействует с аппаратным обеспечением через интерфейс слой виртуализации/слой аппаратного обеспечения 506, эквивалентный интерфейсу 416 на Фиг. 4. Слой виртуализации обеспечивает псевдоаппаратный интерфейс 508 для целого ряда машин, таких как виртуальная машина 510, выполняемых на уровне виртуальной машины 512 над уровнем виртуализации. Каждая виртуальная машина включает одну или более прикладных программ или других высокоуровневых вычислительных сущностей, запакованных вместе с операционной системой, именуемой «гостевой операционной системой», таких как приложение 514 и гостевая операционная система 516, запакованные в виртуальной машине 510. Каждая виртуальная машина, таким образом, эквивалентна слою операционной системы 404 и слою прикладной программы 406 в компьютерной системе общего назначения, показанной на Фиг. 4. Каждая гостевая операционная система в составе виртуальной машины взаимодействует с интерфейсом 508 слоя виртуализации, а не с фактическим аппаратным интерфейсом 506. Слой виртуализации разделяет аппаратные ресурсы на абстрактные слои виртуального аппаратного обеспечения, с которыми взаимодействует каждая гостевая операционная система в составе виртуальной машины. Гостевые операционные системы в составе виртуальных машин не знают о наличии слоя виртуализации и работают, словно они осуществляют доступ к истинному аппаратному интерфейсу напрямую. Благодаря слою виртуализации каждая из виртуальных машин, в данный момент выполняемых в виртуальной среде, получает должную долю аппаратных ресурсов, и все виртуальные машины получают достаточно ресурсов для обеспечения непрерывности их выполнения. Интерфейс 508 слоя виртуализации для разных гостевых операционных систем может быть разным. Так, слой виртуализации, как правило, может предоставлять виртуальные аппаратные интерфейсы для целого ряда различных видов компьютерного аппаратного обеспечения. Это позволяет, например, виртуальной машине, в которую входит гостевая операционная система, предназначенная для определенной компьютерной архитектуры, работать на аппаратном обеспечении с другой архитектурой. Число виртуальных машин не обязательно должно равняться числу физических процессоров или даже быть кратным числу процессоров.

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

На Фиг. 5В иллюстрируется второй тип виртуализации. На Фиг. 5В в компьютерную систему 540 входит тот же аппаратный уровень 542 и программный уровень 544, что и аппаратный уровень 402, показанный на Фиг. 4. Как показано, в предоставленной операционной системой среде выполнения работают прикладные программы 546 и 548. Кроме того, на компьютере 540 также имеется слой виртуализации 550, который, в отличие от слоя виртуализации 504, описанного в контексте Фиг. 5А, расположен выше слоя операционной системы 544, именуемой «гостевой ОС», и использует интерфейс операционной системы для доступа к обеспечиваемым операционной системой функциональным возможностям, а также аппаратному обеспечению. Слой виртуализации 550 содержит в основном МВМ и псевдоаппаратный интерфейс 552, аналогичный псевдоаппаратному интерфейсу 508 на Фиг. 5А. Интерфейс слой виртуализации/аппаратный слой 552, эквивалентный интерфейсу 416 на Фиг. 4, обеспечивает среду выполнения для целого ряда виртуальных машин 556-558, каждая из которых включает одну или более прикладных программ или других высокоуровневых вычислительных сущностей, запакованных вместе с гостевой операционной системой.

На Фиг. 5А-В для ясности иллюстрации уровни представлены в несколько упрощенном виде. Так, части слоя виртуализации 550 могут находиться в ядре гостевой операционной системы, как, например, специализированный драйвер, включенный в гостевую операционную систему для обеспечения доступа к аппаратному обеспечению для слоя виртуализации.

Электронные коммуникации между компьютерными системами обычно включают пакеты информации, именуемые дейтаграммами, которые передаются от клиентских компьютеров на серверные компьютеры и от серверных компьютеров на клиентские компьютеры. В ряде случаев коммуникацию между компьютерными системами обычно рассматривают с относительно высокого уровня прикладной программы, которая для передачи информации использует протокол прикладного уровня. Однако протокол прикладного уровня реализуется поверх дополнительных уровней, в том числе транспортного уровня, сетевого уровня и канального уровня. Данные уровни часто реализуются на различных уровнях в составе компьютерных систем. Каждый уровень соотнесен с протоколом для передачи данных между соответствующими слоями компьютерных систем. Данные уровни протоколов часто называются «пакетом протоколов». На Фиг. 6 под взаимосвязанными серверным и клиентским компьютерами (604 и 602) приведено представление общего пакета протоколов 630. Уровни соотнесены с номерами уровней, как, например, уровень номер «1» 632, соотнесенный с прикладным уровнем 634. Те же номера уровней используются при изображении взаимосвязанности между клиентским компьютером 602 и серверным компьютером 604, как, например, номер уровня «1» 632, соотнесенный с горизонтальной пунктирной линией 636, которая представляет взаимосвязанность между слоем прикладных программ 612 клиентского компьютера и слоем прикладных программ/служб 614 серверного компьютера через протокол прикладного уровня. Пунктирная линия 636 представляет собой взаимосвязанность через протокол прикладного слоя на Фиг. 6, так как данная взаимосвязанность является, скорее, логической, чем физической. Пунктирная линия 638 представляет собой логическую взаимосвязанность между слоями операционной системы клиентских и серверных компьютеров через транспортный уровень. Пунктирная линия 640 представляет собой логическую взаимосвязанность между операционными системами двух компьютерных систем через протокол сетевого уровня. Наконец, линии 606 и 608 и облако 610 вместе представляют собой физические средства коммуникации и компоненты, которые физически передают данные от клиентского компьютера на серверный компьютер и с серверного компьютера на клиентский компьютер. Данные физические коммуникационные компоненты и средства передают данные по протоколу канального уровня. На Фиг. 6 вторая таблица 642, приведенная в соответствие с таблицей 630, иллюстрирующей пакет протоколов, содержит типовые протоколы, которые могут использоваться для каждого из различных протокольных уровней. Протокол передачи гипертекста (HTTP) 644 может использоваться в качестве протокола прикладного уровня, протокол управления передачей (TCP) 646 может использоваться в качестве протокола транспортного уровня, Интернет-протокол 648 (IP) может использоваться в качестве протокола сетевого уровня, а в случае компьютерной системы, подключенной к Интернету через локальную сеть Ethernet, протокол Ethernet/IEEE 802.3u 650 может использоваться для передачи и получения информации от компьютерной системы на комплексные коммуникационные компоненты Интернета. В рамках облака 610, которое представляет Интернет, для обмена данными между клиентским компьютером и серверным компьютером могут использоваться многие дополнительные виды протоколов.

Рассмотрим отправку сообщения от клиентского компьютера на серверный через протокол HTTP. Прикладная программа обычно осуществляет системный вызов операционной системе и включает в системный вызов указание на получателя, которому должны быть отправлены данные, а также ссылку на буфер, содержащий эти данные. Данные и прочая информация вместе запаковываются в одну или более HTTP-дейтаграмм, таких как дейтаграмма 652. Дейтаграмма обычно включает заголовок 654, а также данные 656, закодированные в виде последовательности байтов в рамках блока памяти. Заголовок 654 обычно является записью, состоящей из нескольких закодированных в виде байтов полей. Вызов от прикладной программы к системе прикладного слоя представлен на Фиг. 6 сплошной вертикальной стрелкой 658. Операционная система для передачи одной или более дейтаграмм прикладного уровня, которые вместе представляют сообщение прикладного уровня, применяет протокол транспортного уровня, такой как TCP. В общем, если сообщение прикладного уровня превышает некоторое пороговое число байтов, данное сообщение отправляется в виде двух или более сообщений транспортного уровня. Каждое из сообщений транспортного уровня 660 включает заголовок сообщения транспортного уровня 662 и дейтаграмму прикладного уровня 652. Заголовок транспортного уровня включает, среди прочего, порядковые номера, которые обеспечивают повторную компоновку последовательности дейтаграмм прикладного уровня в одиночное сообщение прикладного уровня. Протокол транспортного уровня отвечает за сквозную передачу сообщений независимо от базовой сети и других коммуникационных подсистем, а также контроль ошибок, сегментацию, как описано выше, управление потоками данных, контроль перегрузок, адресацию приложений и другие аспекты обеспечения надежной сквозной передачи сообщений. Дейтаграммы транспортного уровня затем через системные вызовы в рамках операционной системы направляются в сетевой уровень и встраиваются в дейтаграммы сетевого уровня, каждая из которых содержит заголовок сетевого уровня 666 и дейтаграмму транспортного уровня, сетевой уровень пакета протоколов отвечает за отправку дейтаграмм по различным потенциально многочисленным средствам коммуникации и коммуникационным подсистемам, которые вместе взятые образуют Интернет. Это предполагает маршрутизацию сообщений к нужной точке назначения через сложные коммуникационные системы. Сетевой слой отвечает за присвоение уникальных адресов, известных как IP-адреса, как компьютеру-отправителю, так и конечному компьютеру для сообщения и маршрутизации сообщения через Интернет к конечному компьютеру. Дейтаграммы сетевого уровня, в конце концов, передаются операционной системой на коммуникационное аппаратное обеспечение, такое как контроллер сетевого интерфейса, которое встраивает дейтаграмму 664 сетевого уровня в дейтаграмму 670 канального уровня, включающую заголовок 672 канального уровня, и обычно включает число дополнительных байтов 674, прилагаемое в конце дейтаграммы сетевого уровня. Заголовок канального уровня включает сведения о контроле коллизий и контроле ошибок, а также адреса локальных сетей. Пакет или дейтаграмма 670 канального уровня - это последовательность байтов, включающая информацию, внесенную каждым из уровней пакета протоколов, а также фактические данные, которые передаются от исходного компьютера на конечный компьютер по протоколу прикладного уровня.

Далее, начиная с Фиг. 7, приводится описание подхода RESTful к API веб-сервисов. На Фиг. 7 иллюстрируется роль ресурсов в RESTful API. На Фиг. 7 и на последующих фигурах иллюстрируется удаленный клиент 702, который должен быть взаимосвязан и обмениваться данными с сервисом, предоставляемым одним или более серверными компьютерами 704 через HTTP-протокол 706. Многие интерфейсы RESTful API основаны на HTTP-протоколе. В этой связи основное внимание в рамках нижеследующего описания уделяется прикладному уровню. Однако, как было описано выше в контексте Фиг. 7, удаленный клиент 702 и сервис, предоставляемый одним или более серверными компьютерами 704, фактически являются физическими системами со слоем прикладных программ, слоем операционной системы и аппаратным слоем, которые взаимосвязаны с различными видами средств коммуникации и коммуникационными подсистемами, с HTTP-протоколом, самым высоким уровнем в пакете протоколов, встраиваемым в слой прикладных приложений, слой операционной системы и аппаратный слой клиентских компьютеров и серверных компьютеров. Как было описано выше в предыдущем разделе, данный сервис может предоставляться одним или более серверными компьютерами. Например, число серверов может быть организовано иерархически в виде различных уровней промежуточных и конечных серверов. Однако весь набор серверов, которые вместе взятые обеспечивают сервис, адресуется по доменному имени, включенному в универсальный идентификатор ресурса (URI), как более подробно описывается ниже. RESTful API основан на небольшом наборе предоставляемых HTTP-протоколом команд или операций, а также на ресурсах, каждому из которых присваивается соответствующий уникальный идентификатор URI. Ресурсы являются логическими сущностями, информация о которых хранится на одном или более серверах, которые вместе взятые образуют домен. URI - это присваиваемые ресурсам уникальные имена. Ресурс, информация о котором хранится на подключенном к сети Интернет сервере, имеет уникальный URI, который позволяет любому клиентскому компьютеру, также подключенному к сети Интернет и обладающему надлежащими правами, получать доступ к этой информации при условии успешной авторизации. Таким образом, URI являются глобальными уникальными идентификаторами и могут использоваться для обозначения ресурсов на серверных компьютерах по всему миру. Ресурсом может являться любая логическая сущность, в том числе персоны, закодированные в цифровой форме документы, организации и прочие подобные сущности, поддающиеся описанию и характеризации через закодированную в цифровой форме информацию. Таким образом, ресурс - это логическая сущность. Закодированная в цифровом виде информация, которая описывает ресурс и доступ к которой может получить клиентский компьютер с серверного компьютера, называется «представлением» соответствующего ресурса. Например, если ресурсом является веб-страница, то представлением данного ресурса может быть кодировка ресурса на языке гипертекстовой разметки (HTML). Или когда ресурсом является сотрудник компании, то представлением ресурса может быть одна или более записей, каждая из которых содержит одно или более полей, в которых хранится информация, характеризующая данного сотрудника, как, например, имя, адрес, номер телефона, должность, информация о предшествующей трудовой деятельности и прочие сведения.

В примере, показанном на Фиг. 7, веб-сервер 704 предоставляет RESTful API на базе протокола HTTP 706 и иерархически организованного набора ресурсов 708, которые позволяют клиентам сервиса получать доступ к информации о заказчиках и заказах, размещенных заказчиками компании Acme Company. Данный сервис может предоставляться самой компанией Acme Company либо сторонним поставщиком информации. Вся информация о заказчиках и заказах совместно представлена ресурсом информации о заказчиках 710, которому присвоен URI http://www.acme.com/customerInfo 712. Как более подробно описано ниже, данный одиночный URI и HTTP-протокол вместе предоставляют достаточно информации для удаленного клиентского компьютера, чтобы осуществить доступ к любому из конкретных видов хранящейся в сервисе 704 и распространяемой им информации о заказчиках и заказах. Ресурс информации о заказчиках 710 представляет огромное число подчиненных ресурсов. В число данных подчиненных ресурсов входит (для каждого из заказчиков компании Acme Company) ресурс заказчика, такой как ресурс заказчика 714. Все вместе взятые ресурсы заказчика 714-718 именуются или обозначаются единым URI http://www.acme.com/customerInfo/customers 720. Отдельным ресурсам заказчика, таким как ресурс заказчика 714, присваивается номер идентификатора заказчика, и каждый из них в отдельности адресуется по своим уникальным URI, таким как URI http://www.acme.com/customerInfo/customers/361 722, который включает идентификатор заказчика «361» для заказчика, представленного ресурсом заказчика 714. Каждый заказчик может быть логически соотнесен с одним или более заказами. Так, каждый заказчик, представленный ресурсом заказчика 714, соотнесен с тремя различными заказами 724-726, каждый из которых представлен ресурсом заказа. Все заказы вместе взятые обозначаются или именуются единым URI http://www.acme.com/customerInfo/orders 736. Все заказы, соотнесенные с заказчиком, представленным ресурсом 714, а также заказы, представленные ресурсами заказа 724-726, в совокупности можно обозначить URI http://www.acme.com/customerInfo/customers/361/orders 738. Конкретный заказ, такой как заказ, представленный ресурсом заказ 724, можно обозначить уникальным URI, присвоенным данному заказу, таким как URI http://www.acme.com/customerInfo/customers/361/orders/1 740, где конечная «1» - это номер заказа, обозначающий конкретный заказ в составе совокупности заказов, соответствующих конкретному заказчику с идентификатором «361». В некотором смысле идентификаторы URI сродни именам пути доступа к файлам и каталогам файлов в компьютерных операционных системах. Однако следует понимать, что ресурсы, в отличие от файлов, - это логические, а не физические сущности, как, например, набор сохраненных байтов, которые вместе образуют файл в составе компьютерной системы. При осуществлении доступа к файлу через имя пути файла осуществляющей доступ сущности передается копия последовательности байтов, хранящихся в памяти или на запоминающем устройстве в качестве части данного файла. Напротив, при осуществлении доступа к ресурсу через URI серверный компьютер возвращает не копию данного ресурса, а его закодированное в цифровом виде представление. Так, если ресурсом является человек, то сервис, к которому осуществляется доступ через обозначающий данного человека URI, может вернуть буквенно-цифровые кодировки различных характеристик данного человека, закодированную в цифровом виде фотографию или фотографии и прочую подобную информацию. В отличие от процесса осуществления доступа к файлу через имя пути, представление ресурса является не его копией, а, напротив, своего рода закодированной в цифровом виде информацией в отношении данного ресурса.

В примере RESTful API, приведенном на Фиг. 7, клиентский компьютер, используя команды или операции HTTP-протокола и URI верхнего уровня 712, может осуществлять поиск по всей иерархии ресурсов 708 с целью получения информации о конкретных заказчиках и заказах, размещенных конкретными заказчиками.

На Фиг. 8A-D иллюстрируются четыре основных команды или операции, предлагаемых HTTP-протоколом прикладного уровня, который используется в приложениях RESTful. Приложения RESTful - это клиентские/серверные протоколы, в которых клиент направляет сервису или серверу HTTP-запрос, а сервис или сервер отвечает обратным HTTP-ответом.

На Фиг. 8A-D используются те же условные обозначения в отношении клиента, сервиса и HTTP-протокола, что и в контексте Фиг. 7. Для простоты и ясности иллюстрации на каждой из данных фигур верхняя часть обозначает запрос, а нижняя - ответ. Удаленный клиент 802 и сервис 804 показаны в виде промаркированных прямоугольников, как и на Фиг. 7. Указывающая направо сплошная стрелка 806 представляет отправку HTTP-запроса от удаленного клиента сервису, а указывающая налево сплошная стрелка 808 представляет отправку сервисом сообщения-ответа удаленному клиенту, что соответствует сообщению-запросу. Для ясности и простоты иллюстрации сервис 804 показан соотнесенным лишь с несколькими ресурсами 810-812.

На Фиг. 8А иллюстрируется запрос GET и типичный ответ. Запрос GET запрашивает представление ресурса, которому сервисом присвоен URI. В примере, приведенном на Фиг. 8А, ресурсу 810 присвоен уникальный URI http://www.acme.com/item 1 816. Начальная подстрока http://www.acme.com - это доменное имя, идентифицирующее сервис. Таким образом, URI 816 может рассматриваться как обозначающий ресурс item1, который расположен в домене www.acme.com и управляется им. В запрос GET 820 входят команда GET 822, относительный идентификатор ресурса 824, который при включении в доменное имя создает уникальный URI, идентифицирующий данный ресурс, и указание на конкретный базовый протокол 826 прикладного уровня. Сообщение-запрос может содержать один или более заголовков либо пар ключ/значение, таких как заголовок хоста 828 Host:www.acme.com, который указывает на домен, на который направляется запрос. Запрос может содержать множество других заголовков. Кроме того, сообщение-запрос может также содержать тело сообщения-запроса. Тело может быть закодировано любым из различных самоописываемых кодирующих языков: как правило, JSON, XML или HTML. В текущем примере тело запроса отсутствует. Сервис получает сообщение-запрос, содержащий команду GET, обрабатывает сообщение и возвращает сообщение-ответ 830. Сообщение-ответ содержит указание на протокол 832 прикладного уровня, числовой статус 834, текстовый статус 836, несколько заголовков 838 и 840, а в данном примере и тело 842, содержащее HTML-кодировку веб-страницы. Следует, однако, еще раз отметить, что тело может содержать любой из различных видов информации, как, например, объект JSON, кодирующий файл данных о персонале, описание заказчика и описание заказа. GET является наиболее фундаментальной и в целом наиболее часто используемой операцией или функцией HTTP-протокола.

На Фиг. 8В иллюстрируется операция POST HTTP. На Фиг. 8В клиент отправляет запрос POST 846 на сервис, которому присвоен URI http://www.acme.com/item 1. Во многих RESTful API сообщение-запрос POST запрашивает у сервиса создание нового ресурса, подчиненного URI, соотнесенного с запросом POST, и присваивает вновь созданному ресурсу имя и соответствующий URI. Таким образом, на Фиг. 8В сервис создает новый ресурс 848, подчиненный ресурсу 810 с URI http://www.acme.com/item1, и присваивает новому ресурсу идентификатор «36», в результате чего для нового ресурса создается уникальный URI http://www.acme.com/item1/36 850. Затем сервис передает назад удаленному клиенту сообщение-ответ 852, соответствующее запросу POST. Помимо протокола прикладного уровня, статуса и заголовков 854, сообщение-ответ содержит заголовок местоположения 856 с URI вновь созданного ресурса. Согласно HTTP-протоколу операция POST также может использоваться для обновления существующих ресурсов путем включения тела с обновленной информацией. Однако, как правило, если имена новым ресурсам присваиваются сервисом, то для создания новых ресурсов в RESTful API используется операция POST. В запрос POST 846 может входить тело, содержащее представление или частичное представление ресурса, которое может быть включено сервисом в хранящуюся в памяти информацию о ресурсе.

На Фиг. 8С иллюстрируется операция PUT HTTP. В RESTful API, если имя новым ресурсам присваивается клиентом, а не сервисом, то как правило, для обновления существующих или создания новых ресурсов используется операция PUT HTTP. В примере, приведенном на Фиг. 8С, удаленный клиент формирует запрос PUT HTTP 860 в отношении URI http://www.acme.com/item1/36, обозначающего вновь созданный ресурс 848. Сообщение-запрос PUT содержит тело с кодировкой JSON представления или частичного представления ресурса 862. Получив данный запрос, сервис обновляет ресурс 848 с учетом переданной в запросе PUT информации 862 и затем возвращает удаленному клиенту ответ, соответствующий запросу PUT 864.

На Фиг.8D иллюстрируется операция DELETE HTTP. В примере, приведенном на Фиг. 8D, удаленный клиент передает сервису запрос DELETE HTTP 870 в отношении URI http://www.acme.com/item1/36, который является уникальным идентификатором вновь созданного ресурса 848. В ответ сервис удаляет ресурс, соотнесенный с данным URI и возвращает сообщение-ответ 872.

Как более подробно описывается ниже и как было упомянуто выше, сервис в сообщениях-ответах может вернуть, помимо представления ресурса, различные ссылки или URI. Данные ссылки могут указывать клиенту на дополнительные ресурсы, связанные различными способами с ресурсом, обозначенным соотнесенным с соответствующим сообщением-запросом URI. Например, когда информация, возвращаемая клиенту в ответ на запрос, имеет слишком большой размер для одного НТТР-сообщения-ответа, она может быть разделена на несколько страниц. При этом первая страница возвращается вместе с дополнительными ссылками или URI, которые позволяют клиенту получить остальные страницы с помощью дополнительных запросов GET. Или в ответ на первоначальный запрос GET на ресурс информации о заказчиках (710 на Фиг. 7) сервис, помимо запрошенного представления, может предоставить клиенту URI 720 и 736, с помощью которых клиент может в последующих запросах GET начать обход иерархической организации ресурса.

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

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

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

На Фиг. 9A-G иллюстрируется главная страница согласно одному варианту реализации переводческого сервиса на базе электронного сообщества, отображенная в веб-браузере, работающем на пользовательском устройстве с процессорным управлением, а также многочисленные функции, предоставляемые данной главной страницей. Данная главная страница - это, как правило, начальная страница, запрашиваемая и преобразуемая для просмотра веб-браузером пользователя, когда пользователь дает веб-браузеру команду доступа к переводческому сервису на базе электронного сообщества. Обычно чтобы направить веб-браузер на переводческий сервис на базе электронного сообщества, пользователь осуществляет щелчок мышью по отображаемой гиперссылке или выбирает ссылку из помещенных в закладку ссылок.

Главная страница 900 содержит ряд интерактивных функций: (1) функция «запрос на перевод» 901; (2) функция «мои посты» 902; (3) функция «посты сообщества» 903; (4) функция «запросить перевод» 904; (5) функция «добавить перевод» 905; (6) функция «добавить примечание» 906; (7) функция «добавить/изменить профиль» 907; (8) функция «посмотреть профили» 908; и 9) функция «изменить регистрационные данные» 909. Конечно, возможно множество различных пользовательских интерфейсов, в том числе пользовательских интерфейсов с целевыми страницами, включающими большее или меньшее количество функций и (или) какие-либо другие функции. Главная страница 900, показанная на Фиг. 9А, - это один из множества различных примеров возможных главных страниц и пользовательских интерфейсов, которые могут быть реализованы в качестве пользовательского интерфейса переводческого сервиса на базе электронного сообщества.

В описанном варианте реализации пользователь может быть как незарегистрированным посетителем веб-сайта, так и зарегистрированным членом сообщества переводческого сервиса. Каждый зарегистрированный пользователь в рамках переводческого сервиса на базе электронного сообщества представлен пользовательским профилем, содержащим различные виды описывающих пользователя данных, в том числе имя, статус в отношении одного или более языков, уровень владения одним или более языками, фотография (например, фотография пользователя или аватар), история добавления переводов и множество других видов информации, в некоторых случаях включающей фотографию. Когда пользователь осуществляет щелчок мышью по функции «добавить/изменить профиль» 907, пользователю предоставляется профиль пользователя в редактируемом формате, так чтобы пользователь мог обновить или изменить определенные поля профиля пользователя. Аналогичным образом при щелчке мышью по функции «изменить регистрационные данные» 909 пользователь получает возможность обновить и отредактировать информацию, предоставленную им при регистрации в переводческом сервисе на базе электронного сообщества. При щелчке мышью по функции «посмотреть профили» 908, пользователь может посмотреть общедоступные сегменты профилей других пользователей. Во многих вариантах реализации на главной странице 900 также реализована функция «вход в систему», которая позволяет пользователю войти в систему переводческого сервиса на базе электронного сообщества в качестве члена. Обычно при использовании функции «вход в систему» пользователь вводит свой пароль и (или) другие параметры доступа. В описываемом варианте реализации переводческий сервис на базе электронного сообщества автоматически распознает и вводит пользователя в систему в ходе первоначального обмена данными между веб-браузером пользователя и удаленными серверами в составе распределенной компьютерной системы, которая частично реализует переводческий сервис на базе электронного сообщества.

При нажатии на функцию «мои посты» 902 появляется логическое окно, через которое пользователь может просматривать любые посты или сообщения, которые он размещал в переводческом сервисе на базе электронного сообщества. Данные посты, как более подробно описывается ниже, включают запросы на перевод слова или фразы, ответы на запросы на перевод, добавление перевода без запроса, а также примечания или общие наблюдения, размещенные в переводческом сервисе на базе электронного сообщества для просмотра сообществом пользователей. При нажатии на функцию «посты сообщества» 903 появляется логическое окно, позволяющее просмотреть все или часть постов, размещенных пользователями переводческого сервиса на базе электронного сообщества в адрес других членов сообщества. Функции «мои посты» 902 и «посты сообщества» 903 функционируют подобным образом и далее описываются вместе в рамках описания функции «посты сообщества» 903. Следует отметить, что незарегистрированным пользователям на целевой странице доступна только функция «посты сообщества».

Функция «посты сообщества» 903 содержит большое экранное окно 911, в котором отображаются посты. На Фиг. 9A-G посты представлены в виде прямоугольных ячеек, таких как прямоугольная ячейка 912. Ниже приводится более подробное описание отображаемого в данных ячейках содержимого. Обычно в логическом окне 911 можно одновременно просматривать лишь ограниченное количество постов. Поэтому в данном окне реализована функция пролистывания 913, которая позволяет пользователю пролистывать в рамках логического окна намного больше постов, чем одновременно отображается в окне. Когда при использовании пользователем функции пролистывания 913 достигаются крайние точки 914 и 915 диапазона пролистывания, исполняемая программа, работающая в контексте приложения браузера, может автоматически извлекать дополнительные посты, сохраняемые в локальном буфере или кэш-памяти, в случае чего функция пролистывания перенастраивается для пролистывания появившихся постов. Кроме того, функция «посты сообщества» 903 содержит функцию фильтрации 916 с кнопкой-переключателем 917, которая позволяет пользователю выбрать все или только некоторое количество доступных постов. Так, пользователь может выполнить щелчок мышью по переключателю запросов 918, чтобы отобразить только посты-запросы на перевод. Функция «посты сообщества» 903 также содержит функцию «языки» 920, которая отображает языки постов в любом из направлений перевода, которые пользователь желает просмотреть. Другими словами, выбор языков с помощью функции «выбрать» 921 представляет собой дополнительный вид фильтра, применяемого к постам, имеющимся в переводческом сервисе на базе электронного сообщества, с целью формирования подмножества постов, которые пользователь хочет просмотреть в логическом окне 911.

Как более подробно описывается ниже, когда пользователь щелкает мышью по функции «запросить перевод» 904, на экране появляется интерактивная форма, позволяющая пользователю составить и разместить запрос на перевод. Когда пользователь щелкает мышью по функции «добавить перевод» 905, на экране появляется окно, позволяющее пользователю разместить перевод для просмотра всеми пользователями сообщества. Аналогичным образом, когда пользователь щелкает мышью по функции «добавить примечание» 906, на экране появляется окно, позволяющее пользователю создать наблюдение или примечание на общую тему для просмотра членами переводческого сервиса на базе электронного сообщества. Функция «запрос на перевод» 901 содержит поле «ввод текста» 922, в котором пользователь, используя клавиатуру или экранную кнопочную панель, может ввести слово или фразу, перевод которой хочет получить. Две функции указания языков 923 и 924 позволяют пользователю выбрать из выпадающего меню язык, с которого необходимо перевести слово или фразу, и язык, на который переводится данное слово или фраза. Когда пользователь щелкает мышью по функции «поиск перевода» 925, веб-браузер отправляет на веб-сервер в составе распределенной компьютерной системы запрос на переводы, имеющиеся на переводческом сервисе на базе электронного сообщества.

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

На Фиг. 9В показан пост-запрос на перевод, который отображается либо в функции «мои посты» (902 на Фиг. 9А), либо в функции «посты сообщества» (903 на Фиг. 9А). Пост-запрос на перевод 926 содержит указание 927 на личность пользователя, делающего запрос, указание времени создания запроса 928, языки и направление перевода запроса 929 (в данном случае с английского на русский), маленькую фотографию или аватара делающего запрос пользователя 930, слово или фразу, перевод которой запрашивается 931, тематический контекст использования фразы 932 и функцию «посмотреть ответы» 933, которая позволяет пользователю посмотреть ответы, размещенные на пост-запрос на перевод, и указание общего числа ответов. Кроме того, реализована функция 934, с помощью которой запрашивающий пользователь, отвечающий на запрос пользователь или любой другой член сообщества может добавить комментарий к запросу, а также функция «оценка» 935, с помощью которой любой (кроме автора запроса) просматривающий запрос пользователь может поставить положительную или отрицательную оценку посту и посмотреть совокупный рейтинг поста. В определенных вариантах реализации оценка может быть реализована как текстурная оценка, в других вариантах реализации - как числовая оценка, в остальных - как-либо текстовая, либо числовая оценка. В раскрываемом варианте реализации оценка - это либо закодированное указание «like» (нравится), либо закодированное указание «dislike» (не нравится). Совокупный рейтинг может отображаться как число оценок «like» и «dislike», числовое соотношение оценок «like» и «dislike», числовой рейтинг, число звездочек и другие виды оценок-указаний. Наконец, функция «перевести» 936 позволяет другому просматривающему пост пользователю добавить перевод слова или фразы 931.

На Фиг. 9С представлен ответ на пост-запрос на перевод. Ответ на пост-запрос на перевод 937 содержит указание имени отвечающего (переводчика) 938, маленькую фотографию или аватара отвечающего пользователя, указание времени ответа 939, имя начального запрашивающего пользователя 940, слово или фразу, перевод которой был запрошен 941, перевод данного слова или фразы 942, указание контекста использования данного слова или фразы 943, перевод контекста или примера 944, указание тематики использования данного слова или фразы 945, функцию «оценка» 946 и функцию «комментировать» 947. В случае размещения перевода без запроса отображается аналогичный пост, но без информации о запрашивающем пользователе.

На Фиг. 9D иллюстрируется ввод по функции «выбор языка» (923 на Фиг. 9А), что ведет к появлению выпадающего списка языков 948, из которого пользователь может выбрать язык слова или фразы, перевод которой он хочет получить. На Фиг. 9Е представлен инициированный пользователем процесс поиска перевода слова. Как показано на Фиг. 9Е, пользователь в качестве языка оригинала выбрал русский язык 949, а в качестве языка перевода - английский 950. Пользователь ввел в поле ввода текста (922 на Фиг. 9А) функции «запрос на перевод» (901 на Фиг. 9А) русское слово «толкать» 951. Наконец, пользователь щелкнул мышью (что отображается в виде курсора 952) по функции «добавить запрос на перевод» 925. В результате перед пользователем на экране появилось прокручиваемое окно 953. Прокручиваемое окно содержит подлежащее переводу слово или фразу 954, обобщенный список пользовательских переводов (саммари) 955 и ряд пользовательских постов-переводов слова или фразы 954, таких как пост 956, которые были ранее добавлены пользователями переводческого сервиса на базе электронного сообщества. В число постов-переводов входят переводы, добавленные по постам-запросам на перевод, а также переводы, добавленные в переводческий сервис на базе электронного сообщества без запроса. Посты сортируются и упорядочиваются по рейтингу, при этом посты с самым высоким рейтингом располагаются в начале списка отображаемых постов. В текущем примере отображается только шесть постов, однако обычно может отображаться намного больше постов, доступных для просмотра пользователями через функцию пролистывания 957. Саммари 955 содержит краткий список альтернативных переводов по каждой части речи, в качестве которой может использоваться данное слово. В текущем примере русское слово «толкать» является либо переходным глаголом, который означает (на английском) «push», «shove», «роке» или «prod», как показано в первой строке 958 раздела саммари, либо переходным глаголом, используемым с предлогом «на» со значением (на английском) «incite» или «put up» 959, как показано во второй строке 959 раздела саммари 955.

На Фиг. 9F иллюстрируется использование функции «запросить перевод» (904 на Фиг. 9А), расположенной на главной странице. В ответ на щелчок мышью по функции «запросить перевод» 904, представленный в виде курсора 960 на Фиг. 9F, на экране пользователя появляется интерактивная форма 961. Данная форма содержит функции ввода текста для указания языков и направления перевода 962, подлежащее переводу слово и фразу 963, часть речи запрашиваемого слова или фразы 964, общую тематику, в контексте которой запрашивается перевод данного слова или фразы 965, пример использования данного слова или фразы 966 и комментарии 967. Обычно для составления запроса на перевод пользователю нужно заполнить лишь часть данных полей ввода данных. Так, в определенных вариантах реализации достаточно, чтобы пользователь указал языки и направление перевода и слово или фразу, для которых запрашивается перевод. Когда пользователь выполняет щелчок мышью по функции «добавить» 968, исполняемая программа, работающая в контексте браузера, запаковывает введенную в интерактивную форму информацию в сообщение-запрос на перевод, размещаемое на веб-сервере в той части переводческого сервиса на базе электронного сообщества, которая размещается на распределенной компьютерной системе. Как более подробно описывается ниже, если запрос на перевод отвечает нескольким пороговым требованиям, то он включается в список постов-запросов на перевод, как показано на Фиг. 9В, доступных через функцию «посты сообщества» (903 на Фиг. 9А) для всех находящихся в этот момент времени в системе членов переводческого сервиса на базе электронного сообщества.

На Фиг. 9G иллюстрируется (с использованием тех же условных обозначений, что использованы на Фиг. 9F) интерактивная форма, отображаемая на экране пользователя при щелчке мышью по функции «добавить перевод» (905 на Фиг. 9А) главной страницы. Данная функция, как описано выше, позволяет пользователю добавлять на переводческий сервис на базе электронного сообщества переводы без запроса. Интерактивная форма 970 содержит множество тех же полей, которые содержатся в интерактивной форме (961 на Фиг. 9F), которая вызывается для создания поста-запроса на перевод. В число дополнительных полей входят поле для добавляемого перевода 971 и поле для перевода примера или контекста 972.

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

Вариант реализации переводческого сервиса на базе электронного сообщества

На Фиг. 10 иллюстрируется общая архитектура на аппаратном уровне и на уровне коммуникационной инфраструктуры согласно одному варианту реализации переводческого сервиса на базе электронного сообщества. Переводческий сервис на базе электронного сообщества включает распределенную компьютерную систему 1002, в которую входит ряд веб-серверов, обслуживающих веб-страницы веб-сайта переводческого сервиса на базе электронного сообщества, в том числе главную страницу, описанную выше в контексте Фиг. 9A-G, а также ряд серверов приложений, которые выполняют запрошенные услуги от лица пользователей или членов переводческого сервиса на базе электронного сообщества. Кроме того, в распределенную компьютерную систему 1002 обычно входят различные запоминающие устройства и внешние приборы хранения данных. Во многих вариантах реализации распределенная компьютерная система 1002 может быть не только распределена по нескольким отдельным компьютерам, но и распределена географически по нескольким географически рассредоточенным облачным вычислительным центрам. Обычно распределенная компьютерная система называется «центром обработки данных». В некоторых вариантах реализации в центр обработки данных может входить лишь один серверный компьютер. Распределенная компьютерная система 1002 взаимосвязана через Интернет 1004 с множеством различных пользовательских устройств с процессорным управлением 1006-1010. В число таких устройств могут входить настольные компьютеры, рабочие станции, компактные портативные компьютеры, ноутбуки, смартфоны и прочие пользовательские устройства с процессорным управлением. В описываемом варианте реализации на каждом пользовательском устройстве с процессорным управлением поддерживается работа веб-браузера, который позволяет пользователю просматривать и взаимодействовать с веб-сайтом переводческого сервиса на базе электронного сообщества. Многие варианты реализации могут предполагать параллельный и одновременный доступ тысяч, десятков тысяч и более пользователей к переводческому сервису на базе электронного сообщества.

На Фиг. 11А-С иллюстрируется общий вариант реализации подсистем управления в составе переводческого сервиса на базе электронного сообщества. На Фиг. 11А представлена блок-схема приложения браузера, работающего на пользовательском устройстве с процессорным управлением и с его помощью реализующего интерактивный пользовательский интерфейс, через который пользователь может запрашивать и получать переводы, а также добавлять переводы и примечания в сообществе пользователей переводческого сервиса на базе электронного сообщества. Приложение браузера работает в непрерывном цикле, в котором на этапе 1102 браузер ожидает наступления очередного события и затем реагирует на данное событие. Логической схемой управления браузера обрабатывается множество различных событий, в том числе события ввода данных пользователем, предоставляемые приложению браузера операционной системой, исполняемой на пользовательском устройстве с процессорным управлением, срабатывание таймера, поступление ответных сообщений от распределенной компьютерной системы, в которую входят веб-серверы, обслуживающие веб-страницы веб-сайта переводческого сервиса на базе электронного сообщества, который также предоставляется приложением браузера через операционную систему, а также множество других видов событий. При наступлении события логическая схема управления приложения браузера идентифицирует данное событие и затем обрабатывает его, как правило, через вызов обработчика событий. Например, на этапе 1104, если событие представляет собой щелчок мышью по функции «запросить перевод», как определено на этапе 1104, приложение браузера вызывает исполняемую программу отображения формы запроса на перевод 1105, в результате чего на экран выводится форма запроса на перевод, в которую пользователь вводит соответствующую информацию, как описано выше в контексте Фиг. 9F. Аналогичным образом, если событием является щелчок мышью по функции «добавить перевод», как определено на этапе 1106, логическая схема управления браузера запускает подпрограмму отображения формы добавления перевода (этап 1107), в результате чего на экран выводится форма добавления перевода, как описано выше в контексте Фиг. 9G. Если событием является щелчок мышью по кнопке-переключателю фильтрации, как определено на этапе 1108, браузер (на этапе 1109) запускает подпрограмму изменения фильтра, которая изменяет отображаемый выбранный тип фильтра и в определенных случаях осуществляет отображение постов и извлекает новые посты, которые отвечают новым параметрам фильтрации. Если событием является щелчок мышью по функции выбора языка, как определено на этапе 1110, браузер (на этапе 1111) запускает подпрограмму, которая вызывает выпадающее окно вариантов выбора языка, как описано выше в контексте Фиг. 9D. Если событием является щелчок мышью по отображенным вариантам выбора языка, как определено на этапе 1112, вызывается подпрограмма выбора нового языка (на этапе 1113), которая добавляет выбранный язык в списки выбранных языков и в определенных случаях осуществляет отображение постов и извлекает новые посты, которые отвечают новым параметрам фильтрации. Как указано многоточием 1114 на Фиг. 11А, приложение браузера также обрабатывает множество других событий. Например, в определенных вариантах реализации браузер может запустить выполняемую программу, которая непрерывно устанавливает таймеры, по истечении которых у веб-браузера запрашивается отображение новых постов через функции «мои посты» и «посты сообщества», после чего таймер устанавливается заново. Таким образом, браузер постоянно обновляет список отображаемых на экране пользователя постов с учетом вновь добавленных. В других вариантах реализации, напротив, распределенная компьютерная система отправляет новые посты на подключенные пользовательские устройства, при этом создаются события «входящий пост» для обработки в контуре контроля. Все события, в отношении которых не проводится явное тестирование или обработка, обрабатываются обработчиком по умолчанию 1116. После обработки события, которое запустило обработку события на этапе 1102, логическая схема браузера устанавливает, присутствуют ли в очереди другие события, которые были поставлены в очередь, пока шла обработка предыдущего события на этапе 1118. Если таковые присутствуют, то на этапе 1120 из очереди событий удаляется следующее событие, и схема управления возвращается на этап 1104. В противном случае схема управления возвращается к этапу 1102, на котором браузер ожидает наступления очередного события.

На Фиг. 11В иллюстрируется, как пользовательское устройство с процессорным управлением создает и направляет события на этап 1102 на Фиг. 11А. Как показано на Фиг. 11В, пользователь переместил курсор в положение над функцией «enter» (ввод) 1122 устройства отображения 1124. Затем пользователь осуществляет механический ввод с помощью клавиши клавиатуры 1126 или кнопки мыши 1128, обозначая свое намерение ввести некоторую информацию в приложение браузера, которая, как правило, будет передана в распределенную компьютерную систему, в которую входят серверы, обслуживающие веб-страницы веб-сайта переводческого сервиса на базе электронного сообщества. Нажатие клавиши или щелчок мышью сначала идентифицируется контроллерами клавиатуры или мыши, а затем передается в виде сигнала прерывания на операционную систему, выполняемую на пользовательском устройстве с процессорным управлением (данный процесс представлен в виде стрелки 1130). После этого операционная система обрабатывает данный входной сигнал и устанавливает, что данное нажатие на клавишу клавиатуры или щелчок мыши подлежит обработке приложением браузера, и отправляет его приложению браузера (данный процесс представлен в виде стрелки 1132) в виде сигнала прерывания приложения либо с помощью другого механизма. Браузер получает от операционной системы привязанные к данному щелчку мышью координаты х н у экрана дисплея, которые приложение браузера затем интерпретирует с помощью двухмерной характеристической карты 1134 и определяет, в отношении какой функции был осуществлен щелчок мышью или нажатие на клавишу клавиатуры. Затем браузер явным или неявным образом создает событие нажатия на функцию, которое обрабатывается контуром управления, как описано выше в контексте Фиг. 11А. Как правило, приняв меры по обработке события, браузер осуществляет один или более вызовов операционной системы (данный процесс представлен в виде стрелки 1136), которая в свою очередь посылает многочисленные управляющие входные сигналы на аппаратный уровень 1138. Например, если щелчок мышью ведет к передаче заполненного запроса на перевод в распределенную компьютерную систему, приложение браузера формирует сообщение и вызывает сетевые функциональные возможности операционной системы для передачи данного сообщения в распределенную компьютерную систему. Это предполагает отправку операционной системой управляющих входных сигналов на контроллеры устройств связи, как правило, через регистры контроллеров, привязанные к доступным для операционной системы областям памяти.

На Фиг. 11С представлена блок-схема алгоритма управления веб-сервера в составе распределенной вычислительной системы. Как и приложение браузера, веб-сервер, как правило, функционирует по непрерывному контуру, на первом этапе которого (1140) сервер ожидает наступления очередного события, а когда оно наступает, осуществляет его обработку. Если очередным событием является входящий запрос, как определено на этапе 1142, веб-сервер получает (на этапе 1144) запрос от операционной системы, исполняемой на данном веб-сервере, анализирует его, сохраняет контекст для идентификации вида запроса и удаленного коммуникационного адреса запрашивающего пользователя и устанавливает таймер, так чтобы в случае ненадлежащей обработки запроса сервером приложений веб-сервер мог либо повторить попытку запроса, либо вернуть запрашивающему пользователю сообщение об ошибке. Затем на этапе 1146 веб-сервер направляет запрос в сервисное приложение обработки, исполняемое на сервере приложений, который входит в состав распределенной компьютерной системы. Если событием является ответ, полученный от сервисного приложения обработки, как определено на этапе 1148, веб-сервер (на этапе 1150) обращается к ранее сохраненному контексту запроса, направленного в сервисное приложение обработки, и использует имеющуюся в контексте информацию для формирования и надлежащей адресации ответного сообщения запрашивающему пользователю. На этапе 1152 ответное сообщение передается на запрашивающее пользовательское устройство с процессорным управлением. Если событием является срабатывание таймера, как определено на этапе 1154, то на этапе 1156 сервер обращается к контексту, привязанному к запросу, для которого установлен таймер. Контексты могут содержать указание количества попыток запроса на обработку по запросу. Если число попыток запроса на обработку меньше порогового значения, как определено на этапе 1158, то на этапе 1160 сервер заново устанавливает таймер и направляет запрос в сервисное приложение обработки. В противном случае веб-сервер формирует ответное сообщение об отказе (на этапе 1162) и передает его на запрашивающее пользовательское устройство на этапе 1164. Как и в случае с логической схемой управления приложения браузера, описанного в контексте Фиг. 11А, обработчик по умолчанию 1166 обрабатывает все виды событий, которые явно не обрабатываются логической схемой веб-сервера, включающей этап обнаружения и этапы обработки событий, как, например, этап обнаружения 1142 и этап обработки входящего запроса 1144 и 1146. Если число наступивших событий превышает число событий, поставленных в очередь с тех пор, как ранее обработанное событие инициировало обработку, как определено на этапе 1168, то очередное событие удаляется из очереди событий (на этапе 1179), и схема управления возвращается к этапу 1142. В противном случае схема управления возвращается к этапу 1140.

На Фиг. 12 иллюстрируется процесс управления приложением браузера на пользовательском устройстве с процессорным управлением переводческим сервисом на базе электронного сообщества для обеспечения интерактивного пользовательского интерфейса, с помощью которого пользователи размещают запросы на перевод, переводы и сообщения на свободные темы в сообществе пользователей переводческого сервиса на базе электронного сообщества. Обычно, нажимая на гиперссылки или выбирая элементы помеченных закладкой меню, пользователь дает браузеру команду на загрузку файла на языке гипертекстовой разметки (HTML) с веб-сервера распределенной компьютерной системы. HTML-файл 1202 является форматируемым файлом, который содержит HTML-теги и тела тегов, содержащие ряд утверждений. Получив HTML-файл, приложение браузера приступает к интерпретации содержащихся в файле HTML-утверждений. В результате интерпретации HTML-файла приложение браузера получает карту 1204 экрана дисплея, которая содержит размеры, цвета и другие параметры всех свойств отображаемой веб-страницы. Кроме того, согласно HTML-инструкциям, встроенным в HTML-файл, приложение браузера запрашивает дополнительные файлы и информацию на веб-сервере и в других источниках, в том числе изображения, исполняемые программы, аудиофайлы и прочую подобную информацию. Исполняемые программы 1206-1208 работают в среде выполнения, предоставляемой веб-браузером 1210, который в свою очередь выполняется в среде выполнения, предоставляемой операционной системой 1212 и аппаратным обеспечением 1214 пользовательского устройства с процессорным управлением. Объединив всю запрошенную информацию и содержащиеся в HTML-файле 1202 инструкции, приложение браузера создает готовую для просмотра веб-страницу 1216, отображаемую на устройстве отображения пользовательского устройства с процессорным управлением. Таким образом, на основе HTML-файла, который запрашивается приложением браузера и предоставляется ему веб-сервером распределенной компьютерной системы, вместе с дополнительными скриптами, исполняемыми программами, изображениями, аудиофайлами и другой информацией, команду на получение которых от веб-сервера и других источников информации приложение браузера получает от утверждений HTML-файла, формируется логическая схема управления и набор данных, которые вместе реализуют интерактивный пользовательский интерфейс, с помощью которого пользователи осуществляют доступ к переводческому сервису на базе электронного сообщества.

На Фиг. 13 иллюстрируется компонента данных клиентской и серверной части переводческого сервиса на базе электронного сообщества. Помимо скриптов, исполняемых программ и прочей подготовленной для просмотра информации, которая предоставляется приложению браузера на базе HTML-файла и других информационных источников, описанных выше в контексте Фиг. 12, приложение браузера также хранит данные в доступной ему памяти, предоставляемой операционной системой в виде одной компоненты среды выполнения. В правой части Фиг. 13 (1302) используется псевдокод С или С++, который определяет различные виды данных, которые могут храниться приложением браузера для реализации интерактивного пользовательского интерфейса. Браузер может хранить в памяти список языков, которые могут быть выбраны при использовании функции «мои посты» 1304, и список языков, которые могут быть выбраны при использовании функции «сообщения сообщества» 1306. Например, браузер может хранить в памяти диапазон идентификаторов постов, отображаемых в данный момент на экране пользователя, использующего функцию «мои посты» 1308 и функцию «посты сообщества» 1310. Помимо этого, браузер может хранить экземпляр класса 1312, который реализует форму запроса на перевод. Как показано на правой стороне Фиг. 13 (1314), распределенная компьютерная система может хранить ряд различных видов данных в таблицах реляционной базы данных 1316-1318. Например, в одной таблице могут храниться запросы на перевод 1316, которые были получены, приняты и предоставлены для просмотра пользователями переводческого сервиса на базе электронного сообщества. Каждый ряд в таблице запросов на перевод 1316 содержит данные, представляющие каждый из запросов на перевод. В альтернативных вариантах реализации приложениями браузера пользовательских устройств с процессорным управлением и веб-серверами, серверами приложений и другими вычислительными компонентами распределенной компьютерной системы могут применяться различные виды данных и методик хранения данных.

На Фиг. 14A-J с помощью блок-схем иллюстрируется один вариант реализации переводческого сервиса на базе электронного сообщества, к которому относится настоящий документ. На Фиг. 14A-J иллюстрируется процесс осуществления пользователем доступа к интерактивному пользовательскому интерфейсу переводческого сервиса на базе электронного сообщества, а также многочисленные запросы, отправляемые пользователем через интерактивный пользовательский интерфейс. Назначение данных фигур заключается в том, чтобы показать высокоуровневое управление и логическую схему и предположить базовые варианты реализации приложения браузера и веб-сервера, такие как описанные в контексте Фиг. 11А-С выше, а также базовую вычислительную и коммуникационную инфраструктуру, такую как описано в предыдущем подразделе. В данном примере пользователь уже взаимодействует с интерфейсом, отображаемым на экране приложением браузера пользователя, выполняемым на пользовательском устройстве с процессорным управлением. Каждая из Фиг. 14A-J разделена вертикальной линией 1400 на две части. В левой части показаны действия со стороны клиента, а в правой - действия со стороны веб-сервера. Также исходим из допущения, что действия, выполняемые на стороне сервера, могут включать действия, выполняемые веб-серверами, серверами приложений, системами хранения данных и другими обособленными вычислительными сущностями, которые вместе образуют распределенную вычислительную систему.

На этапе 1401 пользователь щелкает мышью по отображаемой приложением браузера ссылке, которая направляет приложение браузера на переводческий сервис на базе электронного сообщества, который называется на Фиг. 14A-J «народным словарем». На этапе 1402 приложение браузера обрабатывает событие щелчка мышью и в ответ запрашивает у сервера народного словаря HTML-файл для целевой страницы народного словаря. На этапе 1403 сервер получает запрос, а на этапе 1404 возвращает приложению браузера на стороне клиента запрошенный HTML-файл. На этапе 1405 приложение браузера, используя сетевые функциональные возможности операционной системы, получает HTML-файл и приступает к его интерпретации на этапе 1406. В цикле на этапах 1407-1410 в процессе интерпретации HTML-файла приложение браузера запрашивает каждый объект, к которому отсылает HTML-файл, и получает запрашиваемый объект от сервера. Как было сказано выше, в число объектов, на которые имеется ссылка, могут входить скрипты, исполняемые программы, изображения и прочая информация, которая может быть отображена на экране пользователя приложением браузера. В определенных случаях данные объекты могут запрашиваться от серверов, не являющихся серверами народного словаря, в адрес которых был направлен исходный запрос на HTML-файл на этапе 1402.

Из Фиг. 14В видно, что как только приложение браузера получает все объекты, на которые имеется ссылка, оно приступает к подготовке для просмотра и отображения на экране пользователя интерактивного пользовательского интерфейса. В процессе данной подготовки для просмотра и отображения на экране интерактивного пользовательского интерфейса приложение браузера на этапе 1414 активирует фильтрацию и выбор языков для функции «посты сообщества» (903 на Фиг. 9А) и на этапе 1415 запрашивает у сервера наиболее недавние посты сообщества, отвечающие параметрам фильтра и языковым параметрам, заданные для функции «посты в сообществе». На этапе 1416 сервер получает запрос, на этапе 1417, в настоящем варианте реализации, использует параметры фильтрации и языковые настройки для построения одного или более поисковых запросов к реляционной базе данных, а на этапе 1418 использует данные поисковые запросы для получения значений всех полей наиболее недавних постов, хранящихся сервером в базе данных. При выполнении нескольких поисковых запросов, как в случае неограничительного фильтра, который дает серверу команду на извлечение общих заметок, запросов на перевод и добавленных переводов, посты объединяются и сортируются сервером в хронологическом порядке. В определенных вариантах реализации в рамках запроса, направляемого серверу на этапе 1415, приложение браузера может предоставить серверу указание общего максимального числа текстовых символов, которые могут быть помещены приложением браузера на экране устройства отображения, привязанного к устройству пользователя с процессорным управлением. В других случаях число возвращенных постов может быть параметром, либо указанным приложением браузера пользователя, либо закодированным в логической схеме сервера. В других вариантах реализации приложение браузера может продолжать запрашивать посты до тех пор, пока буфер дисплея на стороне клиента не будет заполнен. В описываемом в настоящее время варианте реализации, сформировав набор упорядоченных по времени постов, сервер приступает к возврату постов (на этапе 1419). На этапе 1420 приложение браузера получает посты и сохраняет их в буфере памяти для функции «посты сообщества», обновляя соответствующую информацию, такую как диапазон постов, число постов и прочую подобную информацию, используемую приложением браузера для отображения и прокручивания сегмента отображения функции «посты сообщества». Между этапами 1419 и 1420 приведено несколько стрелок 1421, которые указывают на то, что в определенных вариантах реализации в процессе передачи постов от сервера в приложение браузера может быть несколько операций запрос-ответ. Наконец, на этапе 1422 приложение браузера загружает полученные от сервера и сохраненные в буфере памяти посты в прокручиваемую область отображения окна постов сообщества, отображаемую на экране пользователя.

Описание настоящих примеров взаимодействия с пользователем продолжается на Фиг. 14С. На этапе 1424 пользователь с помощью мыши прокручивает вниз область отображения постов сообщества для просмотра дополнительных постов. В ответ на этапе 1425 браузер обновляет на экране область отображения функции «посты сообщества» для отображения другого набора постов, обновляя также расположение указателя положения в функции прокручивания. По мере прокручивания приложение браузера на этапе 1426 продолжает перемещать посты из буфера в область отображения и обновлять указания диапазона отображения. Когда в процессе прокручивания данные в буфере приложения браузера будут исчерпаны, как определено на этапе 1427, приложение браузера на этапе 1428 переместит пост в буфере вверх, обновляя указания сохраненного диапазона постов и освобождая место в буфере для других постов. Затем на этапе 1429 приложение браузера запрашивает у сервера дополнительные посты сообщества, которые, опять же, отвечают текущим параметрам фильтрации и языковым настройкам, а также в определенных вариантах реализации указание числа текстовых символов, которые могут быть дополнительно помещены в буфер памяти. Сервер на этапе 1430 получает запрос и затем, обращаясь к Фиг. 14D, на этапах 1431-1433 выполняет запросы, аналогичные выполняемым на этапах 1417-1419, которые описываются выше в контексте Фиг. 14В. Приложение браузера на этапе 1434 получает посты, сохраняя новые посты в освободившейся области буфера памяти, и на этапе 1435 обновляет область отображения функции «посты сообщества».

Описание примеров взаимодействия с пользователем продолжается на Фиг. 14Е. На этапе 1440 пользователь вводит в поле ввода текста функции «запрос на перевод» слово или фразу и щелкает мышью по кнопке поиска функции «запрос на перевод». На этапе 1441 приложение браузера запаковывает введенное пользователем слово или фразу в сообщение-запрос на перевод и отправляет сообщение-запрос на перевод на сервер. На этапе 1442 сервер получает запрос на перевод и на этапе 1443 формирует поисковой запрос для доступа к размещенным в сообществе пользовательским переводам, хранящимся в одной или более таблицах базы данных. Поисковой запрос содержит язык запроса для отображения переводов по рейтингу в порядке убывания. Таким образом, первыми на пользовательское устройство для отображения возвращаются переводы с наиболее высоким рейтингом. На этапе 1446 сервер также направляет поисковой запрос к одному или более лицензированным коммерческим словарям на наличие одного или более словарных переводов. При обнаружении одного или более переводов из коммерческого словаря и (или) переводов сообщества, как определено на этапе 1447, сервер на этапе 1448 формирует область отображения данных переводов и возвращает приложению браузера данные отображения для вывода на экран пользователя. В описываемом варианте реализации первыми в область отображения включаются словарные переводы вместе с которыми или за которыми следует саммари переводов сообщества, как описано выше в контексте Фиг. 9Е, при этом к саммари прилагаются исходные переводы, а за саммари следуют все или часть полных переводов сообщества. В противном случае сервер на этапе 1449 формирует экран ошибки или сообщение об ошибке и возвращает приложению браузера сообщение об ошибке. Если в результате выполнения поискового запроса на этапе 1443 пользовательские переводы не найдены, сервер на этапе 1450 также формирует автоматический запрос на перевод, который размещается для пользователей переводческого сервиса на базе электронного сообщества. На этапе 1451 приложение браузера получает ответ от сервера, а на этапе 1452 отображает данный ответ. Если ответ содержит саммари и набор пользовательских переводов, информация отображается, как описано выше в контексте Фиг. 9Е.

Описание типовых операций взаимодействия с пользователем продолжается на Фиг. 14F. На этапе 1454 пользователь вводит оценку «like» для одного из отображаемых пользовательских переводов. На этапе 1455 приложение браузера вызывает скрипт или исполняемую программу, привязанную к активной отображаемой иконке «like» в отображаемом окне перевода. На этапе 1456 скрипт или исполняемая программа формирует и передает сообщение, содержащее идентификатор отображаемого перевода и указание того, что пользователь желает присвоить пользовательскому переводу оценку «like». На этапе 1457 сервер получает данное сообщение от приложения браузера, на этапе 1458 формирует запрос на увеличение общего числа оценок «like» для перевода и затем на этапе 1459 исполняет данный запрос, так чтобы увеличить число присвоенных переводу оценок «like».

На Фиг. 14G-H иллюстрируется пользовательский запрос на перевод с использованием функции «запрос на перевод» (904 на Фиг. 9А). На этапе 1462 пользователь выполняет щелчок мышью по функции «запрос на перевод». На этапе 1463 приложение браузера вызывает скрипт или исполняемую программу, привязанную к функции «запрос на перевод», которая выводит на экран форму запроса на перевод, описанную выше в контексте Фиг. 9F, в которую пользователь должен будет ввести информацию, необходимую для размещения запроса на перевод в сообществе пользователей. На этапе 1464 пользовать вводит информацию в различные поля формы запроса на перевод и нажимает на функцию добавления. На этапе 1465 скрипт или исполняемая программа проверяет, была ли введена вся необходимая информация. Например, в определенных вариантах реализации пользователь, чтобы разместить запрос на перевод, должен по крайней мере указать направление перевода и слово или фразу, перевод которой он хочет получить. В других вариантах реализации для размещения запроса на перевод в сообществе обязательными могут быть также и другие поля. После заполнения пользователем необходимых полей, как определено на этапе 1466, скрипт или исполняемая программа на этапе 1467 размещает запрос на перевод на сервере. В противном случае скрипт или исполняемая программа на этапе 1468 может отобразить подсказку или сообщение, требующее, чтобы пользователь ввел недостающую или необходимую информацию. На этапе 1469 сервер получает запрос на перевод. На этапе 1470 сервер проверяет слово или фразу, перевод которой пользователь хочет получить. В случае превышения порога количества символов, как определено на этапе 1471, сервер на этапе 1472 возвращает приложению браузера сообщение об ошибке. В описываемом варианте реализации поддерживается перевод только отдельных слов или коротких фраз. В других вариантах реализации порог числа символов может быть больше, либо его вообще может не быть. Далее на этапе 1473, если символьный порог не был превышен, сервер создает один или более поисковых запросов для поиска эквивалентных запросов на перевод в любом из направлений, которые уже были размещены в сообществе. В случае обнаружения таких запросов, как определено на этапе 1474, сервер может вернуть пользователю сообщение об ошибке, которое означает, что данный пост-запрос на перевод не может быть размещен, так как для данного слова или фразы уже существуют переводы. В определенных вариантах реализации данное сообщение об ошибке может сопровождаться несколькими уже размещенными переводами с наиболее высоким рейтингом, как описано выше в контексте Фиг. 14Е. В противном случае запрос на этапе 1475 добавляется в базу данных, которая фактически публикует запрос в сообществе пользователей. Данный пост оперативно включается в область отображения функции «посты сообщества» пользователей, в настоящее время взаимодействующих с переводческим сервисом на базе электронного сообщества. Затем на этапе 1476 приложению браузера возвращается сообщение об успешном выполнении. На этапе 1477 приложение браузера получает от сервера ответ и на этапе 1478 отображает сообщение об успешной попытке пользователя разместить запрос на перевод или отказе в попытке пользователя разместить запрос на перевод. В определенных вариантах реализации в случае наличия переводов для данного слова или фразы они на этапе 1478 могут быть возвращены сервером и отображены на экране пользователя.

На Фиг. 14I-J иллюстрируется процесс ответа пользователя на размещенный запрос на перевод. На этапе 1480 пользователь, просматривая запрос на перевод, выполняет щелчок мышью по функции перевода (936 на Фиг. 9В). На этапе 1481 приложение браузера вызывает скрипт или исполняемую программу, которая выводит на экран пользователя редактируемую форму для ввода перевода, аналогичную описанной в контексте Фиг. 9G. Данная форма может содержать информацию, уже предоставленную запросившим перевод пользователем, которая является нередактируемой для пользователя, отвечающего на запрос на перевод. На этапе 1482 пользователь вводит перевод и информацию в другие пустые поля формы. На этапе 1483 скрипт или исполняемая программа формирует сообщение-перевод, включающее идентификатор поста-запроса на перевод, на который отвечает данный пользователь, и отправляет сообщение-перевод на сервер. На этапе 1484 сервер получает сообщение-перевод. На этапе 1485 сервер составляет поисковые запросы для поиска аналогичных переводов по обоим направлениям, которые уже были опубликованы в сообществе, и выполняет их. В случае обнаружения аналогичных переводов, как определено на этапе 1486, сервер на этапе 1487 возвращает приложению браузера сообщение об ошибке. В противном случае сервер на этапе 1488 присваивает переводу начальный рейтинг, а затем на этапе 1489 добавляет перевод, содержащийся в полученном сообщении, в базу данных, фактически публикуя его в сообществе. На этапе 1490 сервер возвращает сообщение об успехе. На этапе 1492 приложение браузера получает ответ и на этапе 1493 выводит на экран сообщение об успешном размещении перевода в сообществе или отказе в размещении перевода в сообществе.

На Фиг. 15А иллюстрируется процесс вычисления начального рейтинга размещенного перевода, осуществляемого путем вызова функции «присвоить начальный рейтинг» на этапе 1488, который показан на Фиг. 14I. На Фиг. 15А приведен один из возможных подходов к расчету начального рейтинга, однако существует множество других способов расчета числового рейтинга с использованием различных вычислительных этапов, факторов и аспектов. Как показано на гибридном блоке/арифметической форме на Фиг. 15А, начальный рейтинг в одном из вариантов реализации вычисляется как сумма пяти элементов 1502-1506. Каждый элемент в свою очередь, - это произведение фактора в его числовом выражении и весового коэффициента. Например, первый элемент 1502 является произведением фактора «статус и уровень владения» 1508 и весового коэффициента 1509. Весовые коэффициенты используются для присвоения относительной важности или значимости различным факторам в их числовом выражении. В нижеследующем описании первый пост-перевод является похожим на второй пост-перевод, если поля «слово или фраза» и «перевод» обоих постов идентичны, но отличаются другие поля. Параллельный текст - это составная область отображения, в которую помещается текст рядом с одним или несколькими переводами этого текста, при этом параллельный текст выравнивается, если соответствующие предложения или фразы текста и одного или более переводов данного текста соотносятся путем выравнивания в области отображения или другими способами. В число пяти числовых факторов входят: (1) «статус и уровень владения», характеризующий предоставляющего перевод пользователя 1508; (2) рейтинг предоставляющего перевод пользователя 1510; (3) частота встречаемости предлагаемого и аналогичных переводов в выравненных параллельных текстах 1512; (4) частота встречаемости предлагаемого и аналогичных переводов в стандартных источниках, таких как лицензированные словари; и (5) частота встречаемости предлагаемого и аналогичных переводов в постах в сообществе 1516. Статус и уровень владения как языком слова подлежащего переводу или фразы подлежащей переводу, так и языком, на который данное слово или фраза переводится, - это сочетание числовых значений статуса и уровня владения 1518. В число статусов, которые может иметь предлагающий перевод пользователь, входят: носитель языка, переводчик, преподаватель, профессор, лицо, изучающее язык либо часто использующее язык. Данным различным статусам могут быть присвоены различные относительные числовые рейтинги, которые будут использоваться при вычислении общего рейтинга как суммы пяти элементов, указанных на Фиг. 15А. Аналогичным образом различным уровням владения, которыми может обладать предлагающий перевод пользователь, в том числе начинающий, элементарный уровень, ниже среднего, средний, выше среднего и продвинутый уровень, присваиваются относительные числовые значения. Чем выше статус и уровень владения языками, тем выше соответствующее числовое значение. Фактор рейтинга пользователя 1510 может сочетать в себе числовые оценки, присвоенные пользователю исходя из ряда аспектов 1520, в том числе число размещенных пользователем переводов, число размещенных пользователем в сообществе других видов постов, оперативность ответов пользователя на размещенные другими пользователями посты, соотношение оценок «like» и «dislike», присвоенных размещенным пользователем постам, число присвоенных пользователем оценок постам и число ссылок на посты пользователя другими пользователями. Для вычисления числового рейтинга пользователя могут быть включены также многие другие аспекты. В определенных вариантах реализации, например, члены сообщества могут оценивать пользователей напрямую через функции оценки, соотнесенные с профилями пользователей. Третий фактор 1512 относится к частоте встречаемости слова или фразы/перевод пары в выравненных параллельных текстах 1522. В одном варианте реализации максимальному числу встречаемости присваивается наивысшее числовое значение фактора, а в диапазоне от нуля до данного максимального числа встречаемости фактору присваиваются более низкие числовые значения, соответственно. Аналогичные комментарии применимы к четвертому и пятому коэффициентам 1514 и 1516.

На Фиг. 15В-С иллюстрируются примеры таблиц реляционной базы данных, которые могут использоваться в определенных вариантах реализации для хранения данных в распределенной компьютерной системе, в которую, в том числе, входят веб-серверы, предоставляющие хостинг для веб-сайта переводческого сервиса на базе электронного сообщества. Далее представлено небольшое число примеров реализации, которые будут включать множество дополнительных таблиц и видов поисковых запросов. Как показано на Фиг. 15В, вариант реализации базы данных может включать, среди прочих таблиц, таблицу «translation_requests» 1520, таблицу «parts_of_speech» 1522, таблицу «languages», таблицу «members» 1526 и таблицу «topics». Каждая строка в таблице «translation_requests», как, например, строка 1530, содержит записи по каждой из нескольких колонок или полей таблицы, вместе которые образуют данные, представляющие пост-запрос на перевод, который позже можно будет изменить, вставив в него предложенный перевод. Например, первая колонка или поле 1532 и вторая колонка или поле 1534 называются «с» и «на» и содержат целочисленные идентификаторы языка слова подлежащего переводу или фразы подлежащей переводу и языка, на который данное слово или фраза должна быть переведена. Третья колонка или поле 1536 содержит подлежащее переводу слово или фразу. Другие колонки содержат указания части речи подлежащего переводу слова или фразы 1537, общую тематику слова или фразы 1538, предлагаемый перевод слова или фразы 1539, пример употребления слова или фразы 1540, перевод примера 1541, комментарий к запросу на перевод 1542, идентификатор размещающего запрос на перевод члена 1543, уникальный идентификатор запроса на перевод 1544, дату/время, соответствующие дате и времени создания запроса на перевод 1545, число присвоенных запросу на перевод оценок «like» 1546 и число присвоенных запросу на перевод оценок «dislike» 1547. Этим список возможных полей не ограничивается. Во многих вариантах реализации для обеспечения нескольких переводов поля 1539-1543 могут быть заменены идентификатором, который будет использоваться для идентификации каждого перевода из набора предлагаемых переводов, хранящихся в другой таблице. Конечно, существует множество различных способов реализации конкретной базы данных с использованием языка структурированных запросов (SQL).

На Фиг. 15С иллюстрируются SQL-выражения для создания таблиц и для поисковых запросов на извлечение данных из реляционных таблиц. Первое выражение 1550 является SQL-командой на создание таблицы «translation_requests» (1530 на Фиг. 15В). Команда на создание таблицы указывает каждую колонку таблицы вместе с ее типом данных. Второе выражение 1552 является поисковым запросом, извлекающим перевод из таблицы «translation-requests». Извлеченный перевод не может быть незаполненным или пустым, является переводом для слова «goal», добавлен членом сообщества со статусом «переводчик», используется в качестве существительного, перевод осуществляется на эквивалентное слово во французском языке, а общей тематикой запрошенного перевода является «спорт».

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

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

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

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

2. Система для реализации переводческого сервиса на базе электронного сообщества по п. 1, отличающаяся тем, что каждый пост-запрос на перевод является запросом на перевод слова или фразы с первого языка на второй язык и включает:
идентификатор члена сообщества, делающего запрос; идентификатор языка слова или фразы; а также
идентификатор языка, на который запрашивается перевод данного слова или фразы.

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

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

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

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

7. Система для реализации переводческого сервиса на базе электронного сообщества по п. 1, отличающаяся тем, что каждый пост-перевод предоставляет перевод слова или фразы с первого языка на второй язык и включает:
перевод;
идентификатор члена сообщества, добавляющего перевод;
идентификатор языка слова или фразы; а также
идентификатор языка, на который предоставляется перевод данного слова или фразы.

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

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

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

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

12. Система для реализации переводческого сервиса на базе электронного сообщества по п. 1, отличающаяся тем, что информация о рейтинге, передаваемая в центр обработки данных в отношении постов сообщества, включает:
указание оценки «like»;
либо указание оценки «dislike».

13. Система для реализации переводческого сервиса на базе электронного сообщества по п. 1, отличающаяся тем, что информация о рейтинге, передаваемая в центр обработки данных в отношении постов сообщества, включает одно из:
числовой рейтинг;
текстовый рейтинг.

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

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

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

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

18. Система для реализации переводческого сервиса на базе электронного сообщества по п. 16, отличающаяся тем, что уровень владения может быть выбран из следующих вариантов:
начинающий;
элементарный;
ниже среднего;
средний;
выше среднего; а также
продвинутый.

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

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



 

Похожие патенты:

Изобретение в целом относится к «облачным» технологиям перевода, а более конкретно - к способу и системе облачного перевода для мобильного клиента. Техническим результатом является повышение скорости перевода за счет предотвращения излишнего повторного перевода.

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

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

Изобретение относится к способу, системе и машиночитаемому носителю с компьютерным программным продуктом для создания и применения пользовательского семантического словаря для естественного языка.

Изобретение относится к средствам для автоматического перевода устной речи с одного языка на другой. Технический результат заключается в повышении точности и скорости перевода в условиях внешних шумов и помех.

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

Изобретение относится к языковому переводу текста. Техническим результатом является повышение скорости, эффективности и точности перевода.

Данная группа изобретений относится к средствам перевода сайтов. Технический результат заключается в обеспечении перевода сайта с языка по умолчанию на альтернативный язык.

Изобретение относится к распознаванию речи на азиатском языке. .

Изобретение относится к средствам проверки сочетаний слов. .
Наверх