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

Иллюстрации

Показать все

Изобретение относится к способу и устройству для передачи данных в компьютерной сети. Техническим результатом является обеспечение возможности удовлетворения запросов на данные в различных форматах данных. В заявленном способе устройство в конечной точке сегмента упомянутого канала передачи данных выбирают (203) из устройств упомянутой компьютерной сети (100). Компьютерную программу, выполненную с возможностью обработки упомянутых данных, передают (204) упомянутому устройству, и упомянутые данные обрабатывают (206) посредством упомянутого устройства посредством выполнения упомянутой компьютерной программы, причем при завершении передачи упомянутой компьютерной программы упомянутые данные передают упомянутому устройству в упомянутом первом формате данных и от упомянутого устройства упомянутому получателю во втором формате данных. 2 н. и 7 з.п. ф-лы, 4 ил.

Реферат

Область техники, к которой относится изобретение

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

Уровень техники

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

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

Приложения состоят из компьютерных программ, которые выполняются на компьютере. Упомянутые компьютерные программы, например, хранятся в запоминающем устройстве упомянутого компьютера.

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

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

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

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

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

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

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

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

Раскрытие изобретения

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

Поток данных в этом контексте означает, что данные передаются в упомянутой компьютерной сети.

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

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

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

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

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

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

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

Дополнительные усовершенствования изобретения могут быть выведены из зависимой формулы изобретения и последующего описания.

Краткое описание чертежей

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

Фиг. 1 схематически показывает первую часть компьютерной сети.

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

Фиг. 3 схематически показывает вторую часть компьютерной сети.

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

Осуществление изобретения

Задача нижеприведенных примеров состоит в повышении гибкости компьютерной сети относительно потока данных.

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

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

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

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

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

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

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

Первый пример, использующий один источник, например сервер 110, и один приемник, например первый клиентский компьютер 101, описывается ниже со ссылкой на фиг. 1. Фиг. 1 показывает первую часть упомянутой глобальной компьютерной сети 100.

Упомянутый первый клиентский компьютер 101 является, например, компьютером с дисплеем.

Упомянутая первая часть упомянутой глобальной компьютерной сети 100 содержит упомянутый первый клиентский компьютер 101, первый узел 121 сети, второй узел 122 сети и упомянутый сервер 110.

Упомянутый клиентский компьютер 101 и упомянутый сервер 110 соединены через первый канал передачи данных. Упомянутый первый канал передачи данных содержит сегменты. Конечные точки упомянутых сегментов являются устройствами, например упомянутым сервером 110, упомянутым первым клиентским компьютером 101, упомянутым первым узлом 121 сети или упомянутым вторым узлом 122 сети. Упомянутые сегменты упомянутого первого канала передачи данных являются соединениями между упомянутыми устройствами, например оптическими волокнами, беспроводными каналами связи или медными проводами, включающими в себя соответствующие электронные схемы для их работы. Упомянутые данные передаются по упомянутому первому каналу передачи данных с помощью протоколов передачи, например хорошо известного протокола управления передачей/протокола Интернета (TCP/IP). Любой другой тип проводных или беспроводных каналов связи, например по протоколу пользовательских дейтаграмм (UDP), Ethernet или стандарту IEEE 802.11, может также быть использован.

Упомянутый первый узел 121 сети, упомянутый второй узел 122 сети, упомянутый сервер 110 или упомянутый первый клиентский компьютер 101 могут быть соединены друг с другом напрямую или опосредованно.

Согласно упомянутому первому примеру, для того, чтобы отправлять упомянутый поток данных, упомянутые наборы данных отправляются от упомянутого сервера 110 упомянутому первому клиентскому компьютеру 101. Для этого упомянутый заголовок, например, содержит адрес по протоколу Интернета упомянутого первого клиентского компьютера 101.

Упомянутый сервер 110 является, например, цифровой видеокамерой для захвата упомянутых полезных данных, содержащей микропроцессор и сетевой интерфейс, выполненный с возможностью отправки упомянутых наборов данных через упомянутую глобальную компьютерную сеть 100 упомянутому первому клиентскому компьютеру 101 с помощью упомянутого адреса протокола Интернет.

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

Упомянутый сервер 110 выполнен с возможностью выполнения первого приложения, например первой компьютерной программы. Например, упомянутый микропроцессор в упомянутой цифровой видеокамере выполнен с возможностью выполнения упомянутой первой компьютерной программы.

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

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

