ОПТИМИЗАЦИЯ МУЛЬТИМЕДИА В РЕАЛЬНОМ ВРЕМЕНИ ВО ВРЕМЯ УДАЛЕННЫХ СЕАНСОВ
OPTIMISING MULTIMEDIA IN REAL TIME IN REMOTE SESSIONS

УРОВЕНЬ ТЕХНИКИ
Видеоконференц-связь использует телекоммуникационные средства для передачи аудио и видео для того, чтобы люди, находящиеся в разных местах, могли проводить совещание. Она может осуществляться также просто, как разговор двух людей в отдельных кабинетах (двухточечная связь), или может включать в себя несколько местоположений (многоточечная связь) с более чем одним человеком в больших помещениях, находящихся в разных местах. Кроме аудио и визуальной передачи совещательной деятельности, видеоконференц-связь можно использовать для совместного использования документов, информации, отображаемой с помощью компьютера, электронных "досок".
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Эта сущность изобретения приведена для ознакомления с вариантами выбора концепций в упрощенном виде, которые дополнительно описаны ниже в подробном описании изобретения. Однако эта сущность изобретения не предназначена для идентификации ключевых или существенных признаков заявленного объекта изобретения. Кроме того, эта сущность не предназначена для ограничения объема заявленного объекта изобретения.
Можно обеспечить оптимизацию мультимедиа в реальном времени. Во-первых, удаленный сеанс можно установить с удаленным вычислительным устройством. Затем во время удаленного сеанса можно осуществить обмен данными мультимедиа не в реальном времени с удаленным вычислительным устройством по серверному тракту. Более того, можно осуществить обмен данными мультимедиа в реальном времени с удаленным вычислительным устройством по тракту мультимедиа во время удаленного сеанса.
Следует отметить, что как приведенное выше общее описание, так и следующее ниже подробное описание приведено лишь в качестве иллюстративного примера и исключительно для пояснительных целей. Соответственно, приведенное выше общее описание и следующее ниже подробное описание не следует рассматривать как ограничивающие. Кроме того, можно предусмотреть особенности или изменения в дополнение к тем, которые изложены в данном документе. Например, варианты осуществления могут быть направлены на различные комбинации признаков и подкомбинации, описанные в подробном описании.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Прилагаемые чертежи, которые включены в описание и составляют часть данного описания, иллюстрируют различные варианты осуществления настоящего изобретения. На чертежах:
фиг.1 - блок-схема виртуализированной среды;
фиг.2 - блок-схема мультимедийной системы в реальном времени;
фиг.3 - блок-схема последовательности операций способа обеспечения оптимизации мультимедиа в реальном времени;
фиг.4 - блок-схема мультимедийной системы в реальном времени; и
фиг.5 - блок-схема системы, включающей в себя вычислительное устройство.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Ниже приведено подробное описание изобретения со ссылкой на сопроводительные чертежи. Везде, где это возможно, одинаковые ссылочные позиции используются на чертежах и в последующем описании для ссылки на одинаковые или аналогичные элементы. Наряду с тем, что можно описать варианты осуществления изобретения, возможны модификации, адаптации и другие реализации. Например, в отношении элементов, иллюстрированных на чертежах, можно делать замены, добавления или модификации, и способы, описанные здесь, можно модифицировать путем замены, переупорядочивания или добавления этапов раскрытых способов. Таким образом, нижеследующее подробное описание не ограничивает настоящее изобретение. Вместо этого надлежащий объем изобретения определен прилагаемой формулой изобретения.
Виртуализация настольных компьютеров может быть использована предприятиями, которые имеют конфиденциальные данные и приложения и не могут позволить себе (например, по соображениям безопасности) то, чтобы конфиденциальные данные или приложения находились в клиентской машине. Следовательно, при виртуализации настольных компьютеров "тонкий клиент" может работать на клиентской машине с использованием конфиденциальных данных и приложений, работающих на сервере, контролируемом предприятием. В этом случае приложение фактически работает на сервере и все, что видит пользователь, - это только пользовательский интерфейс (ПИ) на клиентской машине. Соответственно, системный администратор с помощью предприятия может обновить изображение на стороне сервера. Затем, когда пользователь регистрируется на сервере, пользователь получает последнюю версию программного обеспечения, которую хочет распространять системный администратор.
На фиг.1 изображена блок-схема виртуализированной среды 100. Как показано на фиг.1, при виртуализации настольных компьютеров, фактическую обработку можно выполнить на сервере 105 вместо клиентской машины 110. Такие приложения (то есть приложения, работающие в виртуализированной среде 100) могут называться "виртуализированными приложениями". Например, первое приложение 115 и второе приложение 120 можно фактически запустить на сервере 105. Клиентская машина 110 может воспроизводить и отображать первый пользовательский интерфейс 125 и второй пользовательский интерфейс 130 соответственно согласно первому приложению 115 и второму приложению 120. Виртуализированные приложения могут быть подходящими для приложений, работающих не в реальном времени (например, обработки текстов, электронных таблиц и т.д.), в которых исходные данные (например, ввод ключа и т.д.) можно отправлять из клиентской машины в сервер, где виртуализированное приложение, работающее на сервере, получает ввод пользователя и обработку данных.
Приложения аудио/видео конференц-связи в реальном времени могут работать как виртуализированные приложения в вышеупомянутой виртуализированной среде. Приложения аудио/видео конференц-связи в реальном времени могут принимать исходные аудио/видеоданные, захваченные из клиентской машины, кодировать данные и передавать кодированные данные, например, по проводу. Кроме того, приложения аудио/видео конференц-связи в реальном времени могут принимать поток кодированных данных из сети, декодировать поток кодированных данных и воспроизводить поток декодированных данных на клиентской машине. Однако с помощью виртуализированных приложений аудио/видео конференц-связи в реальном времени существуют дополнительные транзитные участки (например, через сервер), которые "виртуализированное" приложение в реальном времени должно проходить по сравнению с "невиртуализированным" приложением в реальном времени, работающим локально на клиентской машине.
При отправлении и приеме аудио/видео в реальном времени в невиртуализированном приложении не в реальном времени вся обработка выполняется в клиентских машинах, а не на сервере. Например, приложение на стороне клиента захватывает аудио/видео из устройств, кодирует и отправляет их по проводу из клиентской машины. В отличие от невиртуализованного, с помощью виртуализированного приложения в реальном времени, захваченные исходные аудио/видеоданные можно отправить в сервер, например, с помощью дистанционного взаимодействия захватывающего устройства или с помощью отправки потока исходных данных, приходящих из захватывающих устройств по удаленному каналу настольного компьютера в сервер. Более того, сервер в виртуализированной среде отправляет кодированный поток. Следовательно, в виртуализированной среде, существуют дополнительные транзитные участки (например, из клиентской машины в сервер) в тракте аудио/видео. Эти дополнительные транзитные участки могут увеличить задержку/время ожидания в потоке аудио/видеоданных в реальном времени.
На фиг.2 показана мультимедийная система 200 в реальном времени согласно варианту осуществления изобретений. Мультимедийная система 200 в реальном времени может содержать первую клиентскую машину 205 (например, локальное вычислительное устройство), вторую клиентскую машину 210 (например, удаленное вычислительное устройство), сервер 215 и сеть 220. Согласно вариантам осуществления настоящего изобретения невиртуализованную аудио/видео конферец-связь в реальном времени можно выполнить между первой клиентской машиной 205 и второй клиентской машиной 210 по сети 220.
Если бы в вариантах осуществления настоящего изобретения использовался серверный тракт (то есть первый транзитный участок 225 и второй транзитный участок 230), то были бы дополнительные транзитные участки (например, из первой клиентской машины 205 в сервер 215 и из сервера 215 во вторую клиентскую машину 210) в тракте аудио/видеоданных между первой клиентской машиной 205 и второй клиентской машиной 210. Эти дополнительные транзитные участки могут увеличить, например, задержку/время ожидания в потоке аудио/видеоданных в реальном времени между первой клиентской машиной 205 и второй клиентской машиной 210.
Согласно вариантам осуществления настоящего изобретения можно избежать вышеупомянутой задержки/времени ожидания в потоке аудио/видеоданных в реальном времени между первой клиентской машиной 205 и второй клиентской машиной 210, не включая сервер 215 в поток аудио/видеоданных в реальном времени. Например, аудио/видеоданные можно передать между первой клиентской машиной 205 и второй клиентской машиной 210 по тракту 235 мультимедиа, который не включает в себя сервер 215. Однако, если тракт 235 мультимедиа не установлен или если он выходит из строя после его установки, аудио/видеоданные можно передавать между первой клиентской машиной 205 и второй клиентской машиной 210 по серверному тракту.
Любое одно из следующего: первая клиентская машина 205, вторая клиентская машина 210 и сервер 215, может содержать, но не ограничиваться этим, например, настольный компьютер, портативный компьютер типа "ноутбук", мобильное устройство, интеллектуальный телефон или персональный цифровой помощник. Сеть 220 может содержать Интернет или сеть любого типа, по которой первая клиентская машина 205, вторая клиентская машина 210 и сервер 215 могут поддерживать связь. Любое одно из первой клиентской машины 205, второй клиентской машины 210 и сервера 215 можно реализовать с использованием, например, вычислительного устройства 500, как описано более подробно ниже в отношении фиг.5.
На фиг.3 изображена последовательность операций, поясняющая общие этапы, включенные в способ 300, согласно варианту осуществления настоящего изобретения для обеспечения оптимизация мультимедиа в реальном времени. Способ 300 можно реализовать с использованием мультимедийной системы 200 в реальном времени, как описано выше. Способы реализации этапов способа 300 будут описаны более подробно ниже.
Способ 300 может начинаться на начальном этапе 305 и продолжаться на этапе 310, где первая клиентская машина 205 может устанавливать удаленной сеанс с удаленным вычислительным устройством (например, со второй клиентской машиной 210). Например, как показано на фиг.4, приложение 405 может запускаться на сервере 215. Приложение 405 может содержать приложение видеоконференц-связи. В соответствии с удаленным сеансом «тонкий» клиент, работающий на первой клиентской машине 205, может воспроизводить и отображать пользовательский интерфейс 415, соответствующий приложению 405, которое запускается на севере 215. Приложение 405 может завершать удаленный сеанс между первой клиентской машиной 205 и второй клиентской машиной 210.
С этапа 310, где первая клиентская машина 205 устанавливает удаленный сеанс, способ 300 может переходить на этап 320, где первая клиентская машина 205 может осуществлять обмен во время удаленного сеанса данными мультимедиа не в реальном времени с удаленным вычислительным устройством (например, со второй клиентской машиной 210) по серверному тракту. Например, обмен данными мультимедиа не в реальном времени может содержать, например, любые не аудио- или не видеоданные, соответствующие сеансу видеоконференцсвязи между первой клиентской машиной 205 и второй клиентской машиной 210. Например, данные мультимедиа не в реальном времени могут содержать данные, соответствующие местоположению используемой первой клиентской машины 205, например, для вызовов по телефонному номеру 911 службы экстренной помощи. Данные мультимедиа не в реальном времени могут содержать, но не ограничиваться этим, возможности клиента и сервера. Эти возможности можно использовать для непосредственного влияния на связь между двумя клиентами.
После того как первая клиентская машина 205 выполнила обмен данными мультимедиа не в реальном времени на этапе 320, способ 300 может продолжаться на этапе 330, где первая клиентская машина 205 может осуществлять обмен во время удаленного сеанса данными мультимедиа в реальном времени с удаленным вычислительным устройством по тракту 235 мультимедиа. Данные мультимедиа в реальном времени могут содержать аудио- или видеоданные. Если бы в вариантах осуществления настоящего изобретения использовался серверный тракт (то есть первый транзитный участок 225 и второй транзитный участок 230) для данных мультимедиа в реальном времени, то существовали бы дополнительные транзитные участки (например, от первой клиентской машины 205 до сервера 215 и от сервера 215 до второй клиентской машины 210) в тракте аудио/видеоданных между первой клиентской машиной 205 и второй клиентской машиной 210. Эти дополнительные транзитные участки могут увеличивать, например, задержку/время ожидания в потоке аудио/видеоданных в реальном времени между первой клиентской машиной 205 и второй клиентской машиной 210.
Варианты осуществления настоящего изобретения позволяют избежать вышеупомянутой задержки/времени ожидания при наличии удаленного диспетчера мультимедиа (RMM) (например, приложение 410 удаленного диспетчера мультимедиа) на первой клиентской машине 205, которая может захватывать, кодировать и передавать данные мультимедиа в реальном времени (например, можно добавить аудио/видео и другие модальности) непосредственно из первой клиентской машины 205 во вторую клиентскую машину 210 без включения сервера 215 в тракт 235 мультимедиа. Более того, RMM может принимать кодированные данные мультимедиа в реальном времени из сети 220 (например, отправлять данные мультимедиа непосредственно из второй клиентской машины 210 по тракту 235 мультимедиа), декодировать принятые кодированные данные мультимедиа в реальном времени и воспроизводить непосредственно в пользовательском интерфейсе 415 декодированные данные мультимедиа в реальном времени, которые были приняты из второй клиентской машины 210. RMM может работать совместно с приложением 405 на сервере 215. Например, приложение 405 может отправлять и принимать данные с использованием устройств ввода (например, камеры 420 и микрофона 425) и устройств вывода (например, громкоговорителя 430), подсоединенных к первой клиентской машине 205. RMM может также использовать одни и те же устройства ввода и вывода. Следовательно, RMM может работать совместно с приложением 405 на сервере 215 для того, чтобы совместно использовать устройства ввода и вывода. Другими словами, устройства ввода и вывода можно совместно использовать между данными, переданными/принятыми по тракту 235 мультимедиа, и данными, переданными/принятыми по серверному тракту.
Другим примером, где RMM может работать совместно с приложением 405 на сервере 215, является случай, где данные из тракта 235 мультимедиа и данные из серверного тракта синхронизированы. Один пример может содержать геометрическое отслеживание. Геометрическое отслеживание позволяет учитывать (когда видеоданные, отправленные непосредственно из второй клиентской машины 210 по тракту 235 мультимедиа, поступают непосредственно на первую клиентскую машину 205 в обход серверного тракта) размещение на дисплее 415 видео, где его необходимо показывать. Например, приложение 405 может отправлять положение и форму видео области в первую клиентскую машину 205 по серверному тракту. Первая клиентская машина 205 может затем воспроизводить видео (приходящее по тракту 235 мультимедиа) в "прокси" окне, которое отслеживает информацию (например, положение и форму), отправленную приложением 405. Приложение 405 может непрерывно контролировать любые изменения, которые могут происходить в местоположении видео и форме и может поддерживать обновление первой клиентской машины 205 с помощью этой информации. Первая клиентская машина 205, в свою очередь, может поддерживать обновление "прокси" окна с помощью информации приложения 405. Таким образом, можно синхронизировать видеодисплей на первой клиентской машине 205.
Кроме того, первая клиентская машина 205, осуществляющая обмен во время удаленного сеанса данными мультимедиа в реальном времени с удаленным вычислительным устройством по тракту 235 мультимедиа, может содержать этап выполнения протокола трансляции сетевых адресов (NAT) из первой клиентской машины 205 в удаленное вычислительное устройство. При построении компьютерной сети трансляция сетевых адресов (NAT) может содержать процесс модификации информации о сетевом адресе в заголовке (IP) пакета дейтограммы при передаче через устройство маршрутизации трафика с целью преобразования одного пространства IP-адресов в другое. После того как первая клиентская машина 205 осуществит обмен данными мультимедиа в реальном времени на этапе 330, способ 300 может затем закончиться на этапе 340.
Вариант осуществления согласно настоящему изобретению может содержать систему для обеспечения оптимизация мультимедиа в реальном времени. Система может содержать запоминающее устройство и блок обработки, связанный с запоминающим устройством. Блок обработки можно выполнить с возможностью установления удаленного сеанса с удаленным вычислительным устройством. Более того, блок обработки можно выполнить с возможностью осуществления обмена во время удаленного сеанса данными мультимедиа не в реальном времени с удаленным вычислительным устройством по серверному тракту и обмена во время удаленного сеанса данными мультимедиа в реальном времени с удаленным вычислительным устройством по тракту мультимедиа.
Другой вариант осуществления согласно настоящему изобретению может содержать систему для обеспечения оптимизации мультимедиа в реальном времени. Система может содержать запоминающее устройство и блок обработки, связанный с запоминающим устройством. Блок обработки можно выполнить с возможностью установления удаленного сеанса между локальным вычислительным устройством и удаленным вычислительным устройством. Кроме этого блок обработки можно выполнить с возможностью осуществления обмена во время удаленного сеанса данными мультимедиа не в реальном времени между локальным вычислительным устройством и удаленным вычислительным устройством по серверному тракту, включающему в себя сервер. Кроме того, блок обработки можно выполнить с возможностью осуществления обмена во время удаленного сеанса данными мультимедиа в реальном времени, содержащими аудио- и видеоданные, между локальным вычислительным устройством и удаленным вычислительным устройством по тракту мультимедиа. Сервер не находится в тракте мультимедиа.
Еще один вариант осуществления согласно настоящему изобретению может содержать систему для обеспечения оптимизация мультимедиа в реальном времени. Система может содержать запоминающее устройство и блок обработки, связанный с запоминающим устройством. Блок обработки можно выполнить с возможностью установления удаленного сеанса с удаленным вычислительным устройством. Блок обработки, выполненный с возможностью установления удаленного сеанса, может содержать блок обработки, выполненный с возможностью установления серверного тракта, причем сервер включен в серверный тракт, и установление тракта мультимедиа, причем сервер не включен в серверный тракт, и тракт мультимедиа устанавливается непосредственно с удаленным вычислительным устройством. Более того, блок обработки можно выполнить с возможностью осуществления обмена во время удаленного сеанса данными мультимедиа не в реальном времени с удаленным вычислительным устройством по серверному тракту и обмена во время удаленного сеанса данными мультимедиа в реальном времени с удаленным вычислительным устройством по тракту мультимедиа.
На фиг.5 изображена блок-схема системы, включающей в себя компьютерное устройство 500. Согласно варианту осуществления настоящего изобретения вышеупомянутое запоминающее устройство и блок обработки можно реализовать в виде вычислительного устройства, такого как компьютерное устройство 500, показанное на фиг.5. Любую подходящую комбинацию из аппаратных средств, программного обеспечения или программно-аппаратных средств можно использовать для реализации запоминающего устройства и блока обработки. Более того, вычислительное устройство 500 может работать в виртуальной машине или на физической машине. Например, запоминающее устройство и блок обработки можно реализовать с помощью вычислительного устройства 500 или с помощью любого из других вычислительных устройств 518 совместно с вычислительным устройством 500. Вышеупомянутая система, устройство и процессоры являются примерами, и другие системы устройства и процессоры могут содержать вышеупомянутые запоминающее устройство и блок обработки согласно вариантам осуществления настоящего изобретения. Более того, вычислительное устройство 500 может содержать операционную среду для первой клиентской машины 205 или второй клиентской машины 210, как описано выше. Первая клиентская машина 205 или вторая клиентская машина 210 могут работать в других средах и не ограничены вычислительным устройством 500.
Как показано на фиг.5, система согласно варианту осуществления настоящего изобретения может включать в себя вычислительное устройство, такое как вычислительное устройство 500. В базовой конфигурации вычислительное устройство 500 может включать в себя, по меньшей мере, один блок 502 обработки и системную память 504. В зависимости от конфигурации и типа вычислительного устройства системная память 504 может содержать, но не ограничивается этим, энергозависимое запоминающее устройство (например, оперативное запоминающее устройство (ОЗУ)), энергонезависимое запоминающее устройство (например, постоянное запоминающее устройство (ПЗУ)), флэш-память или любую их комбинацию. Системная память 504 может включать в себя операционную систему 505, один или более программных модулей 506 и может включать в себя данные 507 программы. Операционная система 505, например, может быть пригодна для управления работой вычислительного устройства 500. В одном варианте осуществления программные модули 506 могут включать в себя, например, приложение 410 удаленного диспетчера мультимедиа. Кроме того, варианты осуществления настоящего изобретения можно осуществить на практике совместно с графической библиотекой, другими операционными системами или любой другой прикладной программой, и они не ограничиваются любым конкретным приложением или системой. Эта базовая конфигурация иллюстрирована на фиг.5 с помощью компонентов, которые ограничены пунктирной линией 508.
Вычислительное устройство 500 может иметь дополнительные признаки или функциональные возможности. Например, вычислительное устройство 500 может также включать в себя дополнительные устройства для хранения данных (съемные и/или несъемные), такие как, например, магнитные диски, оптические диски или пленка. Такое дополнительное запоминающее устройство иллюстрировано на фиг.5 с помощью съемного запоминающего устройства 509 и несъемного запоминающего устройства 510. Вычислительное устройство 500 может также содержать соединение 516 связи, которое позволяет устройству 500 поддерживать связь с другими вычислительными устройствами 518, например, по сети, распределенной в вычислительной среде, например интранет (внутренняя сеть) или Интернет. Соединение 516 связи является одним примером сред связи.
Термин "машиночитаемый носитель", используемый в данном документе, может включать в себя компьютерные запоминающие носители. Компьютерные запоминающие носители могут включать в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Системная память 504, съемное запоминающее устройство 509 и несъемное запоминающее устройство 510 являются в целом примерами компьютерных запоминающих носителей (например, запоминающее устройство). Компьютерные запоминающие носители могут включать в себя, но не ограничиваются ими, ОЗУ, ПЗУ, электрически стираемое постоянное запоминающее устройство (ЭСПЗУ), флэш-память или другую технологию памяти, CD-ROM (ПЗУ на компакт-диске), многофункциональные цифровые диски (DVD) или другое оптическое запоминающее устройство, магнитные кассеты, магнитную ленту, магнитное дисковое запоминающее устройство или другие магнитные запоминающие устройства или любой другой носитель, который может использоваться для хранения требуемой информации и к которому может осуществляться доступ вычислительным устройством 500. Любые такие компьютерные запоминающие носители данных могут быть частью устройства 500. Вычислительное устройство 500 может также иметь устройство(а) 512 ввода, такое(ие) как клавиатура, мышь, перо, устройство ввода звуковой информации, устройство ввода касанием и т.д. Могут быть также включены устройство(а) 514 вывода, такое(ие) как дисплей, громкоговорители, принтер и т.д. Вышеупомянутые устройства являются примерами, и можно использовать другие устройства.
Термин "машиночитаемый носитель", используемый в данном документе, может также включать в себя среду связи. Среда связи может быть воплощена машиночитаемыми инструкциями, структурами данных, программными модулями или другими данными в модулированном сигнале данных, таком как несущая волна или другой транспортный механизм, и включает в себя любую среду доставки информации. Термин "модулированный сигнал данных" означает сигнал, который обладает одной или более своими характеристиками, установленными или изменяемыми таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среда связи может включать в себя проводную среду, такую как проводная сеть или непосредственное проводное соединение, и беспроводную среду, такую как акустическая, радиочастотная (РЧ), инфракрасная и другая беспроводная среда.
Как указано выше, ряд программных модулей и файлов данных можно хранить в системной памяти 504, включая операционную систему 505. При выполнении операции в блоке 502 обработки, программные модули 506 (например, приложение 410 удаленного диспетчера мультимедиа) могут выполнять процессы, включающие в себя, например, один или более этапов способа 300, как описано выше. Вышеупомянутый процесс является примером, и блок 502 обработки может выполнять другие процессы. Другие программные модули, которые можно использовать согласно вариантам осуществления настоящего изобретения, могут включать в себя приложения для электронной почты и контактов, приложения для текстовой обработки, приложения для электронных таблиц, приложения для баз данных, приложения для презентаций слайдов, приложения для рисования или прикладные программы, выполняемые с помощью компьютера и т.д.
Как правило, согласно вариантам осуществления настоящего изобретения программные модули могут включать в себя подпрограммы, программы, компоненты, структуры данных и другие типы структур, которые могут выполнять конкретные задачи или которые могут реализовать конкретные абстрактные типы данных. Более того, варианты осуществления настоящего изобретения могут быть осуществлены на практике с помощью других конфигураций компьютерной системы, включающих в себя карманные устройства, микропроцессорные системы, микропроцессорную или программируемую бытовую электронику, мини-компьютеры, универсальные компьютеры и т.п. Варианты осуществления настоящего изобретения можно также осуществить на практике в распределенных вычислительных средах, где задачи выполняются удаленными обрабатывающими устройствами, которые связаны через сеть связи. В распределенной вычислительной среде программные модули могут быть расположены как на локальных, так и на удаленных запоминающих устройствах.
Кроме того, варианты осуществления настоящего изобретения можно осуществить на практике в электрической схеме, содержащей дискретные электронные элементы, упакованные или интегральные электронные микросхемы, содержащие логические элементы, в схеме, использующей микропроцессор, или на одном кристалле, содержащем электронные элементы или микропроцессоры. Варианты осуществления настоящего изобретения можно также осуществить на практике с использованием других технологий, которые позволяют выполнять логические операции, такие, например, как И, ИЛИ и НЕ, которые включают в себя, но не ограничиваются этим, механические, оптические, жидкостные и квантовые технологии. В дополнение к этому варианты осуществления настоящего изобретения можно осуществить на практике внутри компьютера общего назначения или в любых других схемах или системах.
Варианты осуществления настоящего изобретения, например, можно реализовать в виде компьютерного процесса (способа), вычислительной системы или в виде изделия, такого как компьютерный программный продукт или машиночитаемый носитель. Компьютерный программный продукт может представлять собой компьютерный запоминающий носитель, считываемый с помощью компьютерной системы и кодирование компьютерной программы, содержащей набор инструкций для исполнения компьютерной обработки. Компьютерный программный продукт может также представлять собой распространяемый сигнал на несущей, считываемой с помощью вычислительной системы и кодирование компьютерной программы, содержащей набор инструкций для исполнения компьютерной обработки. Соответственно, настоящее изобретение можно воплотить в аппаратных средствах и/или в программном обеспечении (включая программно-аппаратные средства, резидентное программное обеспечение, микрокод и т.д.). Другими словами, варианты осуществления настоящего изобретения могут принимать форму компьютерного программного продукта на машиноиспользуемом или машиночитаемом носителе информации, использующем машиноиспользуемый или машиночитаемый программный код, воплощенный на носителе для использования с помощью или совместно с системой исполнения инструкций. Машиноиспользуемый или машиночитаемый носитель может представлять собой любой носитель, который может содержать, хранить, осуществлять связь, распространять или транспортировать программу для использования с помощью или совместно с системой исполнения инструкций, аппаратом или устройством.
Машиноиспользуемый или машиночитаемый носитель может представлять собой в качестве примера, а не ограничения, электронную, магнитную, оптическую, электромагнитную, инфракрасную или полупроводниковую систему аппарат, устройство или среду распространения. В качестве более конкретных примеров машиночитаемого носителя (неполный перечень), машиночитаемый носитель может включать в себя следующее: электрическое соединение, имеющее один или более проводов, портативную компьютерную дискету, оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), электрически стираемое постоянное запоминающее устройство (ЭППЗУ или флэш-память), оптическое волокно и постоянное запоминающее устройство на портативном компакт-диске (CD-ROM). Следует отметить, что машиноиспользуемый или машиночитаемый носитель может представлять собой даже бумагу или другой подходящий носитель, на котором напечатана программа, так как программа может захватываться электронным способом, например, через оптическое сканирование бумаги или другого носителя, затем компилироваться, интерпретироваться или иным способом обрабатываться подходящим образом в случае необходимости и затем сохраняться в компьютерной памяти.
Варианты осуществления настоящего изобретения, например, описаны выше со ссылкой на блок-схемы и/или рабочие иллюстрации способов, систем и компьютерных программных продуктов согласно вариантам осуществления изобретения. Функции/действия, отмеченные в блоках, можно выполнять вне порядка, который показан в любой блок-схеме алгоритма. Например, два блока, показанные подряд, можно фактически выполнить, по существу, одновременно или иногда блоки можно выполнить в обратном порядке, в зависимости от включенный функциональных возможностей/действий.
Хотя были описаны конкретные варианты осуществления настоящего изобретения, могут существовать и другие варианты осуществления. Кроме того, хотя варианты осуществления настоящего изобретения были описаны в связи с данными, которые хранятся в памяти и на других носителях информации, данные можно также сохранять на или считывать из других типов машиночитаемых носителей, таких как вторичные запоминающие устройства, наподобие жестких дисков, гибких дисков или CD-ROM, несущей волны из Интернета или других форм ОЗУ или ПЗУ. Кроме того, раскрытые этапы способа можно модифицировать любым образом, включая этапы переупорядочивания и/или вставки или удаления этапов без отклонения от настоящего изобретения.
Все права, включая авторские права на код, включенный сюда, принадлежат Заявителю и являются собственностью Заявителя. Заявитель сохраняет за собой все права на код, включенный сюда, и предоставляет разрешение воспроизвести материал только совместно с воспроизводством полученного патента и ни для какой другой цели.
В то время как описание включает в себя примеры, объем притязаний изобретения обозначен последующей формулой изобретения. Кроме того, в то время как описание было написано на языке, особом для структурных признаков и/или методологических действий, формула изобретения не ограничена признаками или действиями, описанными выше. Скорее определенные признаки и действия, описанные выше, раскрыты как пример для вариантов осуществления изобретения.