СЕРВЕР РАСПРОСТРАНЕНИЯ, СПОСОБ РАСПРОСТРАНЕНИЯ ДАННЫХ И ПРОГРАММА
DISTRIBUTION SERVER, METHOD OF DISTRIBUTING DATA AND PROGRAMME

Область техники, к которой относится изобретение
Настоящее изобретение относится к серверу распространения, способу распространения и программе, пригодным для применения, когда данные, полученные из видеоизображения, например, с изображением спортивной игры, распространяют в терминал связи.
Уровень техники
В предшествующем уровне техники реализованы такие службы, которые предоставляют информацию о каждом игровом действии (удар, пас или тому подобное) каждого игрока из сервера в терминал связи для спортивной игры, такой как игра в футбол. Информация о каждом игровом действии включена, например, в основные данные, записанные в соответствии с форматом данных STATS. Сервер преобразует эти основные данные в форму расширяемого языка разметки (XML) и распространяет преобразованные основные данные в терминал связи, используя протокол передачи гипертекста (HTTP).
В патентной литературе 1 раскрыта технология, в которой устройство распространения данных добавляет данные CG и передает эти добавленные данные CG в терминал вместе с данными сценария, если существует специальный сценарий.
В патентной литературе 2 раскрыта технология, которая сопоставляет условие поиска с текстовыми данными, в которых записано слово-признак, и которая распространяет пользователю файлы видеоданных, данных изображений и текстовых данных за период, включающий в себя сцену, соответствующую условиям поиска.
Литература
Патентная литература
Патентная литература 1: выложенная заявка №2002358534 на японский патент
Патентная литература 2: выложенная заявка №2003199060 на японский патент
Раскрытие изобретения
Техническая задача
В частности, терминал связи, принимающий основные данные, независимо получает статистические данные путем запуска специализированной прикладной программы и путем анализа данных с координатами х и у, включенных в основные данные. Однако если каждый терминал связи выполняет обработку, описанную выше, возникает недостаток, состоящий в том, что увеличивается нагрузка на обработку в терминале связи.
Настоящее изобретение выполнено с учетом описанной выше проблемы и направлено на распространения основных данных, используемых в статистическом анализе, и статистических данных, получаемых в результате анализа основных данных, которые могут использоваться терминалом связи.
Решение задачи
В настоящем изобретении статистические данные генерируют путем анализа основных данных, используемых в статистических вычислениях, принимают из терминала связи запрос на получение основных данных и статистических данных и контролируют полосу пропускания линии связи, соединенной с терминалом связи.
Далее, рассчитывают степень уплотнения для одновременной передачи основных данных и статистических данных в терминал связи через линию связи на основе размера данных для основных данных и статистических данных и доступной полосы пропускания линии связи.
Основные данные и статистические данные разделяют на заданные блоки на основе степени уплотнения, и основные данные и статистические данные, разделенные на заданные блоки, передают в терминал связи.
Таким образом, становится возможным мультиплексировать статистические данные, предварительно проанализированные сервером распространения на основе основных данных, с основными данными и распространять мультиплексированные данные в терминал связи на основе запроса на получение основных данных и статистических данных.
Полезные результаты изобретения
В соответствии с настоящим изобретением сервер распространения может распространять статистические данные, предварительно проанализированные на основе основных данных, в терминал связи вместе с основными данными, так что терминалу связи нет необходимости повторно формировать статистические данные путем анализа принятых основных данных. Таким образом, полезный результат состоит в том, что нагрузка на обработку в терминале связи уменьшается.
Краткое описание чертежей
На фиг.1 показана блок-схема, представляющая пример внутренней конфигурации системы распространения данных в соответствии с первым вариантом осуществления настоящего изобретения.
На фиг.2 показана иллюстративная схема, представляющая пример данных события, данных информации положения и статистических данных в соответствии с первым вариантом осуществления настоящего изобретения.
На фиг.3А показана иллюстративная схема, представляющая пример формата файла для файла управления данных STATS в соответствии с первым вариантом осуществления настоящего изобретения.
На фиг.3В показана иллюстративная схема, представляющая пример формата файла для файла отслеживания данных STATS в соответствии с первым вариантом осуществления настоящего изобретения.
На фиг.3С показана иллюстративная схема, представляющая пример формата файла для файла отслеживания данных STATS в соответствии с первым вариантом осуществления настоящего изобретения.
На фиг.3D показана иллюстративная схема, представляющая пример формата файла для файла отслеживания данных STATS в соответствии с первым вариантом осуществления настоящего изобретения.
На фиг.3Е показана иллюстративная схема, представляющая пример формата файла для файла отслеживания данных STATS в соответствии с первым вариантом осуществления настоящего изобретения.
На фиг.4 показана схема последовательности операций, представляющая пример обработки распространения данных в соответствии с первым вариантом осуществления настоящего изобретения.
На фиг.5 показана блок-схема последовательности операций, представляющая пример обработки, выполняемой терминалом связи, в соответствии с первым вариантом осуществления настоящего изобретения.
На фиг.6 показана блок-схема последовательности операций, представляющая пример обработки, выполняемой сервером распространения, в соответствии с первым вариантом осуществления настоящего изобретения.
На фиг.7 показана схема последовательности операций, представляющая пример обработки распространения данных в соответствии со вторым вариантом осуществления настоящего изобретения.
Список номеров ссылочных позиций
1: Система распространения данных
2: Терминал связи
4: Сервер распространения
21: Входной модуль
22: Модуль приема запроса
23: Модуль генерирования служебного UI
24: Модуль отображения
25: Модуль управления кэшем
26: Модуль передачи запроса
27: Модуль управления мультиплексированной асинхронной связью
28: Модуль приема данных
29: Модуль комбинирования данных
30: Третий модуль хранения данных
41: Модуль получения данных STATS
42: Модуль анализа данных STATS
43: Первый модуль хранения данных
44: Второй модуль хранения данных
45: Модуль управления
46: Модуль управления кэшем
47: Модуль контроля полосы пропускания сети
48: Модуль расчета степени уплотнения
49: Модуль разделения данных
50: Модуль связи
51: Видеоизображение
31a: Данные события
31b: Данные информации о положении
61: Файл управления
62-65: Файл отслеживания
Подробное описание изобретения
Далее будут описаны варианты осуществления изобретения. Описание будет представлено в следующем порядке.
1. Первый вариант осуществления (Управление распространением основных данных и статистических данных)
2. Второй вариант осуществления (Управление распространением основных данных и статистических данных)
3. Пример видоизменения
1. Первый вариант осуществления>
Пример системы распространения данных
Далее, со ссылкой на фиг.1-6 будет описан первый вариант осуществления настоящего изобретения. В этом варианте осуществления будет описан пример, применяемый для системы 1 распространения данных, которая распространяет основные данные, сформированные на основе определяющей формат информации о командах, например, участвующих в игре в футбол, и информации о положении игроков и судей, и статистических данных, полученных в результате анализа основных данных.
На фиг.1 показана блок-схема, представляющая пример конфигурации системы 1 распространения данных в данном примере.
Система 1 распространения данных имеет терминал 2 связи, который подает запрос на получение основных данных и статистических данных, и сервер 4 распространения, который распространяет основные данные и статистические данные, в отношении которых был получен запрос на получение, в терминал 2 связи. Терминал 2 связи и сервер 4 распространения могут быть соединены, например, с помощью Интернет и могут осуществлять связь друг с другом, например, используя простой протокол доступа к объекту (SOAP).
Терминал 2 связи, расположенный на стороне клиента, имеет входной модуль 21, который позволяет пользователю вводить манипуляцию через интерфейс пользователя (UI), отображаемый на модуле 24 отображения, который отображает экран. Терминал 2 связи также имеет модуль 22 приема запроса, который принимает запрос (запрос на получение), генерируемый вводом манипуляции во входной модуль 21. Терминал 2 связи также имеет модуль 25 управления кэшем, который определяет, не хранятся ли запрашиваемые данные в третьем модуле 30 хранения данных, который будет описан ниже в качестве кэша. Такой запрос может представлять собой, например, запрос на получение файла отслеживания, указывающего движение определенного игрока во время матча. Модуль 22 приема запроса вводит обработку, соответствующую запрашиваемому контенту, в модуль 25 управления кэшем.
Терминал 2 связи также имеет модуль 23 генерирования служебного UI, который генерирует экран с использованием данных, полученных от сервера распространения (или данных, хранящихся в третьем модуле 30 хранения данных), и модуль 24 отображения, который отображает экран, генерируемый модулем генерирования служебного UI.
Терминал 2 связи также имеет модуль 25 управления кэшем, который управляет операцией записи данных, полученных от сервера 4 распространения, в модуль 30 хранения данных, служащий в качестве кэша, как результата запроса, и считывает запрошенные данные из третьего модуля 30 хранения данных. Терминал 2 связи также имеет модуль 26 передачи запроса, который передает запрошенные данные в сервер 4 распространения через модуль 25 управления кэшем. Модуль 26 передачи запроса передает информацию о возможности приема данных в сервер 4 распространения на основе информации, относящейся к степени мультиплексирования и сеансу, сообщенной сервером 4 распространения.
Модуль 25 управления кэшем принимает входные данные от модуля 22 приема запроса и передает данные, полученные от третьего модуля 30 хранения данных, в модуль 23 генерирования служебного UI, если имеются данные, являющиеся целевыми данными запроса, в третьем модуле 30 хранения данных. Если в третьем модуле 30 хранения данных целевые данные отсутствуют, содержание запроса передают в модуль 26 передачи запроса. Таким образом, содержание запроса, поступившее из модуля 25 управления кэшем, передают в сервер 4 распространения.
Терминал 2 связи также имеет модуль 28 приема данных, который передает запрос на получение данных в модуль 50 связи 50 сервера 4 распространения после начала работы модуля 27 управления мультиплексированной асинхронной связью 27. Терминал 2 связи также имеет модуль 29 комбинирования данных, который принимает и комбинирует раздельные данные, вводимые из модуля 28 приема данных.
Модуль 28 приема данных получает данные STATS, разделенные для передачи, в качестве возвращаемого значения запроса получения данных и передает эти разделенные данные, полученные из модуля 28 приема данных, в модуль 29 комбинирования данных. Модуль 29 комбинирования данных сохраняет данные STATS, полученные в результате комбинирования, в третьем модуле 30 хранения данных.
Терминал 2 связи также имеет модуль 27 управления мультиплексированной асинхронной связью, который запускает модуль 28 приема данных и модуль 29 комбинирования данных в виде множества потоков на основе значения степени уплотнения, назначенной сервером 4 распространения. Каждый поток работает независимо, и модуль 28 приема данных принимает данные, разделенные на заданные блоки от сервера 4 распространения. Если принято уведомление о завершении получения данных от сервера 4 распространения, модуль 29 комбинирования данных комбинирует разделенные данные. Модуль 27 управления мультиплексированной асинхронной связью принимает уведомление о завершении приема данных от модуля 28 приема данных. Если прием данных будет завершен во всех потоках, модуль 27 управления мультиплексированной асинхронной связью данных уведомляет модуль 26 передачи запроса о том, что прием данных завершен во всех потоках.
С другой стороны, сервер 4 распространения распространяет только метаданные, которые представляют собой информацию, приложенную к файлу движущегося изображения, без распространения самого файла движущегося изображения. Файл движущегося изображения распространяет мультимедийный сервер (флеш-медиа сервер) (не показан) или тому подобное.
Сервер 4 распространения имеет модуль 41 получения данных STATS, который анализирует данные 31 STATS, описанные в формате STATS, который будет описан ниже (семантический анализ), и записывает данные 31 STATS в первый модуль 43 хранения данных. Когда данные 31 STATS получают из устройства обработки информации (не показано), модуль 41 получения данных STATS выполняет простой анализ скорости движения игрока, команды, удерживающей мяч и т.д., и связывает результат анализа с полученными данными 31 STATS.
Сервер 4 распространения имеет первый модуль 43 хранения данных, который постоянно хранит данные 31 STATS и статистические данные 32, и второй модуль 44 сохранения, который помещает в кэш данные 31 STATS и статистические данные 32, однократно считанные из первого модуля 43 хранения данных. Во втором модуле 44 хранения данных содержатся только те данные 31 STATS и статистические данные 32, запрос на получение которых из терминала 2 связи был выполнен в течение заданного периода, который короче периода сохранения в первом модуле 43 хранения данных.
Сервер 4 распространения также имеет модуль 42 анализа STATS 42, который считывает данные STATS и другие данные, хранящиеся в первом модуле 43 хранения данных, и выполняет обработку анализа. Модуль 42 анализа данных STATS получает статистические данные, такие как, например, количество ударов каждой команды, количество голов, вероятность удара правой ногой, вероятность удара левой ногой и т.п., в качестве результатов обработки анализа данных 31 STATS. Модуль 42 анализа данных STATS записывает статистические данные 32, полученные в результате анализа, в первый модуль 43 хранения данных.
Сервер 4 распространения также имеет модуль 45 управления, который принимает запрос на получение данных 31 STATS и статистических данных 32 от терминала 2 связи, и модуль 46 управления кэшем, который проверяет наличие/отсутствие кэша, в соответствии с содержанием запроса на получение, поступающего от модуля 45 управления. Модуль 45 управления передает запрашиваемое содержание в модуль 46 управления кэшем, если необходимо.
Сервер 4 управления также имеет модуль 47 контроля полосы пропускания сети, который контролирует полосу пропускания сети запрашиваемого клиента, максимальный передаваемый блок (MTU) и т.п. Сервер 4 распространения также имеет модуль 48 расчета степени уплотнения, который рассчитывает степень уплотнения при распространении данных, запрашиваемых терминалом 2 связи.
Модуль 46 управления кэшем считывает данные 31 STATS и статистические данные 32, запрос на получение которых поступил от терминала 2 связи, из первого модуля 43 хранения данных, и также сохраняет данные 31 STATS и статистические данные 32 во втором модуле 44 хранения данных как в КЭШе. Если запрос на получение данных 31 STATS и статистических данных 32 от терминала 2 связи снова поступил в течение заданного периода, модуль 46 управления кэшем также предоставляет в модуль 49 разделения данных данные 31 STATS и статистические данные 32, считанные из второго модуля 44 хранения данных. Модуль 46 управления кэшем также передает службу данных для данных 31 STATS и статистических данных 32, запрос на получение которых был принят, в модуль 47 контроля полосы пропускания сети, который контролирует полосу пропускания сети для линии связи, подключенной к терминалу 2 связи.
Когда терминал 2 связи первый раз обращается к серверу 4 распространения, модуль 47 контроля полосы пропускания сети вызывает загрузку терминалом 2 связи файла размером несколько Мбайт, расположенного в сервере 4 распространения. Терминал 2 связи уведомляет сервер 4 распространения об информации, указывающей, сколько секунд прошло до окончания загрузки, так что модуль 47 контроля полосы пропускания сети может подсчитать график в полосе пропускания сети.
После того как модуль 28 приема данных принимает данные 31 STATS и статистические данные 32, модуль 47 контроля полосы пропускания сети может контролировать полосу пропускания на основе времени до поступления на сервер 4 распространения запроса на получение следующих данных 31 STATS и статистических данных 32. Например, “время до поступления сообщения о запросе” представляет собой время от запроса на получение разделенных данных 71-1 (см. фиг.4), который будет описан ниже, до запроса на получение разделенных данных 71-2.
Модуль 47 контроля полосы пропускания уведомляет модуль 48 расчета степени уплотнения о контролируемой полосе пропускания вместе с размером данных, полученных из модуля 46 управления кэшем.
Модуль 48 расчета степени уплотнения рассчитывает степень уплотнения для одновременной передачи основных данных и статистических данных в терминал связи по линии связи на основе размера данных для основных данных и статистических данных и доступной полосы пропускания линий связи. Например, модуль 48 расчета степени уплотнения определяет “степень уплотнения” с учетом разделения на значащие блоки по содержанию запроса, полученного из модуля 47 контроля полосы пропускания, размеру данных и т.п.
“Значащий блок” представляет собой блок, получаемый путем разделения файла отслеживания (команд), файла отслеживания (игроков) и файла отслеживания (судей), которые будут описаны ниже, и т.п., или также путем разделения данных событий или статистических данных для каждой команды и каждого игрока. Эти файлы представляют собой данные, включенные в основные данные, и модуль 48 расчета степени уплотнения рассчитывает степень уплотнения на основе данных события, включенных в основные данные, информации о командах, определенной на основе формата, и информации о положении игроков и судей. Например, “значащий блок” представляет собой матч, команду, человека, протяженность времени (например, интервал 10 минут) согласованного глобального времени (UTC) или тому подобное. Модуль 48 расчета степени уплотнения уведомляет модуль 27 управления мультиплексированной асинхронной связью терминала 2 связи об определенной степени уплотнения и уведомляет модуль 49 разделения данных об информации о степени уплотнения, MTU и т.п.
Модуль 49 разделения данных разделяет данные на заданные модули для передачи на основе запроса на получение данных, принятого от модуля 50 связи, и информации о степени уплотнения или тому подобного (MTU или тому подобное), принятой от модуля 48 расчета степени уплотнения, и передает эти разделенные данные в модуль 50 связи.
Модуль 50 связи принимает запрос от модуля 28 приема данных терминала 2 связи и запрашивает модуль 49 разделения данных относительно получения данных передачи. Модуль 50 связи также передает основные данные и статистические данные, разделенные на заданные блоки, принятые от модуля 49 разделения данных, в терминал 2 связи.
В этом примере модуль 48 расчета степени уплотнения рассчитывает соответствующее значение с учетом размера данных файла, подлежащего распространению в терминал 2 связи, и количества сеансов как “степень уплотнения.” Например, если будут обозначены три игрока А, В и С, когда приходит запрос на получение информации о положении какого-либо игрока, степень уплотнения просто обозначена как 3. Однако существуют данные, представляющие информацию о положении и т.п., например, в отношении 22 игроков, как игроков, начинающих игру в футбол, в данных одного матча, касающихся игроков в двух командах. В этом случае, трудно управлять сеансами, поскольку количество сеансов становится большим, если количество человек просто обозначить как степень уплотнения, как описано выше. Таким образом, сервер 4 распространения заранее определяет максимальное значение степени уплотнения для одного запроса, принятого от терминала 2 связи.
Например, сервер 4 распространения выполняет обработку данных разделения так, чтобы степень уплотнения не превышала максимального значения. В данном случае может быть выполнено изменение таким образом, что данные, которые должны быть разделены для каждого игрока, распределяют на блоки, соответствующие командам. Однако если данные будут размещены по блокам команд, размер данных, которые должны быть переданы в терминал 2 связи, может увеличиться в одном сеансе. В этом случае, данные, разделенные на блоки команд, дополнительно разделяют на значащий блок первого тайма или второго тайма. Если данные разделены, как описано выше, модуль 48 расчета степени уплотнения рассчитывает степень уплотнения, равную 4, и уведомляет модуль 27 управления мультиплексированной асинхронной передачей данных и модуль 49 разделения данных о степени мультиплексирования. В результате, становится возможным динамически изменять степень мультиплексирования, учитывая полосу пропускания сети, а также размер данных. Порог размера данных, предназначенных для передачи в одном сеансе, также может быть предварительно установлен в сервере 4 распространения.
На фиг.2 показан пример видеоданных, данных 31 STATS и статистических данных 32.
В этом примере данные 31 STATS и статистические данные 32 будут описаны со ссылкой на пример видеоизображения 51, в котором отображается игра в футбол, среди различных спортивных игр. На видеоизображении 51 отображают игроков, судей, мяч и т.п., движущихся в различных направлениях по полю, ограниченному боковой линией и линией ворот.
В предшествующем уровне техники информацию, содержащую ввод мяча в игру, пас, легкий удар и т.п., генерируемую в течение игры в футбол, записывают как данные 31а события вместе с прошедшим временем. Записывают данные 31b информации о положении, указывающие, куда движутся игроки, судьи и мяч в пределах поля и в какой момент времени. Данные 31 STATS, включающие в себя данные 31а событий и данные 31b информации о положении, используют как "основные данные", используемые для статистики/анализа. Статистические данные 32 получают путем выполнения статистической обработки и обработки анализа для данных 31 STATS.
На фиг.3 показан пример формата файла (формата STATS), определяющего данные STATS. В предшествующем уровне техники отсутствует структура для эффективного распространения данных STATS через Интернет и отсутствует формат данных для распространения данных STATS. Например, возможно создавать основные данные, используемые как источник статистики для каждого футбольного матча, используя формат файла данных STATS, представленный в этом примере, и передавать эти основные данные в терминал 2 связи.
Данные 31 STATS каждого матча сконфигурируются файлом 61 управления и файлами 62-65 отслеживания, имеющими 8-байтные записи. UTC и номер кадра прикрепляют к файлам 62-65 отслеживания, и файлы 62-65 отслеживания генерируются для каждого заданного времени или кадра.
Информацию об игроках своей команды и гостевой команды, информацию о положении каждого игрока и информацию о судье записывают в файл 61 управления, используемый для указания матча или игры и управления UTC. Информацию о положении каждого игрока идентифицируют по записи 66, определяющей номер на футболке, ID каждого положения, или тому подобном.
Например, информацию о переднем крае и заднем крае нападающего (FW) и т.п. записывают для каждой команды в файле 62 отслеживания, используемом при предварительном анализе своей команды и гостевой команды.
Например, данные координат каждого игрока на поле записывают в файле 63 отслеживания, используемом для отслеживания и предварительного анализа игроков своей команды и гостевой команды, как общую информацию о своей команде и гостевой команде. Данные координат каждого игрока идентифицируют по записи 67, определяющей информацию х (направление боковой линии), у (направление линии ворот) и z (направление высоты) игрока на поле, информацию х, у и z, указывающую направление лица игрока, и т.п.
Например, данные координат на поле каждого судьи записывают в файле 64 отслеживания, используемом для отслеживания судей. Данные координат каждого судьи идентифицируют по записи 68, определяющей информацию х (направление боковой линии), у (направление линии ворот) и z (направление высоты) судьи на поле, информацию х, у и z, указывающую направления лица судьи, и т.п.
Например, данные координат мяча на поле записывают в файле отслеживания 65, используемом для отслеживания мяча.
В этом примере сервер 4 распространения уменьшает нагрузку на обработку терминала 2 связи путем распространения статистических данных 32 в терминал 2 связи в дополнение к файлу 61 управления и файлам 62-65 отслеживания (данным 31 STATS).
Пример обработки распространения данных
Ниже будет описан пример обработки, в котором терминал 2 связи принимает данные 31 STATS и статистические данные 32 от сервера 4 распространения.
На фиг.4 показана схема последовательности, представляющая пример обработки распространения данных 31 STATS и статистических данных 32.
Вначале сервер 4 распространения динамически определяет размер данных для данных 31 STATS и статистических данных 32, которые должны быть распространены немедленно с учетом размера данных для всех файлов, которые должны быть распространены, полосы пропускания сети, MTU и т.п. При этом сервер 4 распространения разделяет данные STATS на значащие блоки и определяет степень уплотнения сеанса TCP.
Затем сервер 4 распространения разделяет первые данные 71 STATS, вторые данные 72 STATS и статистические данные 73 на три части (этап S1), и соответственно формирует разделенные данные 71-1 - 71-3, 72-1 - 72-3 и 73-1 - 73-3. В этом примере сервер 4 распространения разделяет данные на три части, но может произвольно изменять единицу разделения.
Далее разделенные данные последовательно распределяют по первому потоку 74а - третьему потоку 74с. Первый поток 74а - третий поток 74с представляют собой потоки, запускаемые модулем 28 приема данных, и определяют разделенные данные, принимаемые каждым потоком. Если все соответствующие разделенные данные будут полностью приняты, первый поток 74а - третий поток 74с исчезают.
Сервер 4 распространения распространяет разделенные данные 71-1 в первый поток 74а (этап S2), распространяет разделенные данные 72-1 во второй поток 74b (этап S3) и распространяет разделенные данные 73-1 в третий поток 74с (этап S4).
Аналогично, сервер 4 распространения распространяет разделенные данные 71-2 в первый поток 74а (этап S5). Затем, аналогично, сервер 4 распространения распространяет разделенные данные 72-2 во второй поток 74b и распространяет разделенные данные 73-2 в третий поток 74с.
Далее сервер 4 распространения распространяет разделенные данные 71-3 в первый поток 74а (этап S6). Затем, аналогично, сервер 4 распространения распространяет разделенные данные 72-3 во второй поток 74-b и распространяет разделенные данные 73-3 в третий поток 74с.
В частности, при обработке на этапе S6 сервер 4 распространения передает информацию, указывающую, что распространение всех разделенных данных (разделенные данные 71-1 - 71-3) первых данных 71 STATS было закончено в терминале 2 связи. Если все разделенные данные 71-1 - 71-3 приняты, первый поток 74а уведомляет модуль 29 комбинирования данных об этой информации.
Далее, модуль 29 комбинирования данных восстанавливает первые данные 71 STATS путем комбинирования разделенных данных 71-1 - 71-3 (этап S8) и сохраняет первые данные 71 STATS в третьем модуле 30 хранения данных.
Далее, модуль 25 управления кэшем начинает обработку предоставления в модуль 23 генерирования служебного UI первых данных 71 STATS, восстановленных модулем 29 комбинирования данных (этап S9).
Как описано выше, возможно использовать сеанс TCP в режиме мультиплексирования путем разделения и распространения данных и в максимальной степени использовать полосу пропускания Интернет. То есть, возможно, вначале обработать ранее принятые первые данные 71 STATS, даже если еще происходит распространение разделенных вторых данных 72 STATS и статистических данных 73. При этом становится возможным сократить время ожидания получения данных путем передачи обработки клиенту в момент времени, когда распространение данных, разделенных на значащие блоки, было завершено.
На фиг.5 показан пример обработки терминала 2 связи.
Вначале входной модуль 21 принимает от пользователя запрос на данные 31 STATS и статистические данные 32 (этап S11). Далее, модуль 25 управления кэшем выполняет поиск третьего модуля 30 хранения данных и определяет наличие/отсутствие запрашиваемых данных 31 STATS и статистических данных 32 (этап S12). Если запрашиваемые данные 31 STATS и статистические данные 32 временно сохранены в третьем модуле 30 хранения данных, модуль 25 управления кэшем переводит обработку на этап S18.
С другой стороны, если запрашиваемые данные 31 STATS и статистические данные 32 не сохранены временно в третьем модуле 30 хранения данных, модуль 25 управления кэшем передает запрос в модуль 26 передачи запроса. Модуль 26 передачи запроса передает запрос данных 31 STATS и статистических данных 32 в модуль 45 управления сервера 4 распространения (этап S13).
Далее, модуль 27 управления мультиплексированной асинхронной передачей принимает степень уплотнения от модуля 48 расчета степени уплотнения сервера 4 распространения (этап S14). Модуль 28 приема данных принимает данные 31 STATS и статистические данные 32, разделенные на заданные блоки из модуля 50 связи сервера 4 распространения (этап S15).
Если модуль 28 приема данных принимает все разделенные данные 31 STATS и статистические данные 32, модуль 29 комбинирования данных комбинирует разделенные данные 31 STATS и статистические данные 32 (этап S16). Модуль 29 комбинирования данных сохраняет комбинированные данные 31 STATS и статистические данные 32 в третьем модуле 30 хранения данных (этап S17).
Далее модуль 25 управления кэшем считывает данные 31 STATS и статистические данные 32 из третьего модуля 30 хранения данных (этап S18) и передает данные 31 STATS и статистические данные 32 в модуль 23 генерирования служебного UI. Модуль 23 генерирования служебного UI генерирует служебный UI на основе данных 31 STATS и статистических данных 32, принятых от модуля 25 управления кэшем, и передает служебный UI в модуль 24 отображения (этап S19). Модуль 24 отображения отображает служебный UI на экране (этап S20).
На фиг.6 показан пример обработки сервера 4 распространения.
Вначале, модуль 41 получения данных STATS сохраняет данные STATS в первом модуле 43 хранения данных путем получения данных 31 STATS, вводимых из устройства обработки информации (не показано) (этап S21).
Далее, модуль 42 анализа данных STATS считывает и анализирует данные 31 STATS из первого модуля 43 хранения данных, генерирует статистические данные 32 (этап S23) и сохраняет данные 31 STATS и статистические данные 32 в первом модуле 43 хранения данных.
Далее, модуль 45 управления принимает запрос от терминала 2 связи (этап S23). Модуль 46 управления кэшем выполняет поиск запрашиваемых данных 31 STATS и статистических данных 32 в кэше (этап S24). Если определено, что запрашиваемые данные 31 STATS и статистические данные 32 присутствуют в кэше, модуль 46 управления кэшем считывает запрашиваемые данные 31 STATS и статистические данные 32 из второго модуля 44 хранения данных (этап S25).
С другой стороны, если определено, что запрашиваемые данные 31 STATS и статистические данные 32 отсутствуют в кэше, модуль 46 управления кэшем считывает запрашиваемые данные 31 STATS и статистические данные 32 из первого модуля 43 хранения данных (этап S26). Данные 31 STATS и статистические данные 32, считанные из первого модуля 43 хранения данных, записывают во второй модуль 44 хранения данных (этап S27).
Далее, модуль 48 расчета степени уплотнения рассчитывает степень уплотнения данных 31 STATS и статистических данных 32 на основе размера данных для данных 31 STATS и статистических данных 32, распространенных в терминал 2 связи и результата контроля модуля 47 контроля полосы пропускания сети (этап S28). При этом модуль 48 расчета степени уплотнения уведомляет модуль 27 управления мультиплексированной асинхронной передачей данных терминала 2 связи о рассчитанной степени уплотнения.
Далее, модуль 49 разделения данных разделяет данные 31 STATS и статистические данные 32 в соответствии с рассчитанной степенью уплотнения (этап S30). Модуль 50 связи распространяет разделенные данные 31 STATS и статистические данные 32 в терминал 2 связи (этап S31).
Как описано выше, сервер 4 распространения может распространять данные 31 STATS и статистические данные 32, имеющие большой размер данных, в терминал 2 связи после разделения и мультиплексирования данных 31 STATS и статистических данных 32. Однако главные данные, имеющие малый размер данных или тому подобное, непосредственно распространяются в терминал 2 связи без их разделения.
В системе 1 распространения данных в соответствии с описанным выше первым вариантом осуществления данные 31 STATS, сформированные на основе фактически снятых видеоданных, и статистические данные 32, полученные в результате дискретизации/статистического анализа данных 31 STATS, могут распространяться в терминал 2 связи через Интернет или тому подобное. При этом можно разделять данные 31 STATS и статистические данные 32 в зависимости от полосы пропускания сети, размера данных файла и т.п. и распространять сеанс в терминал 2 связи путем мультиплексирования сеанса. Таким образом, обеспечивается полезный результат, заключающийся в том, что данные 31 STATS и статистические данные 32 могут распространяться путем эффективного и максимального использования полосы пропускания сети линии связи.
Данные 31 STATS и статистические данные 32 распространяют в терминал 2 связи в формате STATS, показанном на фиг.3. Как описано выше, формат файла для распространения данных 31 STATS и статистических данных 32 определен таким образом, что терминал 2 связи может использовать статистические данные 32, предварительно сформированные сервером 4 распространения. В результате обеспечивается полезный результат, состоящий в том, что терминалу 2 связи нет необходимости анализировать статистические данные 32 на основе данных 31 STATS с использованием своего собственного устройства, и при этом можно уменьшить нагрузку на обработку терминала 2 связи.
2. Второй вариант осуществления
Далее, со ссылкой на фиг.7 будет описан второй вариант осуществления настоящего изобретения.
В этом варианте осуществления также будет описан пример, применяемый для системы 1 распространения данных, имеющей терминал 2 связи и сервер 4 распространения. В следующем описании теми же номерами ссылочных позиций обозначены части, соответствующие фиг.1 и 4, описанным выше, в первом варианте осуществления, и их подробное описание исключено.
Пример обработки распространения данных
Ниже будет описан пример обработки, в котором терминал 2 связи принимает данные 31 STATS и статистические данные 32 от сервера 4 распространения.
На фиг.7 показана схема последовательности, представляющая пример обработки распространения данных.
Вначале сервер 4 распространения динамически определяет размер данных, предназначенных для немедленного распространения, с учетом размера данных всего количества файлов, предназначенных для распространения, полосы пропускания, MTU и т.п.
Далее, сервер 4 распространения разделяет первые данные 71 STATS, вторые данные 72 STATS и статистические данные 73 на три части (этап S41) и, соответственно, формирует разделенные данные 71-1 - 71-3, 72-1 - 72-3 и 73-1 - 73-3.
Далее, разделенные данные последовательно распространяются в первый поток 74а - в третий поток 74с.
Сервер 4 распространения распространяет разделенные данные 71-1 в первый поток 74а (этап S42) и распространяет разделенные данные 72-1 во второй поток 74b (этап S43). Сервер 4 распространения распространяет разделенные данные 73-1 в третий поток 74с (этап S44).
После этого, аналогично, сервер 4 распространения распространяет разделенные данные 72-1 в первый поток 74а, распространяет разделенные данные 72-2 во второй поток 74b и распространяет разделенные данные 73-2 в третий поток 74с.
Далее, сервер 4 распространения распространяет разделенные данные 71-3 в первый поток 74а (этап S45). После этого, аналогично, сервер 4 распространения распространяет разделенные данные 72-3 во второй поток 74b (этап S46) и распространяет разделенные данные 73-3 в третий поток 74с (этап S47).
В этом примере сервер 4 распространения уведомляет первый поток 74а - третий поток 74с об информации, указывающей, что распространение всех разделенных данных было завершено, при обработке на каждом из этапов S45, S46 и S47. Первый поток 74а передает принятые разделенные данные 71-1 - 71-3 в модуль 29 комбинирования данных.
В этом примере модуль 29 комбинирования данных откладывает комбинирование данных до тех пор, пока не будет закончен прием разделенных данных для всех данных (первые данные 71 STATS, вторые данные 72 STATS и статистические данные 73). Таким образом, второй поток 74b передает принятые разделенные данные 72-1 - 72-3 в модуль комбинирования данных 29 (этап S48). Третий поток 74 с передает принятые разделенные данные 73-1 - 73-3 в модуль 29 комбинирования данных (этап S49).
Далее, модуль 29 комбинирования данных комбинирует разделенные данные 71-1 -71-3, 72-1 - 72-3 и 73-1 - 73-3 (этап S51) и восстанавливает первые данные 71 STATS, вторые данные 72 STATS и статистические данные 73. Модуль 29 комбинирования данных сохраняет первые данные 71 STATS, вторые данные 72 STATS и статистические данные 73 в третьем модуле 30 хранения данных.
Далее, модуль 25 управления кэшем начинает обработку предоставления модулю 23 генерирования служебного UI с первыми данными 71 STATS, вторыми данными 72 STATS и статистическими данными 73, восстановленными модулем 29 комбинирования данных или тому подобным (этап S52).
В системе 1 распространения данных в соответствии с описанным выше вторым вариантом осуществления терминал 2 связи откладывает начало обработки до тех пор, пока все потоки не примут все разделенные данные 31 STATS и статистические данные 32. Таким образом, обеспечивается полезный результат, состоящий в том, что максимально используется сетевой ресурс, в результате разделения данных и приема данных в режиме асинхронного мультиплексирования, и обработка приема данных может быть выполнена с более высокой скоростью, чем при получении их в одном сеансе. Обработка в соответствии с данным вариантом осуществления используется, когда приложение работает так, что терминал 2 связи не начинает обработку, пока все потоки не получат все данные. Например, в данном приложении, движение каждого игрока отображают на экране на основе информации о положении игроков домашней команды и гостевой команды. Когда работает данное приложение, отображение является бессмысленным, поскольку движения игроков гостевой команды не отражаются, даже когда только движения игроков домашней команды отображают на экране в результате предварительного завершения приема информации о положении игроков домашней команды. Таким образом, становится возможным одновременно отображать движение игроков домашней команды и гостевой команды на экране путем начала обработки после приема информации о положении игроков домашней команды и гостевой команды во всех потоках.
3. Модифицированный пример
В системе 1 распространения данных в соответствии с описанными выше первым и вторым вариантами осуществления момент времени, когда получают данные 31 STATS, не ограничен. Таким образом, данные 31 STATS и статистические данные 32 могут распространяться путем задержки данных приблизительно на несколько часов от момента, когда игра была проведена фактически. Однако предпочтительно, чтобы результат игры, представленный на отдельном сайте, также был бы известен для другого сайта в режиме реального времени. В этом случае предпочтительно, чтобы сервер 4 распространения обрабатывал принимаемые данные 31 STATS в режиме реального времени и формировал статистические данные 32 для передачи этих статистических данных 32 в терминал 2 связи. Таким образом, обеспечивается полезный результат, состоящий в том, что сервер 4 распространения может распространять ситуации матчей на множестве сайтов в терминал 2 связи в режиме реального времени, и при этом улучшается свойство быстрой связи.
Носитель записи, на котором записаны программные коды для выполнения функций описанных выше первого и второго вариантов осуществления, может быть обеспечен в системе или устройстве. Конечно, функции также могут быть реализованы, когда компьютер системы или устройства (или устройство управления, такое как CPU) считывает и выполняет программные коды, хранящиеся на носителе записи.
В этом случае, например, гибкий диск (зарегистрированный товарный знак), жесткий диск, оптический диск, магнитооптический диск, CD-ROM, CD-R, магнитную ленту, энергонезависимую карту памяти, ROM и т.п. можно использовать как носитель записи для предоставления программных кодов.
Функции описанных выше вариантов осуществления реализованы путем выполнения программных кодов, считываемых компьютером. Кроме того, OS, работающая в компьютере или тому подобное, может частично или полностью выполнять фактическую обработку на основе команд программных кодов. Случай, когда функции описанных выше вариантов осуществления реализуются в результате их обработки, также включен.
Предпочтительные варианты осуществления настоящего изобретения были описаны выше со ссылкой на приложенные чертежи, хотя настоящее изобретение, конечно, не ограничено описанными выше примерами. Специалист в данной области техники может найти различное изменение и модификации в приделах объема приложенной формулы изобретения, и при этом следует понимать, что они естественно попадают в технический объем настоящего изобретения.