СИСТЕМА И СПОСОБ УЛУЧШЕНИЯ РАБОТЫ МЕДИАСЕРВЕРА
SYSTEM AND METHOD FOR IMPROVING OPERATION OF MEDIA SERVER

Область техники
Данное изобретение относится к технологии универсальной автоматической настройки сетевых устройств (UPnP, Universal Plug and Play), и, в частности, к использованию медиасерверов в среде UPnP.
Предпосылки создания изобретения
Данный раздел служит для описания предпосылок создания изобретения, изложенного в формуле изобретения. Данный раздел может включать принципы, которым можно следовать, но не обязательно те, которым следовали до этого. Следовательно, если не указано иное, в данном разделе не описывается известный уровень техники для изобретения, которое раскрыто в описании и формуле.
Технология UPnP определяет архитектуру для всеобъемлющего однорангового сетевого соединения интеллектуальных бытовых устройств, беспроводных устройств и персональных компьютеров любого типа. Технология UPnP была разработана для обеспечения простой в использовании, гибкой возможности подключения к специализированным или нерегулируемым сетям дома, в малом бизнесе, общественных местах или местах с подключением к Интернету. Технология UPnP обеспечивает распределенную архитектуру создания открытых сетей, которая повышает эффективность использования технологии протокола управления передачей/протокола Интернет (Transmission Control Protocol/Internet Protocol, TCP/IP) и Web-технологии для предоставления легкого присоединения соседних сетей, помимо управления и передачи данных между устройствами сети.
Архитектура устройств UPnP (UPnP Device Architecture, UDA) была разработана для обеспечения автоматического "невидимого" построения сети без реконфигурации и автоматического обнаружения широкого класса устройств от различных поставщиков. Иначе говоря, технология UPnP позволяет устройству динамически подключаться к сети, получать IP-адрес, сообщать свои характеристики и узнавать о наличии других устройств и их характеристиках.
Медиасервер UPnP определяет объект UPnP, который может предоставлять мультимедиа для использования и воспроизведения различными устройствами. Такой медиасервер имеет блок управления контентом, который показывает, какие виды контента могут предоставляться медиасервером.
Сущность изобретения
В различных вариантах осуществления изобретения предлагаются система и способ, с помощью которых может быть улучшена работа медиасервера, а также новый параметр действия для ресурсоемких операций, таких как просмотр и CreateObject (создание объекта). Этот новый параметр может использоваться пунктом управления как "подсказка", чтобы информировать устройство о предстоящем действии, а также позволяет медиасерверу оптимизировать свои операции, например, путем повышения приоритета процессов сервера, планированием операций технического обслуживания так, чтобы они происходили позже, и т.п. Информация, относящаяся к действию, может предоставляться пунктом управления (control point), который управляет мультимедийными действиями в домашней сети.
В различных вариантах осуществления изобретения предлагаются способ, программный продукт и устройство для улучшения рабочих характеристик серверного устройства. Согласно различным вариантам осуществления изобретения, в серверном устройстве принимается сообщение, касающееся запроса, сделанного устройством пункта управления. Это сообщение включает указание на то, что устройством пункта управления будут сделаны последующие связанные запросы. Первый набор результатов возвращается в устройство пункта управления в ответ на запрос, и по меньшей мере одно ответное действие выполняется в ответ на указание. Одно ответное действие относится по меньшей мере к улучшению использования ресурсов в серверном устройстве в течение по меньшей мере того периода, в котором ожидаются последующие связанные запросы.
В различных вариантах осуществления изобретения также предлагаются способ, программный продукт и устройство для улучшения рабочих характеристик серверного устройства. Сначала определяется то, что устройство пункта управления намеревается выполнить множество связанных запросов, направляемых в серверное устройство. В ответ на это определение подготавливается сообщение, касающееся конкретного запроса. Сообщение включает указание на то, что будут сделаны последующие связанные запросы. Сообщение затем передается серверному устройству, который может использовать упомянутое указание при выполнении по меньшей мере одного ответного действия в ответ на это указание. По меньшей мере одно такое действие связано с улучшением использования ресурсов в серверном устройстве в течение по меньшей мере того периода, в котором ожидаются последующие связанные запросы.
Преимущества и отличительные признаки различных вариантов осуществления данного изобретения, его организация и способ работы станут понятны из последующего подробного описания и приложенных чертежей, на которых аналогичные элементы обозначены одинаковыми числами. Кроме того, может предоставляться механизм, посредством которого владелец медиасервера может быть извещен о том, что должно начаться выполнение задачи, требующей большого объема обработки.
Краткое описание чертежей
На фиг.1 представлена схема потока сообщений, передаваемых между устройством пункта управления и устройством медиасервера при выполнении обычной операции просмотра.
На фиг.2 представлена схема потока сообщений, передаваемых между устройством пункта управления и устройством медиасервера в соответствии с вариантами осуществления изобретения.
На фиг.3 представлена схема потока сообщений, иллюстрирующая, как конечный пользователь устройства медиасервера может быть информирован о последовательной операции CreateObject согласно различным вариантам осуществления изобретения.
На фиг.4 представлена общая схема системы, в которой могут быть реализованы различные варианты осуществления данного изобретения.
На фиг.5 представлено в перспективе изображение электронного устройства, которое может использоваться в связи с реализацией различных вариантов осуществления данного изобретения.
На фиг.6 дано общее представление схем, которые могут быть включены в состав электронного устройства, показанного на фиг.5.
Подробное описание изобретения
В различных вариантах осуществления изобретения предлагаются система и способ для улучшения работы медиасервера. Если медиасервер реализован в устройстве с ограниченными ресурсами, то появление ресурсоемких операций на медиасервере может приводить к искаженным операциям и общему ухудшению работы для пользователя. Это может особенно сильно проявляться в случае, если запрашивается новая операция в то время, когда устройство уже обрабатывает ресурсоемкие задачи.
В различных вариантах осуществления изобретения пункт управления, который связан с медиасервером, может подавать на медиасервер "подсказку" о том, что будут последовательные операции. В ответ устройство медиасервера или другое приемное устройство может использовать эту информацию для лучшей оптимизации своих внутренних операций. Например, в случае реализации на медиасервере хранилища метаданных на основе языка структурированных запросов (Structured Query Language, SQL), часто будет требоваться много времени машинной обработки для каждой отдельной операции "чтения" из базы данных SQL. Следовательно, если пункт управления может подсказать медиасерверу, что в ближайшее время будет несколько запросов на просмотр, то медиасервер может регулировать свои собственные операции так, чтобы задержать другую обработку в течение того времени, когда ожидаются последующие запросы. Это может давать в результате более короткий период задержки при связи между пунктом управления и медиасервером и, таким образом, улучшение работы для пользователя. Это также может приводить к улучшению работы для конечного пользователя устройства мультимедиа сервиса, так как он может решить отложить некоторые операции обработки до тех пор, пока пункт управления не примет всю информацию, которую он запросил.
На фиг.1 представлена схема потока сообщений, передаваемых между устройством 100 пункта управления и устройством 105 медиасервера при выполнении обычной операции просмотра. Как показано на фиг.1, устройство 100 пункта управления содержит интерфейс 110 пользователя, подключенный к пункту 115 управления. Устройство медиасервера содержит медиасервер 120, связанный с базой 125 данных. База 125 данных может содержать различные виды мультимедийных данных, включая, например, аудио-, видеоданные, графические данные, цифровые фотографии и их комбинации.
Процесс на фиг.1 иллюстрирует ситуацию обычного просмотра, в которой приложение интерфейса пользователя используется для запроса контента малыми порциями в соответствии со спецификациями UPnP/ DLNA (Digital Living Network Alliance, Стандарт цифровой домашней сети). Малые порции данных используются для поддержания короткого периода задержки и во избежание пиков нагрузки сети. На шаге 130 на фиг.1 запрос первой страницы элементов передается от интерфейса 110 пользователя на пункт 115 управления. В ответ на этот запрос сообщение "просмотр" передается из пункта 115 управления на медиасервер на шаге 135. В этом конкретном примере сообщение принимает следующую форму: Browse ("8", "BrowseDirectChildren", "*", 0, 10, ''''). Это указывает на то, что первые 10 результатов запроса "просмотр" должны быть возвращены в пункт 115 управления. В ответ на это сообщение дополнительное сообщение запроса передается от медиасервера 120 в базу 125 данных на шаге 140. В реализации на основе языка SQL это сообщение может иметь форму оператора SQL SELECT. Соответствующие данные возвращаются на медиасервер 120 на шаге 145 как часть сообщения "возврат данных". На шаге 150 набор результатов передается в пункт 115 управления как часть сообщения: набор результатов просмотра (10 элементов начиная с индекса 0). Это означает, что включены первые 10 результатов запроса "просмотр". Набор результатов затем подается на интерфейс 105 пользователя на шаге 155. Этот набор результатов затем может быть показан пользователю. Процесс затем повторяется для последующих страниц результатов, то есть следующая серия сообщений вызывает подачу на интерфейс 110 пользователя следующих десяти результатов, за которыми следуют следующие результаты и т.д. Этот процесс продолжается до тех пор, пока все необходимые страницы результатов не будут доставлены в устройство 100 пункта управления и не будут поданы на интерфейс 110 пользователя.
Как можно заметить на фиг.1, серия сообщений, передаваемых к медиасерверу и от медиасервера 120, становится довольно ресурсоемкой. Поэтому в различных вариантах осуществления изобретения предлагается система и способ, посредством которых операции медиасервера могут быть улучшены. В различных вариантах осуществления изобретения предлагается новый параметр действия для ресурсоемких операций, таких как "просмотр" и "создание объекта". Новый параметр может использоваться пунктом управления как "подсказка", чтобы информировать устройство о предстоящем действии. Этот параметр позволяет медиасерверу оптимизировать свои операции, например, с помощью повышения приоритета процессов сервера, планирования операций технического обслуживания так, чтобы они могли происходить в более позднее время, и т.д. Информация, относящаяся к действию, может предоставляться пунктом управления, который подает команду на выполнение мультимедийных действий в домашней сети.
На фиг.2 представлена схема потока сообщений, передаваемых между устройством 100 пункта управления и устройством 105 медиасервера в первом случае применения сценария согласно различным вариантам осуществления изобретения. В различных вариантах осуществления изобретения сообщения между интерфейсом 110 пользователя и пунктом 115 управления в основном идентичны сообщениям, изображенным на фиг.1. Однако новое сообщение передается на шаге 200 из пункта 115 управления на медиасервер 120. Это сообщение содержит указание, информирующее медиасервер 125 о том, что устройство 100 пункта управления собирается запросить серию или последовательность страниц.
В варианте осуществления изобретения, изображенном на фиг.2, сообщение, передаваемое на шаге 200, содержит идентификатор "Последовательность". Идентификатор "Последовательность" указывает медиасерверу 120 на то, что от пункта 115 управления будут исходить несколько запросов на информацию, которые потребляют ресурсы и вычислительную мощность в медиасервере 120. Когда медиасервер 120 принимает сообщение, представленное на шаге 200 на фиг.2, он узнает о том, что он должен доставить несколько страниц информации в пункт 115 управления. Следовательно, медиасервер 120 может, например, получить и сохранить больший набор результатов поиска, чем необходимо для ответа на первый запрос от пункта 115 управления. Например, вместо выборки одной страницы информации на шагах 140 и 145, медиасервер 120 может получить пять страниц информации и сохранить эту информацию локально. В результате, когда пункт 115 управления запрашивает вторую, третью, четвертую и пятую страницы информации, медиасерверу 120 необходимо просто использовать первоначально выбранный и помещенный в кэш набор результатов (представленный на шаге 210) для ответа на запрос,. Это устраняет необходимость дополнительных обменов запросами и ответами между медиасервером 120 и базой 130 данных, таким образом сокращая задержку в обеспечении пункта 115 управления последующими запрашиваемыми страницами. Например, когда медиасервер 120 имеет хранилище метаданных на основе SQL, коэффициент эффективности для построения нескольких более малых наборов результатов может быть значительно ниже, чем в случае, когда более большой набор результатов запрашивается из базы данных SQL. В то же самое время "другие действия", которые должны быть выполнены медиасервером, могут быть задержаны, если необходимо, до того времени, когда вероятно не будет других запросов информации.
Конкретные способы использования идентификатора "Последовательность" могут быть различными. Они могут зависеть, например, от параметров настройки системы, предпочтений системы и команд пользователя. Как было упомянуто выше, медиасервер 120 может самостоятельно принять несколько решений в ответ на прием такого идентификатора в сообщении. Процесс принятия решения может зависеть от ряда установок по умолчанию, набора предпочтений владельца медиасервера 120 или комбинации того и другого. Дополнительно, когда такой идентификатор принимается медиасервером 120, возможно уведомление владельца медиасервера 120 об информации, связанной с этим идентификатором. Следует отметить, что хотя процесс, изображенный на фиг.2, включает использование идентификатора "Последовательность", могут быть другие виды указаний для медиасервера 120 в различных вариантах осуществления изобретения.
В дополнение к вышеописанному, возможно также то, что конечный пользователь устройства 105 медиасервера (например, в случае, когда устройство 105 медиасервера является также собственным мобильным телефоном конечного пользователя) может захотеть инициировать масштабное действие общей операции, критичной к рабочим характеристикам, в устройстве 105 медиасервера. Такая операция может создавать большой объем новых метаданных. Если конечный пользователь предупреждается в запросе пункта 115 управления о начале длительной последовательной операции, или о том, что она уже выполняется, то он может решить не начинать операцию до более позднего времени. В альтернативном варианте, если операция считается очень критичной к ресурсам, то программное обеспечение устройства медиасервера может назначить приоритет или скрыть операции в интерфейсе пользователя устройства медиасервера, пока происходит уже инициированная операция. Другие пункты управления в сети также могут получать информацию о происходящей в настоящее время операции посредством использования переменных состояния. Например, такие переменные могут указывать на то, создают ли существующие операции или нет какие-либо события текущей операции, и указания могут предоставляться в данный момент другим пользователям в сети.
На фиг.3 представлена схема потока сообщений, иллюстрирующая, как конечный пользователь устройства 105 медиасервера может информироваться об операции "Создание объекта" согласно различным вариантам осуществления изобретения. Как изображено на фиг.3, конечный пользователь может информироваться о характере осуществляемой операции (в запросе пункта 115 управления). Если конечный пользователь устройства 105 медиасервера хочет выполнить свои собственные ресурсоемкие операции, то тогда может быть целесообразно для конечного пользователя задержать эти операции до тех пор, пока не будут завершены другие операции. На шаге 315 на фиг.3 пункт 115 управления передает сообщение "Создание объекта", которое содержит идентификатор "Последовательность", указывающий на то, что будут передаваться многочисленные запросы и ответы между пунктом 115 управления и медиасервером 120. Понятно, однако, что идентификатор "Последовательность" может использоваться в связи с различными сообщениями, исходящими из пункта 115 управления.
На шаге 320 сообщение от медиасервера 120 передается в процессор 130 приложений, при этом сообщение указывает на то, что выполняется последовательное действие "Создание объекта". На шаге 325 процессор приложений информирует интерфейс 310 пользователя устройства медиасервера о том, что медиасервер 120 используется. В случае, когда конечный пользователь устройства 105 медиасервера хочет выполнить свою собственную ресурсоемкую задачу, такую как копирование большого файла-контейнера, он может решить задержать эту процедуру, приводящую к взаимодействиям между устройством 100 пункта управления и медиасервером 120. В альтернативном случае, если процедура уже в процессе исполнения, конечный пользователь может решить временно приостановить это действие.
После шага 325 устройство 100 пункта управления и устройство 105 медиасервера будут продолжать обмен запросами и ответами. Эти сообщения изображены на шагах 330 и 335, соответственно. Характер и временные соотношения сообщений могут изменяться. В качестве примера, сообщения могут принимать форму типов, изображенных на фиг.1 и 2. Когда устройство 100 пункта управления приняло всю информацию, которая ему необходима, оно передает конечное сообщение на шаге 340. Это сообщение включает информацию о том, что новые запросы поступать не будут. В варианте осуществления изобретения на фиг.3 эта информация передается посредством сообщения "Последовательность завершена". В ответ на эту информацию медиасервер 120 передает новое сообщение на сервер 300 приложений на шаге 345. В ответ на это сообщение на шаге 350 сервер 300 приложений передает на интерфейс 310 пользователя информацию о том, что медиасервер 120 более не используется. Поэтому конечный пользователь может решить копировать файл-контейнер (или возобновить его копирование), так как большее количество ресурсов будет доступно в устройстве 105 медиасервера. Поэтому конечный пользователь инициирует или возобновляет это действие на шаге 355.
Следует отметить также, что в сценарии, изображенном на фиг.3, поведение устройства 105 медиасервера также может быть зависеть от реализации. В частности, действительные операции устройства 105 медиасервера могут изменяться в некоторых вариантах осуществления изобретения в случае, когда поток операций между различными устройствами не осуществляется так, как это ожидается. Например, в случае, когда из пункта 115 управления не принимается сообщение "Последовательность завершена", но не принимаются новые сообщения "Создание объекта" в течение длительного периода времени, для медиасервера 120 возможна блокировка по превышению времени (тайм-аут), тем самым приводящая к сообщению для интерфейса 310 пользователя, что операция "Создание объекта", вероятно, закончена. Возможны также другие зависящие для реализации настройки поведения медиасервера 120.
На фиг.4 показана система 10, в которой могут использоваться различные варианты осуществления данного изобретения. Эта система содержит многочисленные устройства связи, которые могут осуществлять связь посредством одной или нескольких сетей. Система 10 может содержать любую комбинацию проводных или беспроводных сетей, включая следующие примеры, но не ограничиваясь ими: сеть мобильной телефонной связи, беспроводная локальная сеть (Local Area Network, LAN), персональная сеть Bluetooth, локальная сеть Ethernet, локальная сеть кольцевой структуры с передачей маркера, территориально распределенная сеть, Интернет и т.д. Система 10 может содержать как беспроводные, так и проводные устройства связи.
Для примера, система 10, показанная на фиг.4, содержит сеть 11 мобильной телефонной связи и Интернет 28. Подключение к Интернету 28 может включать в качестве неограничивающих примеров беспроводные подключения на дальние расстояния, беспроводные подключения на короткие расстояния и различные проводные подключения, включая в качестве неограничивающих примеров телефонные линии, кабельные линии, силовые линии и т.п.
Типовые устройства связи системы 10 могут включать в качестве неограничивающих примеров электронное устройство 12 в виде мобильного телефона, объединение персонального цифрового помощника (Personal Digital Assistant, PDA) и мобильного телефона 14, персональный цифровой помощник PDA 16, интегрированное устройство обмена сообщениями (Integrated Messaging Device, IMD) 18, настольный компьютер 20, ноутбук 22 и т.п. Устройства связи могут быть стационарными или мобильными, как в случае, когда они переносятся людьми. Устройства связи могут также располагаться в транспортном средстве, включая в качестве неограничивающих примеров легковой автомобиль, грузовой автомобиль, такси, автобус, поезд, корабль, самолет, велосипед, мотоцикл и т.д. Некоторые или все устройства связи могут передавать и принимать вызовы и сообщения и осуществлять связь с провайдером услуг через беспроводное подключение 25 к базовой станции 24. Базовая станция 24 может быть подключена к сетевому серверу 26, который позволяет осуществлять связь между сетью 11 мобильной телефонии и Интернетом 28. Система 10 может включать дополнительные устройства связи различных видов.
Устройства связи могут осуществлять связь с использованием различных технологий передачи, включая в качестве неограничивающих примеров множественный доступ с кодовым разделением каналов (Code Division Multiple Access, CDMA), глобальную систему мобильной связи (Global System for Mobile Communications, GSM), универсальную мобильную телекоммуникационную систему (Universal Mobile Telecommunications System, UMTS), множественный доступ с временным разделением каналов (Time Division Multiple Access, TDMA), множественный доступ с частотным разделением каналов (Frequency Division Multiple Access, FDMA), протокол управления передачей/протокол Интернет (Transmission Control Protocol/Internet Protocol, TCP/IP), службу обмена короткими сообщениями (Short Messaging Service, SMS), службу обмена мультимедийными сообщениями (Multimedia Messaging Service, MMS), электронную почту, службу мгновенной передачи сообщений (Instant Messaging Service, IMS), Bluetooth, IEEE 802.11 и т.д. Устройство связи, задействованные в реализации различных вариантов осуществления данного изобретения, может осуществлять связь с использованием различных сред, включая в качестве неограничивающих примеров радио, инфракрасное излучение, лазер, кабельное соединение и т.п.
На фиг.5 и 6 показано одно типовое электронное устройство 12, в котором может быть осуществлено данное изобретение. Понятно, однако, что настоящее изобретение не ограничено одним конкретным типом устройства. Электронное устройство 12 на фиг.5 и 6 содержит корпус 30, дисплей 32 выполненный в виде жидкокристаллического дисплея, клавиатуру 34, микрофон 36, динамик 38, батарею 40, инфракрасный порт 42, антенну 44, смарт-карту 46 в виде карты UICC (Universal Integrated Circuit Card, универсальная микропроцессорная карта) согласно одному из вариантов осуществления изобретения, устройство 48 считывания с карты, схему 52 радиоинтерфейса, схему 54 кодека, контроллер 56 и память 58. Все отдельные схемы и элементы являются известными устройствами и используются, например, в мобильных телефонах фирмы Nokia.
Различные варианты осуществления изобретения описаны в общем контексте шагов способа или обработки, которые могут быть реализованы в одном из вариантов осуществления в виде программного продукта на машиночитаемом носителе, содержащем исполняемые машинные команды, такие как программный код, выполняемый компьютерами в сетевых средах. Машиночитаемый носитель может включать съемные и несъемные запоминающие устройства, включая в качестве неограничивающих примеров постоянное запоминающее устройство (Read Only Memory, ROM), оперативное запоминающее устройство (Random Access Memory, RAM), компакт-диски (Compact Discs,CDs), цифровые универсальные диски (Digital Versatile Discs, DVDs) и т.п. В общем, программные модули могут включать процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Исполняемые машинные команды, связанные структуры данных и программные модули являются примерами программного кода для выполнения шагов описанных здесь способов. Конкретная последовательность таких исполняемых команд или связанные структуры данных представляют примеры соответствующих действий для реализации функций, определенных для шагов способов.
Варианты осуществления данного изобретения могут быть реализованы программными, аппаратными средствами и логикой приложения или комбинацией программных, аппаратных средств и логики приложения. Программные средства, логика приложения и/или аппаратные средства могут находиться, например, в наборе микросхем, мобильном устройстве, настольном компьютере, переносном компьютере или сервере. Программные и Web-реализации различных вариантов осуществления изобретения могут быть выполнены стандартными методами программирования с логикой на основе правил и другой логики для выполнения различных шагов или процессов поиска в базе данных, корреляции, сравнения или решения. Различные варианты осуществления изобретения также могут быть полностью или частично реализованы в сетевых элементах или модулях. Следует отметить, что слова "компонент" и "модуль", в том смысле, в каком они используется здесь и в формуле изобретения, предназначены для определения реализации, использующих одну или несколько строк программного кода и/или аппаратные реализации, и/или оборудование для приема данных, вводимых вручную.
Отдельные и конкретные структуры, описанные в вышеприведенных примерах, следует понимать как образующие типовые структуры средств для выполнения конкретных функций, описанных в нижеследующей формуле изобретения, хотя признаки формулы изобретения не должны истолковываться как "средство плюс функция" в случае, когда термин "средство" в них не используется. Кроме того, использование термина "шаг" в вышеприведенном описании не должен использоваться для истолкования любого признака формулы как "шаг плюс функция". Упомянутые в этом документе отдельные ссылки, включая выданные патенты, заявки на патент, и публикации, не относящиеся к патентам, не предназначены и не должны истолковываться как ограничивающие формулу изобретения.
Вышеизложенное описание вариантов осуществления изобретения было представлено с целью иллюстрации. Оно не является исчерпывающим и не ограничивает варианты осуществления данного изобретения конкретным описанным вариантом, возможны различные модификации и изменения в свете вышеприведенных идей или в результате практического применения вариантов осуществления изобретения. Рассмотренные варианты осуществления изобретения были выбраны и описаны для объяснения принципов и характера различных вариантов осуществления изобретения и его практического применения, чтобы позволить специалисту использовать настоящее изобретение в различных вариантах осуществления и с различными изменениями, которые подходят для конкретного использования. Описанные признаки вариантов осуществления изобретения могут объединяться в любые сочетания способов, устройств, модулей, систем и программных продуктов.