Патент Google, описывающий инфраструктурный механизм для эффективной сортировки данных (например, контактов или записей в базе данных) с учетом правил разных языков. Система создает единый многоязычный индекс сортировки и использует технику параллельной генерации ключей для его быстрого наполнения. Это позволяет системе быстро предоставлять отсортированные списки на любом поддерживаемом языке без избыточного потребления ресурсов.
Описание
Какую задачу решает
Патент решает инфраструктурную проблему неэффективности и ресурсоемкости поддержки корректной сортировки (Collation) в базах данных, обслуживающих множество языков. Поскольку правила сортировки различаются (например, алфавитный порядок в немецком и шведском), традиционный подход требует создания отдельного индекса для каждого языка. Это приводит к значительному увеличению размера базы данных и снижению производительности. Патент направлен на оптимизацию хранения и скорости сортировки в многоязычной среде. Он не связан с улучшением ранжирования в веб-поиске или борьбой с SEO-манипуляциями.
Что запатентовано
Запатентована система для создания и использования многоязычного индекса сортировки (multi-language sorting index). Изобретение включает метод параллельной генерации всех возможных ключей сортировки (Sort Keys) для заданной строки на всех поддерживаемых языках за один проход. Эти ключи хранятся в единой вспомогательной таблице (Auxiliary Table), которая экономит место за счет устранения дубликатов, поскольку многие языки используют одинаковые ключи для одних и тех же строк.
Как это работает
Система функционирует следующим образом:
- Объединение правил: Создается Combined Mapping Table (CMT), которая агрегирует правила сортировки (Collation Elements) всех поддерживаемых языков.
- Параллельная генерация: При индексации данных система использует рекурсивный алгоритм и CMT для одновременной генерации всех уникальных Sort Keys для строки на всех языках.
- Хранение: Уникальные Sort Keys сохраняются в Auxiliary Table (индексе) со ссылкой на исходную запись.
- Использование при запросе: При запросе на сортировку данных на определенном языке (например, SQL запрос с BETWEEN или ORDER BY), система использует Auxiliary Table для быстрого получения упорядоченного набора, а затем фильтрует его для обеспечения точности для запрошенного языка.
Актуальность для SEO
Высокая (для инфраструктуры). Эффективность работы баз данных и корректная поддержка интернационализации (i18n) остаются критически важными задачами для любых глобальных систем и приложений, обрабатывающих большие объемы многоязычных данных.
Важность для SEO
(1/10). Патент имеет минимальное значение для SEO-стратегии. Он описывает внутренние инфраструктурные механизмы баз данных, предназначенные для эффективной сортировки (Collation), а не для ранжирования (Ranking) или определения релевантности контента. Патент описывает внутренние процессы Google без прямых рекомендаций для SEO.
Детальный разбор
Термины и определения
- Sort Key (Ключ сортировки)
- Строка байтов, которая инкапсулирует порядок сортировки для исходной строки текста. Используется для быстрого упорядочивания данных путем простого байтового сравнения без необходимости применять сложные лингвистические правила (collation) напрямую к тексту.
- Collation (Сравнение/Сортировка)
- Процесс упорядочивания текстовых строк в соответствии с правилами определенного языка (например, алфавитный порядок).
- Collation Element (Элемент сортировки)
- Логическое отображение одного или нескольких символов строки в последовательность весов (Weights). Используется в алгоритмах сортировки, таких как Unicode Collation Algorithm.
- Multi-language sorting index (Многоязычный индекс сортировки)
- Индекс базы данных, который хранит Sort Keys для нескольких языков в оптимизированном виде, обычно во вспомогательной таблице.
- Auxiliary Table (Вспомогательная таблица)
- Вспомогательная таблица базы данных, используемая для хранения multi-language sorting index. Содержит Sort Keys и ссылки на записи в основной таблице (primary table).
- Combined Mapping Table (CMT) (Объединенная таблица отображения)
- Структура данных, которая отображает последовательности символов (подстроки) на набор последовательностей Collation Elements для всех поддерживаемых языков.
- Degenerate Sort Keys (Вырожденные ключи сортировки)
- Ключи сортировки, сгенерированные в процессе параллельной генерации, которые не соответствуют ни одному из поддерживаемых языков. Это побочный продукт алгоритма.
- Weights (Веса)
- Числовые значения внутри Collation Element, определяющие приоритет сортировки (например, Primary, Secondary, Tertiary).
Ключевые утверждения (Анализ Claims)
Claim 1 (Независимый пункт): Описывает метод создания многоязычного индекса сортировки (multi-language sorting index) с использованием параллельной генерации ключей.
- Для каждой строки, связанной с приложением, поддерживающим множество языков, выполняется рекурсивный процесс.
- На каждом смещении (offset) строки система идентифицирует каждую подстроку, присутствующую в Combined Mapping Table (CMT). CMT содержит отображения подстрок на Collation Elements для всех поддерживаемых языков.
- Для каждой найденной подстроки:
- Соответствующие Collation Elements из CMT добавляются к последовательностям (Collation Element Sequences). Это включает построение последовательностей для каждого языка путем идентификации языков в CMT и добавления соответствующих элементов.
- Смещение (offset) сдвигается на длину обработанной подстроки.
- По достижении конца строки, каждая сгенерированная Collation Element Sequence конвертируется в Sort Key.
- Это формирует multi-language sorting index, включающий все ключи сортировки для строки на всех поддерживаемых языках. Индекс является единым, и несколько ключей генерируются за один проход.
Claim 4 (Зависимый): Уточняет, что процесс генерации может создавать Degenerate Sort Key, который не применим ни к одному из поддерживаемых языков.
Claim 6 (Зависимый): Уточняет архитектуру хранения: строки хранятся в основной таблице (primary database table), а индекс сортировки хранится во вспомогательной таблице (auxiliary database table), которая также содержит ссылки на строки в основной таблице.
Где и как применяется
Этот патент не относится напрямую к стандартным этапам архитектуры поисковой системы Google Search (Crawling, Indexing, Ranking и т.д.), используемым для ранжирования веб-страниц. Он описывает инфраструктуру систем управления базами данных (СУБД) и алгоритмы для эффективной сортировки данных (Collation).
Применение: Технология используется в приложениях, где требуется сортировка текстовых данных в соответствии с правилами конкретного языка. Примеры: сортировка списка контактов в адресной книге (Google Contacts), сортировка названий файлов (Google Drive) или любая функция, где пользователь ожидает увидеть данные в алфавитном порядке, соответствующем его языку.
Входные данные:
- Исходная текстовая строка (string).
- Combined Mapping Table (правила сортировки для всех языков).
Выходные данные:
- Набор всех уникальных Sort Keys для этой строки на всех поддерживаемых языках, сохраненный в Auxiliary Table.
На что влияет
Алгоритм влияет исключительно на эффективность инфраструктуры:
- Производительность баз данных: Ускоряет выполнение запросов, требующих сортировки (например, SQL-запросы типа SELECT…BETWEEN или ORDER BY).
- Эффективность хранения: Снижает требования к объему памяти по сравнению с созданием отдельного индекса для каждого языка.
- Типы контента: Влияет на любые текстовые данные, требующие лингвистически корректной сортировки.
Патент не влияет на ранжирование в поисковой выдаче, специфические ниши (YMYL) или типы запросов.
Когда применяется
- Триггеры активации (Генерация): При добавлении или обновлении текстовых данных в основной таблице базы данных. Система активирует параллельную генерацию Sort Keys для обновления Auxiliary Table.
- Триггеры активации (Использование): При выполнении запросов к базе данных, требующих сортировки результатов с учетом лингвистических правил конкретного языка.
Пошаговый алгоритм
Процесс А: Параллельная генерация ключей сортировки
- Инициализация: Получение исходной строки и доступ к Combined Mapping Table (CMT). Процесс начинается с нулевого смещения в строке.
- Рекурсивный поиск и идентификация: На текущем смещении система идентифицирует все возможные подстроки, которые имеют запись в CMT.
- Ветвление: Если найдено несколько подстрок или одна подстрока имеет несколько Collation Elements (для разных языков), процесс разветвляется для обработки каждого варианта параллельно.
- Добавление элементов: Для каждой ветви система добавляет соответствующие Collation Elements к текущей формируемой последовательности.
- Перемещение смещения: Смещение увеличивается на длину обработанной подстроки.
- Рекурсия: Шаги 2-5 повторяются для нового смещения в каждой ветви, пока не будет достигнут конец строки.
- Конвертация в ключ: Когда конец строки достигнут, полная последовательность элементов конвертируется в Sort Key. Это делается путем объединения весов (Weights) разных уровней (первичных, вторичных, третичных), разделенных специальными сепараторами.
- Обработка вырожденных ключей: Система может сгенерировать Degenerate Sort Keys. Они могут быть удалены или сохранены.
Процесс Б: Использование многоязычного индекса сортировки
- Получение запроса: Система получает запрос на отсортированный набор данных на определенном языке (например, SELECT BETWEEN startString AND endString).
- Генерация ключей запроса: Генерируются ключи сортировки (startSortKey и endSortKey) для границ диапазона на языке запроса.
- Поиск в индексе: Система ищет в Auxiliary Table все записи, чьи Sort Keys находятся между startSortKey и endSortKey.
- Формирование первичного результата: Создается первичный набор результатов.
- Фильтрация: Поскольку индекс многоязычный, первичный набор может содержать строки из других языков, которые случайно попали в диапазон ключей. Система фильтрует результат, удаляя такие строки, а также дубликаты.
- Выдача результата: Отфильтрованный и отсортированный набор данных предоставляется пользователю.
Какие данные и как использует
Данные на входе
Патент фокусируется исключительно на обработке строк и правил сортировки.
- Контентные факторы: Текстовые строки (Text strings), хранящиеся в базе данных.
- Системные данные (Лингвистические правила): Combined Mapping Table, содержащая правила Collation и Collation Elements для всех поддерживаемых языков.
В патенте не упоминаются ссылочные, поведенческие, временные или географические факторы ранжирования.
Какие метрики используются и как они считаются
Патент не описывает метрики ранжирования или оценки качества поиска. Он оперирует метриками сортировки.
- Collation Elements и Weights: Система использует предварительно определенные веса (первичные, вторичные, третичные) для символов и их комбинаций, чтобы определить порядок сортировки.
- Формирование Sort Key: Ключ формируется путем конкатенации весов разных уровней. В патенте упоминается, что последовательность весов может быть сжата (например, с использованием схемы ICU).
Выводы
Патент описывает внутренние процессы Google, связанные с инфраструктурой баз данных, без прямых рекомендаций для SEO.
- Инфраструктурное решение: Основная цель патента — повышение эффективности хранения и скорости сортировки данных в многоязычных базах данных (Collation). Это не алгоритм ранжирования (Ranking).
- Параллельная генерация ключей: Ключевым изобретением является метод генерации всех возможных Sort Keys для строки на разных языках за один проход с использованием Combined Mapping Table. Это достигается за счет сложного рекурсивного алгоритма.
- Оптимизация хранения: Использование multi-language sorting index позволяет значительно экономить место, поскольку хранятся только уникальные Sort Keys, устраняя дублирование для языков с одинаковыми правилами сортировки.
- Отсутствие связи с SEO: Патент не содержит информации о ранжировании, определении релевантности, анализе ссылок или оценке качества контента. Практических выводов для SEO-специалистов из этого патента сделать нельзя.
Практика
Патент является инфраструктурным и не дает практических выводов для SEO.
Best practices (это мы делаем)
Патент не содержит информации, которая могла бы повлиять на лучшие практики SEO. Он не подтверждает и не опровергает существующие SEO-стратегии.
Worst practices (это делать не надо)
Патент не содержит информации, которая указывала бы на неэффективные или опасные SEO-тактики. Он не направлен против каких-либо SEO-манипуляций.
Стратегическое значение
Стратегическое значение для SEO отсутствует. Патент важен для инженеров баз данных и специалистов по интернационализации (i18n), но не предоставляет инсайтов для специалистов по поисковой оптимизации.
Практические примеры
Практических примеров для SEO нет. Патент описывает механизмы сортировки в базах данных.
Пример работы (не SEO): Сортировка контактов
- Задача: Отсортировать контакт «Töch» в адресной книге, поддерживающей несколько языков.
- Генерация ключей: Система параллельно генерирует Sort Keys (примеры из патента):
- [Dutch, German]: 4D 43 2B 35 01 85 9D 06 01 8F 08 00
- [Slovak]: 4D 43 36 04 01 85 9D 05 01 8F 07 00
- [Swedish]: 4D 5A A3 06 2B 35 01 08 01 8F 07 00
- Хранение: Все уникальные ключи сохраняются в Auxiliary Table со ссылкой на контакт «Töch».
- Сортировка: Если пользователь выбирает шведский язык, система использует ключ для Swedish для определения корректной позиции «Töch» в списке контактов.
Вопросы и ответы
Влияет ли этот патент на ранжирование сайтов в Google Поиске?
Нет, этот патент не влияет на ранжирование в поиске. Он описывает, как Google может эффективно сортировать данные в своих базах данных (например, имена контактов) в соответствии с алфавитными правилами разных языков. Это инфраструктурный патент, не связанный с определением релевантности или качества веб-страниц.
Что такое Collation и чем она отличается от Ranking?
Collation — это процесс упорядочивания строк в соответствии с установленными правилами, обычно алфавитным порядком конкретного языка. Ranking (Ранжирование) — это процесс упорядочивания документов в соответствии с их релевантностью запросу пользователя и показателями качества. SEO-специалисты работают над улучшением Ranking, тогда как этот патент описывает оптимизацию Collation.
Что такое «Ключ сортировки» (Sort Key)?
Это техническое представление текстовой строки в виде последовательности байтов. Оно создается таким образом, что при сравнении этих байтовых последовательностей результаты будут соответствовать правилам сортировки определенного языка. Это позволяет базам данных быстро сортировать текст, просто сравнивая эти ключи.
Зачем Google нужна параллельная генерация ключей сортировки?
Для эффективности и экономии ресурсов. Вместо того чтобы генерировать ключ сортировки для каждого языка по отдельности (что требовало бы N проходов для N языков), система генерирует все уникальные ключи за один проход. Это значительно ускоряет процесс индексации данных в многоязычных базах данных.
Что такое Combined Mapping Table (CMT)?
Это структура данных, которая объединяет правила сортировки из всех поддерживаемых языков в одну таблицу. Она позволяет системе быстро определить, какие веса (Weights) соответствуют определенной подстроке в разных языках. Использование этой таблицы является основой для алгоритма параллельной генерации ключей.
Как система экономит место, если она генерирует ключи для всех языков?
Экономия достигается за счет хранения только уникальных ключей во вспомогательной таблице (Auxiliary Table). Поскольку многие языки имеют одинаковые правила сортировки для большинства строк, система не дублирует эти ключи. Вместо создания отдельного индекса для каждого языка используется один общий индекс.
Где на практике может применяться эта технология?
Она применяется в любых приложениях, где требуется сортировка по имени или названию с учетом языка пользователя. Это могут быть адресные книги (Google Contacts), списки файлов (Google Drive) или любые внутренние базы данных Google, требующие эффективной многоязычной сортировки.
Что такое «Вырожденные ключи сортировки» (Degenerate Sort Keys)?
Это побочный продукт алгоритма параллельной генерации. Поскольку алгоритм комбинирует части правил из разных языков в одном проходе, он может создать ключ сортировки, который технически возможен по таблице, но фактически не используется ни в одном из поддерживаемых языков.
Связан ли этот патент с Unicode Collation Algorithm (UCA)?
Да, патент тесно связан с UCA. Он использует концепции, описанные в стандарте Unicode, такие как Collation Elements и веса разных уровней. По сути, патент предлагает способ эффективной реализации, генерации и хранения результатов UCA для множества языков одновременно.
Какие практические действия должен предпринять SEO-специалист на основе этого патента?
Никаких. Патент не содержит информации, которая могла бы повлиять на стратегию или тактику поисковой оптимизации сайтов. Это чисто технический, инфраструктурный патент, не имеющий отношения к факторам ранжирования.