Упомянутые наборы данных могут быть разделены на множество пакетов данных согласно упомянутому протоколу управления передачей/протоколу Интернет (TCP/IP) или протоколу пользовательских дейтаграмм (UDP), которые затем отправляются через упомянутый первый узел 121 сети или упомянутый второй узел 122 сети упомянутому первому клиентскому компьютеру 101. В этом случае упомянутый первый клиентский компьютер 101 выполнен с возможностью приема упомянутого множества пакетов данных и объединения упомянутого множества пакетов данных, чтобы воссоздать упомянутые наборы данных из упомянутого множества пакетов данных согласно упомянутому протоколу управления передачей/протоколу Интернет (TCP/IP) или упомянутому протоколу пользовательских дейтаграмм (UDP).

Упомянутый первый клиентский компьютер 101 выполнен с возможностью выполнения второго приложения, например второй компьютерной программы. Например, упомянутый процессор в упомянутом клиентском компьютере 101 выполнен с возможностью выполнения упомянутой второй компьютерной программы.

Упомянутая вторая компьютерная программа при выполнении обрабатывает упомянутый поток данных, т.е. упомянутую последовательность упомянутых наборов данных, в заданном втором формате данных. Упомянутый второй формат данных является, например, MPEG-4 видео, обеспеченным в контейнере mp4 согласно ISO/IEC 14496-12 и -14, называемым далее форматом mp4.

Упомянутая вторая компьютерная программа, когда выполняется, например, принимает один из упомянутых наборов данных в упомянутом заданном втором формате данных, определяет второе единственное изображение (кадр) в зависимости от упомянутых полезных данных из одного или более упомянутых наборов данных и отображает упомянутое изображение на упомянутом дисплее.

Упомянутый формат данных цифрового видео потребляет большой объем памяти. Следовательно, поток данных цифрового видео или, более обобщенно, каких-либо объемных данных требует большой пропускной способности (т.е. транспортных ресурсов) и много ресурсов обработки во всей упомянутой глобальной компьютерной сети 100.

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

Упомянутая третья компьютерная программа является, например, кодером или любой компьютерной программой, которая уменьшает объем полезных данных. Упомянутая третья компьютерная программа является, например, mp4-кодером для определения видео MPEG-4, обеспеченного в mp4-контейнере согласно ISO/IEC 14496-12 и -14, т.е. упомянутом формате mp4, например из входных данных в упомянутом формате цифрового видео.

Целью упомянутой третьей компьютерной программы является обеспечение преобразования упомянутого набора данных, доступного на упомянутом сервере 110 в упомянутом заданном первом формате данных, в упомянутый заданный второй формат данных, требуемый упомянутым первым клиентским компьютером 101.

Другими примерами такого преобразования являются кодеры данных, программы распознавания объектов, (аудио) фильтры, конвертеры данных, хранилище и т.д., или любая комбинация вышеуказанных.

Упомянутые приложения или компьютерные программы, например, представлены и сохранены в наборе инструкций любого типа, который упомянутые устройства, например упомянутый сервер 110, упомянутый первый клиентский компьютер 101, упомянутый второй клиентский компьютер 102, упомянутый первый узел 121 сети или упомянутый второй узел 122 сети, могут считывать или выполнять. Упомянутые приложения или компьютерные программы, например, сохранены как машинный код, бинарный код, код ассемблера или байт-код.

Упомянутый первый узел 121 сети или упомянутый второй узел 122 сети являются, например, шлюзами в упомянутой глобальной компьютерной сети 100.

Упомянутый первый узел 121 сети или упомянутый второй узел 122 сети выполнены с возможностью выполнения упомянутого третьего приложения, например упомянутой третьей компьютерной программы. Например, микропроцессор в упомянутых узлах 121, 122 сети выполнен с возможностью выполнения упомянутого третьего приложения.

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

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

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

Кроме того, упомянутый первый клиентский компьютер 101 выполнен с возможностью отправки запроса для приема упомянутого потока данных в упомянутом заданном втором формате данных упомянутому серверу 110. Например, упомянутый первый клиент 101 выполнен с возможностью отправлять первое сообщение, запрос (Request), упомянутому серверу 110 с помощью упомянутого адреса по протоколу Интернета упомянутого сервера 110. Упомянутое первое сообщение является, например, сообщением GET протокола передачи гипертекста (HTTP), включающим в себя запрос приема упомянутого потока данных в формате mp4.

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

Упомянутое устройство, например, выбирается из списка заданных устройств, который был сформирован администратором упомянутой глобальной компьютерной сети 100 и сохранен на упомянутом сервере 110 в базе данных, ассоциированной с адресом по протоколу Интернета соответствующего устройства.

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

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

