СПОСОБ РАСПРЕДЕЛЕНИЯ И ХРАНЕНИЯ ШИРОКОВЕЩАТЕЛЬНЫХ ПРОГРАММ
DISTRIBUTION AND STORAGE OF BROADCAST TRANSMISSIONS

Область техники, к которой относится изобретение
Настоящее изобретение в целом относится к распределению и хранению телевизионных или широковещательных программ.
Уровень техники
IPTV представляет собой основанную на Интернет-протоколе технологию для распределения телевизионных программ. В разнообразных службах IPTV клиент может, к примеру, сохранить желаемые телевизионные программы в пространстве для хранения в сети и посмотреть их в свободно выбранное время.
Программы, подлежащие сохранению, могут быть выбраны из программы передач, например, так, что система сохраняет выбранную программу из программы передач на основе информации, заданной в программе передач (например, времени показа). Обычно добавляется небольшой запас в начале и в конце сохранения по отношению к времени передачи, указанному в программе передач. В данном решении, однако, клиент может выбрать для сохранения только целые программы, и клиент не имеет возможности влиять на автоматически добавляемый запас, устанавливаемый системой, на начальное и конечное время или, например, на название записи, например.
US2005/0183120 раскрывает многопользовательскую систему сохранения, расположенную в сети, в которой медиаданные для хранения сохраняются в небольших блоках. Блоки могут быть длиной, например, несколько минут или короче.
Раскрытие изобретения
В данном документе предлагается другая система сохранения.
Первый аспект изобретения предлагает способ распределения широковещательных программ по клиентским устройствам. Способ включает прием широковещательной программы из одного или нескольких источников; распределение принятой широковещательной программы по клиентским устройствам через сеть связи; сохранение принятых широковещательных программ и распределение сохраненных широковещательных программ по клиентским устройствам в свободно выбранное время. Способ также включает сохранение принятых широковещательных программ в качестве клипов заранее определенной длины в долговременном хранилище данных и кратковременном хранилище данных, причем длина клипов, сохраненных в долговременном хранилище данных, превышает длину клипов, сохраненных в кратковременном хранилище данных.
В одном из вариантов осуществления изобретения клипы заранее определенной длины имеют стандартную длину. В другом варианте осуществления клипы заранее определенной длины имеют переменную длину.
В одном из вариантов осуществления изобретения способ дополнительно включает сохранение идентификационной информации, относящейся к сохраненным клипам.
В одном из вариантов осуществления изобретения способ дополнительно включает прием запросов на сохранение широковещательной программы от клиентских устройств, причем запросы на сохранение индивидуальны для пользователя.
В одном из вариантов осуществления изобретения сохранение широковещательных программ происходит только в соответствии с запросами на сохранение.
В одном из вариантов осуществления изобретения запрос на сохранение задает определенный временной интервал.
В одном из вариантов осуществления изобретения клиентским устройствам предоставлена возможность изменить временной интервал сделанного ранее запроса на сохранение, индивидуального для пользователя.
В одном из вариантов осуществления изобретения запрос на сохранение относится к кратковременной остановке широковещательной программы в реальном времени.
В одном из вариантов осуществления изобретения способ дополнительно включает прием запроса на показ, относящегося к широковещательной программе, от клиентского устройства; составление запрошенной широковещательной программы из клипов, сохраненных в указанных долговременном и/или кратковременном хранилище данных; и доставку запрошенной широковещательной программы.
В одном из вариантов осуществления изобретения по меньшей мере часть запрошенной широковещательной программы составлена из клипов, сохраненных в кратковременном хранилище данных, если запрошенная широковещательная программа недоступна в долговременном хранилище данных.
Второй аспект изобретения предлагает устройство для распределения широковещательных программ по клиентским устройствам, выполненное с возможностью приема широковещательной программы из одного или нескольких источников; распределения принятой широковещательной программы по клиентским устройствам через сеть связи; сохранения принятых широковещательных программ и распределения сохраненных широковещательных программ по клиентским устройствам в свободно выбираемое время. Кроме того, устройство выполнено с возможностью сохранения принятых широковещательных программ в качестве клипов заранее определенной длины в долговременном хранилище данных и в кратковременном хранилище данных, причем длина клипов, сохраненных в долговременном хранилище данных, превышает длину клипов, сохраненных в кратковременном хранилище данных.
Устройство в соответствии со вторым аспектом изобретения может быть выполнено с возможностью осуществления способа в соответствии с любым вариантом осуществления, относящимся к первому аспекту.
Третий аспект изобретения предлагает компьютерную программу, которая содержит исполняемый на компьютере программный код, который при исполнении управляет устройством для осуществления способа в соответствии с первым аспектом или вариантом осуществления, относящимся к нему.
Компьютерная программа в соответствии с третьим аспектом может содержать программный код, исполняемый любым элементом, например, из следующих: многоцелевой процессор, микропроцессор, специализированная интегральная схема (ASIC) и цифровой сигнальный процессор. Компьютерная программа в соответствии с третьим аспектом может храниться на машиночитаемом носителе данных. Такой носитель может представлять собой дискету, CD-ROM, DVD, BD (Blue-ray Disk), Memory Stick или другой магнитный или оптический носитель данных.
Краткое описание чертежей
Изобретение описано ниже с помощью примеров со ссылками на приложенные чертежи.
Фиг.1 иллюстрирует систему в соответствии с вариантом осуществления изобретения.
Фиг.2 иллюстрирует устройство в соответствии с другим вариантом осуществления изобретения.
Фиг.3-5 иллюстрируют способы в соответствии с некоторыми вариантами осуществления изобретения.
Осуществление изобретения
Фиг.1 иллюстрирует систему в соответствии с вариантом исполнения изобретения. Система включает сервер 11, предоставляющий службу IPTV или сходную с ней. Кроме того, система содержит два сервера 9, 10, выполненных с возможностью приема широковещательной программы 12. Программа 12, которую принимают серверы, содержит, например, телевизионные каналы из одного или нескольких источников. Программа может представлять собой программу в видеоформате MPEG-2 TS, например.
Сервер 11 соединен с хранилищем 13 данных, предназначенным для долговременного хранения, и с хранилищем 14 данных, предназначенным для кратковременного хранения, а также с базой 19 данных. Серверы 9, 10 и 11 выполнены с возможностью сохранения принятой широковещательной программы 12 в хранилищах 13, 14 данных.
Сервер 11 соединен с сетью 15 передачи данных и через нее с клиентскими устройствами 16. Сеть 15 передачи данных может состоять из нескольких разных сетей, таких как Интернет и различные широкополосные сети, такие как сети ADSL, VDSL и Ethernet и беспроводные сети, такие как сети WLAN, GSM, UMTS и LTE. Клиентские устройства 16 могут быть телевизионными приставками, или компьютерами, или беспроводными оконечными устройствами (терминалами) или другими устройствами, подходящими для просмотра движущихся изображений/видео. Сервер 11 выполнен с возможностью распределения широковещательной программы 12, сохраненной в хранилищах 13 и 14 данных, по клиентским устройствам 16 через сеть 15 передачи данных на основе технологии IPTV, например.
Распределение может быть выполнено, например, путем использования потокового протокола реального времени (RTSP) или протокола передачи гипертекста (HTTP).
Серверы 9 и 10 выполнены с возможностью сохранения принятой ими широковещательной программы 12 в базах 13 и 14 данных в виде клипов (фрагментов) заранее определенной длины, так, чтобы длина клипов 17_1…17_m, подлежащих сохранению в базе 13 данных, предназначенной для долговременного хранения, превышала длину клипов 18_1…18_n, подлежащих сохранению в базе 14 данных, предназначенной для кратковременного хранения. Клипы, подлежащие сохранению, могут быть стандартной длины или же их длина может изменяться на основе времени и/или содержания программы, например. Длина клипов 17_1…17_m, подлежащих сохранению в базе 13 данных, предназначенной для долговременного хранения, может быть равна, например, 5 минутам, 10 минутам, 30 минутам или одному или нескольким часам. Длина клипов 18_1…18_n, подлежащих сохранению в базе 14 данных 14, предназначенной для кратковременного хранения, может быть равна, например, 1 секунде, 5 секундам, 30 секундам, 1 минуте или нескольким минутам. Другие длины также возможны. В дополнение, серверы 9 и 10 могут сохранять идентификационную информацию о клипах, сохраненных в хранилищах 13 и 14 данных в базе 19 данных, при этом данная идентификационная информация содержит, например, канал, начальное и конечное время и длину клипа. Другими словами, серверы 9 и 10 передают программу 12, принятую ими, в хранилища 13 и 14 данных и обновляют информацию о сохранении в базе 19 данных. Например, информация «TV1, 1:05 p.m. до 1:10 p.m, готово к отправке клиентам» может быть сохранена в базе 19 данных.
Сервер 11 выполнен с возможностью считывания из базы 19 данных, какие клипы были сохранены в хранилищах 13 и 14 данных. Сервер 11 также может отвечать за аутентификацию и авторизацию клиентских устройств 16.
В одном варианте осуществления изобретения вся принятая широковещательная программа 12 сохраняется в хранилищах 13 и 14 данных. В другом варианте осуществления изобретения в хранилищах 13 и 14 данных сохраняется только та часть широковещательной программы 12, для которой было запрошено сохранение. Сервер 11 также может быть выполнен с возможностью приема запросов на сохранение от клиентских устройств 16 и управления серверами 9 и 10 с целью сохранения программ, для которых было запрошено сохранение.
В варианте осуществления изобретения база 14 данных, предназначенная для кратковременного хранения, является кольцевым буфером. Длина буфера может составлять 36, 24, 12, 8 или 6 часов, например. Другие длины также возможны. Программа может хараниться в буфере все время или только согласно необходимости/в соответствии с запросами, полученными от клиентских устройств. Непрерывное хранение в кратковременной базе данных дает возможность сдвига времени (задержки программы в прямом эфире), производимого на сервере.
Следует заметить, что на фиг.1 показан только один сервер 11, но также может присутствовать несколько параллельных серверов с одинаковой функциональностью в целях балансирования нагрузки, например. Также может присутствовать несколько серверов 9 и 10. В качестве альтернативы, функциональность серверов 9 и 10 может быть объединена в одной логической системе, реализованной одним физическим устройством (или несколькими сходными параллельными устройствами). В другом альтернативном варианте сервер 11 представляет собой отдельный сервер, а функциональность серверов 9 и 10 скомбинирована в одном сервере. Разные серверы могут осуществлять связь друг с другом. Например, сервер 11 может управлять серверами 9 и 10 для получения определенной программы.
Хранилища 13 и 14 данных и база 19 данных на фигуре показаны как отдельные устройства, но в качестве альтернативы хранилища 13 и 14 данных и база 19 данных могут находиться на одном физическом сервере баз данных или же они могут быть частью сервера 11 или частью серверов 9 или 10. Соответственно, хранилища 13 и 14 данных и база 19 данных или что-то одно из них могут состоять из более чем одного физического устройства/сервера баз данных.
В варианте осуществления изобретения долговременное и кратковременное хранилища 13 и 14 данных находятся на отдельных серверах по причине разной сущности этих хранилищ данных.
Фиг.2 иллюстрирует пример устройства (20), которое пригодно для реализации некоторых вариантов осуществления изобретения. Устройство может быть, например, многоцелевым компьютером или сервером и может быть выполнено с возможностью функционирования в качестве сервера 9, 10 или 11 с фиг.1 или обеспечения функциональности одного или нескольких таких серверов.
Устройство 20 содержит процессор 21 для управления работой устройства и память 22, которая содержит компьютерную программу/программное обеспечение (ПО) 23. Компьютерное программное обеспечение может содержать инструкции для процессора для управления устройством 20, такие как операционную систему или разнообразные приложения, например. Кроме того, компьютерное программное обеспечение 23 может содержать приложение, которое содержит инструкции для управления устройством 20 так, чтобы обеспечивать функциональность какого-либо варианта осуществления изобретения.
Процессор 21 может быть, например, центральным процессором (CPU), цифровым сигнальным процессором (DSP), графическим процессором или похожим устройством. На фигуре показан один процессор, но устройство может иметь несколько процессоров.
Память может представлять собой, например, постоянное запоминающее устройство (ПЗУ), программируемое постоянное запоминающее устройство (ППЗУ), стираемое постоянное запоминающее устройство (СППЗУ), электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ), оперативное запоминающее устройство (ОЗУ), флеш-память, оптическую или магнитную память или сравнимое устройство. Устройство может иметь несколько устройств памяти. Память может быть частью устройства 20 или же она может быть отдельным модулем, который может быть соединен с устройством 20. Память может быть предназначена только для хранения данных или же она может быть также использована для обработки данных.
Кроме того, устройство 20 содержит блок 25 связи и широковещательный приемник 26. Блок связи обеспечивает интерфейс для связи с другими устройствами. Интерфейс может быть стационарным проводным соединением, таким как Ethernet-соединение или ADSL/VDSL-соединение, или беспроводным соединением, таким как WLAN, Bluetooth, GSM/GPRS, CDMA, WCDMA или LTE-соединение. Модуль интерфейса связи может быть включен в устройство 20 или же он может быть частью адаптера, карты или сравнимого устройства, которое может быть соединено с устройством 20. Блок связи может поддерживать одну или несколько технологий связи или же устройство может иметь несколько блоков связи. Широковещательный приемник 26 принимает широковещательную программу, такую как телевизионную программу, из одного или нескольких источников. Во всех вариантах осуществления изобретения устройство 20 не обязательно содержит широковещательный приемник. Например, в схеме на фиг.1 сервер 11 не обязательно содержит широковещательный приемник 26.
Для приема ввода от пользователя и для предоставления вывода пользователю устройство 20 может также содержать блок пользовательского интерфейса пользователя (не показан на фигуре), который может содержать, например, дисплей и клавиатуру (не показаны на фигуре), которые могут быть составной частью устройства 20 или независимыми частями, которые могут быть соединены с устройством 20. Однако пользовательский интерфейс не обязательно нужен или же пользовательский интерфейс может быть реализован как удаленное соединение через блок 25 связи.
Устройство 20 может также включать одну или несколько баз 24 данных (показаны штриховой линией). Базы данных могут содержать, например, хранилища 13 и 14 данных и базу 19 данных с фиг.1 или некоторые из них.
В дополнение к элементам, показанным на фиг.2, устройство 20 может также содержать другие элементы.
Фиг.3-5 иллюстрируют способы в соответствии с некоторыми вариантами осуществления, данные способы могут быть применены к системе на фиг.1, например, и по меньшей мере частично на серверах 9, 10 и 11.
На фиг.3 запрос на сохранение принимается от клиентского устройства на шаге 31. Запрос на сохранение проходит аутентификацию (проверку пользователя) и авторизацию (подтверждение права на доступ) на шаге 32. Информация, необходимая для аутентификации и авторизации, может храниться в базе 19 данных с фиг.1, например. Запрос на сохранение может содержать, например, следующую информацию: канал, время, возможно, информацию о программе. Запрос на сохранение добавляется в базу данных на шаге 33. Например, сервер 11 с фиг.1 добавляет запрос на сохранение в базу 19 данных. Запрос на сохранение является индивидуальным для пользователя и сохраняется индивидуальным для пользователя образом. Однако фактическая запись общая для всех пользователей; другими словами, не делается нескольких копий самой записи, но индивидуальным для пользователя являются точный временной интервал и, возможно, имя, определенное самим пользователем, и пользователь имеет возможность изменить их позже. В варианте осуществления изобретения запрос на сохранение может иметь отношение только к будущим программам. В другом варианте осуществления изобретения запрос на сохранение может также иметь отношение к уже прошедшим программам, сохраненным ранее. Это возможно, к примеру, если система сохраняет все программы.
Если система сохраняет только клипы, в отношении которых сохранение было запрошено, на шаге 33 может быть проверено, запросил ли уже кто-нибудь еще все запрошенные клипы (канал и временной интервал) для сохранения. Если это так, фактический запрос на сохранение клипов, о которых идет речь, делать не нужно, так как уже было определено, что данные клипы нужно сохранить. В этом случае достаточно сохранения индивидуальной для пользователя информации о сохранении. В другом варианте осуществления изобретения система считывает сохраненные запросы на сохранение (например, серверы 9 и 10 считывают запросы на сохранение из базы 19 данных, и запись размещается в хранилище данных, если в отношении нее были сделаны один или несколько запросов.
На фиг.4 программа принимается на шаге 41; принятая программа сохраняется в качестве клипов в долговременном хранилище данных и/или кратковременном хранилище данных на шаге 42. Когда определенный клип был принят и сохранен, идентификационная информация, относящаяся к клипу, о котором идет речь, сохраняется на шаге 42. Идентификационная информация может содержать, например, канал, начальное и конечное время и длину клипа и, возможно, также информацию об индексировании клипа. На основе этой идентификационной информации система находит необходимые клипы в хранилище (хранилищах) данных. В варианте осуществления изобретения программа сохранятся все время в обеих хранилищах. В другом варианте осуществления изобретения программа сохраняется все время только в кратковременном хранилище данных, и только те клипы, которые были запрошены для сохранения, сохраняются в долговременном хранилище данных. Если нужно, в кратковременном хранилище данных также возможно сохранять только клипы, в отношении которых было запрошено сохранение. Например, сервер 11 на фиг.1 может хранить информацию о клипах, в отношении которых было запрошено сохранение, в базе 19 данных, и серверы 9 и 10 могут считывать из базы 19 данных, какие клипы должны быть сохранены.
На фиг.5 запрос на показ записи принимается от клиентского устройства на шаге 51. Запрос на показ аутентифицируется (проверка пользователя) и авторизуется (подтверждение права на доступ) на шаге 52. Информация, необходимая для аутентификации и авторизации может храниться в базе 19 данных с фиг.1, например. На шаге 53 запрошенная программа принимается из долговременного и/или кратковременного хранилища данных, и на шаге 54 запрошенная программа доставляется по сети связи клиентскому устройству, которое отправило запрос на показ.
Если запрошенная программа или ее часть не найдена в долговременном хранилище данных, она может быть получена из кратковременного хранилища данных. Это позволяет, например, начать смотреть запись в середине сохранения. Если клиент хочет начать смотреть запись до того, как она будет в долговременном хранилище данных полностью, запись может быть доставлена на клиентское устройство из кратковременного хранилища данных. Таким образом, длины клипов, подлежащих сохранению в долговременном хранилище данных, не ограничивают начальное время просмотра.
В варианте осуществления изобретения клипы, подлежащие сохранению в долговременном хранилище данных, индексируются, после чего система знает байтовые адреса желаемых отметок времени в клипе. В этом случае сервер программ, такой как сервер 11 с фиг.1, может начать считывать сохраненный клип с середины клипа. Сервер знает, к примеру, по какому байтовому адресу находится 35 мин 20 с в клипе длиной один час.
Разные варианты осуществления изобретения позволяют пользователю сделать свободную по времени и по имени сетевую запись. Кроме того, пользователь может начать смотреть запись до конца ее времени/сохранения. Кроме того, пользователю может быть предоставлена возможность добавить ограничивающие данные в существующую запись, на основании которых сервер определяет данные, которые должны быть отправлены пользователю. Индексирование сохраненных клипов, среди прочего, позволяет реализовать ограничивающие данные, упомянутые выше. Индексирование позволяет реализовать свободно выбираемые ограничивающие данные. Однако даже без индексирования возможно дать пользователю возможность ограничивать запись в пределах границ длины клипов, сохраненных в долговременном хранилище данных. Если длина клипов равна 5 минутам, например, пользователь может ограничить свою запись кратными 5 минутам отрезками; другими словами, пользователь может отбросить, например, 5, 10 или 15 минут от записи.
В варианте осуществления изобретения клипы, подлежащие сохранению в хранилищах данных, имеют стандартную длину. В другом варианте осуществления изобретения длина клипов, подлежащих сохранению в хранилищах данных, может меняться. Вариант осуществления изобретения, где система сохраняет информацию о длинах сохраненных клипов в базе данных (например, в базе 19 данных с фиг.1) позволяет использовать клипы переменной длины. Длины клипов могут изменяться на основе некоторого заранее определенного критерия, такого как время суток или содержание записи, например. Обычно много программ длительностью в полчаса показывают ранним вечером, а фильмы показывают поздним вечером, так что более эффективным может быть использование в течение раннего вечера более коротких клипов по сравнению с поздним вечером.
Описание, данное выше, дает не ограничивающие примеры некоторых вариантов осуществления изобретения. Специалистам в данной области техники должно быть очевидно, что изобретение не ограничено деталями, представленными выше, но что изобретение может быть также осуществлено другими равносильными способами. Например, должно быть очевидно, что в вышеописанных способах порядок отдельных шагов способа может быть изменен, и некоторые шаги могут быть повторены несколько раз или полностью опущены. Также следует понимать, что термины «содержать» и «включать», использованные в данном документе, являются открытыми выражениями и не служат для какого-либо ограничения.
В дополнение, некоторые признаки представленных вариантов осуществления изобретения могут быть использованы без применения других признаков. Описание выше должно рассматриваться как объяснение принципов изобретения и не ограничивает изобретение. Объем охраны изобретения ограничивается только приложенной формулой изобретения.