Способы наблюдения за глобальной компьютерной сетью 100 хорошо известны специалисту в области техники и дополнительно не объясняются здесь.

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

Кроме того, может быть использована информация о состоянии устройств в реальном времени или соединений, подходящих, чтобы быть сегментами упомянутого первого канала передачи данных в упомянутой глобальной компьютерной сети 100. Упомянутая информация о состоянии в реальном времени, например, собирается инструментальными средствами управления сетевыми устройствами типа Alcatel-Lucent 5670 Reporting and Analysis Manager и отправляется упомянутому серверу 110 в сообщениях-отчетах в заданные моменты времени. На основе этой информации соответствующие ресурсы обработки, т.е. устройства в упомянутой глобальной компьютерной сети 100, выбираются для выполнения упомянутой третьей компьютерной программы.

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

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

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

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

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

Упомянутая стоимость является, например, стоимостью потребляемой энергии, стоимостью поддержки или стоимостью аренды упомянутых заданных устройств или упомянутых соединений в упомянутой глобальной компьютерной сети 100.

Например, упомянутый сервер 110 выполнен с возможностью выбирать упомянутый mp4-кодер при приеме упомянутого запроса, чтобы принимать упомянутый поток данных как видео MPEG-4, предоставленное в mp4-контейнере согласно ISO/IEC 14496-12 и -14, т.е. в упомянутом формате mp4.

Кроме того, упомянутый сервер 110 выполнен с возможностью передавать упомянутое третье приложение, например упомянутую третью компьютерную программу, упомянутому устройству, например, с помощью упомянутого протокола передачи гипертекста (HTTP). Например, упомянутый сервер 110 отправляет второе сообщение, PUT, включающее в себя упомянутую третью компьютерную программу.

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

Упомянутые заданные устройства являются, например, упомянутым сервером 110, упомянутым первым клиентским компьютером 101, упомянутым первым узлом 121 сети или упомянутым вторым узлом 122 сети.

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

Для того чтобы сигнализировать о завершении передачи упомянутой третьей компьютерной программы упомянутому устройству, упомянутое устройство может быть выполнено с возможностью отправлять третье сообщение, ответ (Response), упомянутому серверу 110. Упомянутое третье сообщение является, например, сообщением 200 OK протокола передачи гипертекста.

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

Для того чтобы сигнализировать о прекращении передачи упомянутого потока данных упомянутому серверу 110, упомянутый первый клиентский компьютер 101 может быть выполнен с возможностью отправлять четвертое сообщение, запрос, упомянутому серверу 110. Упомянутое четвертое сообщение является, например, сообщением GET протокола передачи гипертекста (HTTP), включающим в себя запрос о прекращении передачи упомянутого потока данных.

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

Кроме того, упомянутый сервер 110 может быть выполнен с возможностью отправлять пятое сообщение, запрос, упомянутому устройству, в частности при приеме упомянутого четвертого сообщения. Упомянутое пятое сообщение является, например, сообщением DELETE протокола передачи гипертекста (HTTP), включающим в себя запрос на удаление упомянутого третьего приложения, например упомянутой третьей компьютерной программы, с упомянутого устройства.

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

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

Кроме того, чтобы улучшать ошибкоустойчивость, дополнительные сообщения могут быть использованы для сигнализирования о состоянии. Например, могут быть использованы сообщения о состоянии протокола передачи гипертекста (HTTP).

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

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

Например, число доступных в текущий момент циклов вычислений в секунду упомянутых устройств в упомянутом первом канале передачи данных между упомянутым сервером 110 и упомянутым первым клиентским компьютером 101 наблюдается и в реальном времени сравнивается с упомянутым заданным пороговым значением, например 10 миллионов инструкций в секунду (MIPS).

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

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

Кроме того, упомянутое устройство, например упомянутый сервер 110, упомянутый первый клиентский компьютер 101, упомянутый первый узел 121 сети или упомянутый второй узел 122 сети, выполнено с возможностью принимать упомянутую третью компьютерную программу, начинать выполнение упомянутой компьютерной программы после завершения передачи упомянутой компьютерной программы упомянутому устройству, и обрабатывать упомянутые данные.

Это означает, например, что упомянутое устройство, например упомянутый сервер 110, упомянутый первый клиентский компьютер 101, упомянутый первый узел 121 сети или упомянутый второй узел 122 сети, выполнены с возможностью принимать упомянутые наборы данных в заданном первом формате данных и отправлять упомянутые наборы данных в упомянутом заданном втором формате данных, выполняя упомянутую третью компьютерную программу.

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

В упомянутом