ПРЕДОСТАВЛЕНИЕ ВЫБРАННЫХ ОТПРАВИТЕЛЕМ ЭЛЕМЕНТОВ ЗВУКА УЧАСТНИКАМ РАЗГОВОРА
PROVIDING SENDER-SELECTED SOUND ITEMS TO CONVERSATION PARTICIPANTS

Предшествующий уровень техники
Система мгновенной передачи сообщений (IM) позволяет пользователям связываться друг с другом в режиме реального времени. Традиционно, IM разговор между двумя IM пользователями принимает форму текстовых сообщений, обмен которыми осуществляется между пользователями IM. Для предоставления более интересного впечатления для пользователей, многие системы IM дополняют разговоры, представляя нетекстовую информацию пользователям IM. Например, первый пользователь может выбрать определенный тип глобального звука, который представляют, когда любой другой пользователь регистрируется в системе IM. При этом, когда второй пользователь регистрируется в системе IM, первого пользователя уведомляют о событии регистрации путем представления выбранного глобального звука. В этом случае, первый пользователь задает звук, который будет позже представлен ему самому.
Сущность изобретения
Описана функция, обеспечивающая для первого пользователя возможность выбора звукового элемента. Первый пользователь может использовать первое устройство для передачи такого звукового элемента во второе устройство, которым оперирует второй пользователь. При возникновении инициирующего события, звуковой элемент, выбранный первым пользователем, может быть представлен вторым устройством второму пользователю. Таким образом, первый пользователь назначает звуковой элемент, который воспроизводят для второго пользователя. Первое устройство и второе устройство могут соответствовать двум. устройствам в системе мгновенной передачи сообщений (IM).
В одном иллюстративном случае первое устройство может уведомлять второе устройство о новом звуковом элементе путем передачи информации о присутствии во второе устройство. Информация о присутствии включает в себя ссылку на новый звуковой элемент. После определения, что информация о присутствии идентифицирует новый звуковой элемент, второе устройство может запрашивать новый звуковой элемент из первого устройства или из некоторого другого источника. В одном иллюстративном случае первое устройство может передавать новый звуковой элемент во второе устройство через канал одноранговой связи. Новый звуковой элемент может быть передан через механизм организации очереди, что помогает сгладить использование полосы пропускания, используемой для передачи данных.
В соответствии с другим иллюстративным аспектом описана функция, которая позволяет пользователю выбирать новый звуковой элемент из исходного звукового элемента. Эта функция обеспечивает представление графического отображения исходного звукового элемента, вместе с модулем графического выбора. Модуль графического выбора помещают поверх сегмента исходного звукового элемента. Эта функция позволяет пользователю регулировать положение и размер (например, ширину) модуля графического выбора и воспроизводить сегмент, обозначенный модулем графического выбора. Путем повторения этих операций, такая функция может обеспечить для пользователя возможность выбирать новый звуковой элемент, используя подход проб и ошибок.
Дополнительные примерные свойства вариантов выполнения описаны ниже.
Перечень фигур чертежей
На фиг.1 показана система, предназначенная для обмена сообщениями и звуковыми элементами между пользователями.
На фиг.2 показан модуль формирования содержимого и модуль управления содержимым, предназначенный для использования в системе по фиг.1.
На фиг.3 показано представление интерфейса пользователя для использования пользователем при обмене данными с другим пользователем, используя систему по фиг.1.
На фиг.4 показано представление интерфейса пользователя для использования пользователем при формировании нового звукового элемента.
На фиг.5 показана иллюстративная функция обработки, которую можно использовать для воплощения любого аспекта системы по фиг.1.
На фиг.6 показана блок-схема последовательности операций, в которой представлена иллюстративная процедура, предназначенная для формирования нового звукового элемента.
На фиг.7 показана блок-схема последовательности операций, которая представляет иллюстративную процедуру, предназначенную для использования устройством пользователя при приеме нового звукового элемента.
На фиг.8 показана блок-схема последовательности операций, которая представляет иллюстративную процедуру, предназначенную для использования устройством пользователя при представлении звукового элемента, в ответ на инициирующее событие.
Одинаковые номера ссылочных позиций используются во всем описании и на чертежах для обозначения одинаковых компонентов и свойств. Номера ссылочных позиций, начинающиеся со 100, относятся к свойствам, которые первоначально можно видеть на фиг.1, номера ссылочных позиций, начинающиеся с 200, относятся к свойствам, которые первоначально можно найти на фиг.2, номера ссылочных позиций, начинающиеся с 300, относятся к свойствам, которые первоначально можно найти на фиг.3, и так далее.
Подробное описание изобретения
В данном раскрытии представлены функции, предназначенные для использования первого устройства для предоставления звукового элемента во второе устройство. Второе устройство представляет звуковой элемент после возникновения инициирующего события. В данном раскрытии также предоставлены функции для выбора звукового элемента, используя представление интерфейса пользователя. Эта функция может быть представлена в различных системах, устройствах, модулях, процедурах, носителях записи, структурах данных и в других формах.
Термин "звуковой элемент" может охватывать любой тип содержимого, которое может быть представлено в слышимой форме. Типы звуковых элементов включают в себя музыкальный контент, содержимое разговорных слов, различные невербальные шумы (например, лающая собака, текущая вода и т.д.).
В качестве предварительного замечания, любая из функций, описанных со ссылкой на чертежи, может быть воплощена с использованием программных средств, встроенного программного обеспечения, аппаратных средств (например, фиксированной логической схемы), путем обработки вручную, или используя комбинацию этих вариантов выполнения. Термины "логика", "модуль", "компонент", "система" или "функция", используемые здесь, в общем, представляют программное средство, встроенное программное обеспечение, аппаратные средства или комбинацию этих элементов. Например, в случае воплощения в виде программного средства, термины "логика", "модуль", "компонент", "система" или "функция" представляют программный код, который выполняет определенные задачи при выполнении в устройстве или устройствах обработки (например, в CPU или в нескольких CPU). Программный код может быть сохранен в одном или больше считываемых компьютером устройствах памяти.
В более общем случае представленные разделения логики, модулей, компонентов, систем и функций на отдельные модули может отражать фактическую физическую группировку и выделение программных средств, встроенного программного обеспечения и/или аппаратных средств, или может соответствовать концептуальному выделению различных задач, выполняемых одиночной программой, представленной в виде программных средств, программой, представленной в виде встроенного программного обеспечения, и/или аппаратным модулем. Представленная логика, модули, компоненты, системы и функции могут быть размещены в одном месте (например, могут быть воплощены с помощью устройства обработки), или могут быть распределены по нескольким местам.
Термины "машиночитаемые носители" или тому подобное, относятся к любому виду носителя информации, предназначенному для хранения информации в любой форме, включающему в себя различные виды накопителей (магнитный, оптический, статический и т.д.). Термин машиночитаемый носитель информации также охватывает переходные формы, для представления информации, включающей в себя различные кабельные каналы передачи данных, предназначенные для передачи информации из одной точки в другую.
Определенные свойства описаны в форме блок-схемы последовательности операций. При пояснении такого рода определенные операции описаны как составляющие отдельные блоки, выполняемые в определенном порядке. Такое воплощение является примерным и не ограничительным. Отдельные блоки, описанные здесь, могут быть сгруппированы вместе и могут быть выполнены в виде одиночной операции, и определенные блоки могут быть выполнены в порядке, который отличается от порядка, используемого в представленных выше примерах в данном описании. Блоки, показанные в виде блок-схем последовательности операций, могут быть воплощены с помощью программных средств, встроенного программного обеспечения, аппаратных средств, при обработке вручную, любых комбинаций, связанных с этими вариантами выполнения, и так далее.
Данное раскрытие включает в себя два раздела. В разделе А описана одна иллюстративная система для распространения и воспроизведения звуковых элементов. В разделе В описана работа системы, представленной в разделе А, в форме блок-схемы последовательности операций.
А. Иллюстративная система
На фиг.1 показана система 100, которая обеспечивает для пользователей возможность связываться друг с другом. В одном иллюстративном варианте выполнения система 100 соответствует системе мгновенной передачи сообщений (IM), которая позволяет пользователям связываться друг с другом в режиме реального времени. Таким образом, система IM позволяет любому пользователю, который поддерживает присутствие в режиме онлайн, обмениваться данными с одним или больше контактами (например, "друзьями"), которые также поддерживают присутствие в режиме онлайн.
Инфраструктура 102 передачи данных может включать в себя различные компьютеры типа сервера, накопителя данных и/или другое оборудование обработки данных. Например, инфраструктура 102 передачи данных может включать в себя функции, относящиеся к соединению (не показаны), предназначенные для управления соединением между устройствами пользователей. Инфраструктура 102 передачи данных также может включать в себя функции, относящиеся к присутствию (не показаны), для управления информацией и распространения информации о присутствии в системе 100. Информация о присутствии включает в себя данные, которые обычно описывают степень вовлеченности пользователя в систему 100, как участника передачи данных. Без ограничений, информация о присутствии может передавать состояние пользователя, относящееся к сети, такое как, работает ли данный пользователь в данный момент времени в режиме онлайн, отсутствует ли он, занят ли он, и т.д. Информация о присутствии также может передавать персональную информацию, ассоциированную с пользователем. Персональная информация может раскрывать персонализированное текстовое сообщение, ассоциированное с пользователем, персонализированное название дисплея и т.д. Как будет описано ниже, информация о присутствии также может относиться к звуковому элементу, ассоциированному с пользователем. В одном иллюстративном случае информация о присутствии может быть выражена с использованием формата расширяемого языка разметки (XML).
Во время работы функция, относящаяся к присутствию инфраструктуры 102 передачи данных, может распространять информацию о присутствии среди групп пользователей. Например, рассмотрим сценарий, в котором первый пользователь работает с первым устройством пользователя 106, и второй пользователь работает со вторым устройством 108 пользователя. Второй пользователь представляет собой один из контактов первого пользователя. В этом представленном сценарии функция, относящаяся к присутствию, может представлять собой информацию 114 о присутствии с опережением, ассоциированную с первым устройством 106 - вторым устройством 108. В одном случае такая информация 114 о присутствии может представить предупреждение для второго устройства 108 о том, что первый пользователь только что зарегистрировался в системе 100, и так далее.
Сеть 104 может представлять собой локальную вычислительную сеть (LAN, ЛВС), глобальную сеть (WAN) (например, Интернет), или некоторую комбинацию LAN и WAN.
Сеть 104 может быть воплощена с использованием любой комбинации беспроводных каналов связи, кабельных связей, маршрутизаторов, шлюзов, серверов названий и т.д., и может управляться с помощью любого протокола или комбинации протоколов. В одном случае система 100 обеспечивает возможность связи между устройствами (106, 108, 110, 112) пользователя друг с другом, используя ресурсы, как сети 104, так и инфраструктуры 102 передачи данных. В другом случае система 100 обеспечивает для устройства (106, 108, 110, 112) пользователя возможность связываться друг с другом, используя только ресурсы сети 104, то есть, без использования инфраструктуры 102 передачи данных или только в минимальной степени используя инфраструктуру 102 передачи данных; другими словами, система 100 выполнена таким образом, чтобы также обеспечить возможность непосредственной связи устройств пользователя друг с другом в режиме одноранговой сети (Р2Р). Один из механизмом, способствующий передаче данных Р2Р в системе IM, описан в находящейся на экспертизе заявки США регистрационный №10/611,575, поданной 1 июля 2003 г., под названием "Система транспортирования для мгновенной передачи сообщений", авторы John Holmes и др.
Каждое устройство пользователя может соответствовать любому типу устройства обработки данных. Например, устройство пользователя может соответствовать персональному компьютеру, переносному компьютеру, карманному персональному компьютеру (PDA, КПК), устройству мобильного телефона, игровой консоли, телевизионной приставке, подключенной к телевизионному приемнику, и так далее. В некоторых приведенных примерах, первое устройство 106 используется для передачи звукового элемента во второе устройство 108. Звуковой элемент затем воспроизводится вторым устройством 108. Как отмечено выше, первым устройством 106 управляет пользователь, называемый первым пользователем. Вторым устройством 108 управляет пользователь, называемый вторым пользователем. Следует понимать, что этот пример представляет собой просто иллюстрацию. Например, в другом сценарии, первое устройство 106 может действовать как приемник звукового элемента, предоставляемого вторым устройством 108. Кроме того, ссылка на обмен данными одной пары участников представляет собой просто иллюстрацию. Например, в другом случае, первое устройство 106 может передавать звуковой элемент в множество устройств приемников, соответствующих множеству соответствующих контактов.
Каждое устройство может включать в себя модуль управления содержимым, предназначенный для управления элементами содержимого в накопителе. Например, первое устройство 106 включает в себя модуль 116 управления содержимым, предназначенный для управления элементами содержимого, сохраненными в накопителе 118. Второе устройство 108 включает в себя модуль 120 управления содержимым, предназначенный для управления элементами содержимого, сохраненными в накопителе 122. Как будет более подробно описано ниже, модуль управления содержимым может выполнять различные роли. В соответствии с одной ролью, модуль управления содержимым может координировать передачу элемента содержимого в другое устройство пользователя и приема элемента содержимого из другого устройства пользователя. Модуль управления содержимым также может координировать представление элемента содержимого.
На основе приведенной выше вводной части, можно теперь описать применение системы 100 для распространения звуковых элементов среди устройств пользователя. Как описано выше, звуковой элемент соответствует любому элементу содержимого, который может быть представлен в виде звука пользователю. Типы представления звуковых элементов включают в себя элементы музыки, элементы разговорных слов, элементы невербальных шумов и т.д. Пользователь может выбирать звуковой элемент для представления самого себя или самой себя другому пользователю (или пользователям), например, как тип карты вызова или тому подобное. Например, пользователь может выбирать свой звуковой элемент так, чтобы он соответствовал нескольким секундам его любимой песни. Другой пользователь может выбрать свой звуковой элемент так, чтобы он соответствовал цитате вдохновляющей речи. Другой пользователь может выбрать свой звуковой элемент так, чтобы он соответствовал невербальному звуку, который он считает забавным, и так далее.
В типичном сценарии первый пользователь может использовать свое устройство 106 для предоставления звукового элемента во второе устройство 108. После возникновения инициирующего события, ассоциированного с первым пользователем, второе устройство 108 может воспроизвести звуковой элемент для второго пользователя. Например, инициирующее событие может возникать, когда первый пользователь регистрируется в системе 100. Таким образом, первый пользователь может диктовать (с определенными ограничениями и исключениями) звуковой элемент, воспроизводимый вторым устройством 108, для второго пользователя.
Используя описанные выше функции, как первую задачу, первый пользователь выбирает звуковой элемент. Для того, чтобы облегчить эту операцию, первый пользователь может вызвать модуль формирования содержимого (будет подробно описан ниже). Модуль формирования содержимого отображает представление интерфейса пользователя, который предоставляет графическое описание исходного звукового элемента (такого как файл песни). Используя такое представление интерфейса пользователя, первый пользователь может выбрать сегмент исходного звукового элемента. Выбранный сегмент соответствует звуковому элементу, который впоследствии используют для представления первого пользователя другим пользователям. Модуль 116 управления содержимым первого устройства может сохранять выбранный звуковой элемент в своем локальном накопителе 118.
Более конкретно, накопитель 118 первого устройства 106 может включать в себя различные элементы 124, ассоциированные с первым пользователем. Один тип элемента соответствует звуковому элементу, выбранному первым пользователем для представления самого себя или самой себя другим. Другой элемент может соответствовать персональному текстовому сообщению, определенному первым пользователем. Еще один элемент может соответствовать изображению, выбранному первым пользователем, и так далее. Накопитель 118 также может включать в себя различные другие элементы 126, ассоциированные с другими пользователями. Например, первый пользователь, мог сконфигурировать первое устройство 106 для обмена данными с различными контактами (например, с "друзьями"). Другие элементы 126 могут предоставлять звуковые элементы и другие элементы содержимого, определенные контактами пользователя. Например, предположим, что первый пользователь выбрал второго пользователя, как контакт, с которым он желает общаться. В этом случае, накопитель 118 может включать в себя звуковой элемент, выбранный вторым пользователем, изображение, выбранное вторым пользователем, и так далее.
Предположим, что первый пользователь только что выбрал новый звуковой элемент так, как описано выше (или модифицировал ранее существовавший звуковой элемент, для того, чтобы фактически создать новый звуковой элемент). Модуль 116 управления содержимым вызывают в этот момент времени для уведомления пользователей, с которыми поддерживает контакты первый пользователь, о присутствии нового звукового элемента. Модуль 116 управления содержимым выполняет эту задачу путем подготовки информации 114 о присутствии, которая идентифицирует новый звуковой элемент, вместе с другими характеристиками присутствия пользователя, как описано выше. Более конкретно, информация 114 о присутствии может включать в себя ссылочную информацию, которая обеспечивает ссылку на новый звуковой элемент, но информация 114 о присутствии не включает в себя фактическое содержимое самого звукового элемента. Один или больше серверов присутствия (не показаны) в инфраструктуре 102 передачи данных могут принимать такую информацию 114 о присутствии и распространять ее всем из контактов первого пользователя, которые, случайно находятся в режиме онлайн в данный момент времени.
Предположим, что второе звуковое устройство 108 находится в режиме онлайн, когда передают информацию 114 о присутствии. Второе звуковое устройство 108 принимает информацию 114 о присутствии и обрабатывает ее, для определения, включает ли она в себя какую-либо новую информацию. Например, модуль 120 управления содержимым второго устройства 108 может определять, отличается ли ссылочная информация, содержащаяся в информации 114 о присутствии (которая определяет звуковой элемент) от ранее принятой ссылочной информации. Или, возможно, второе устройство 108 никогда не принимало звуковой элемент от первого пользователя, и в этом случае второе устройство 108 будет рассматривать ссылочную информацию, содержащуюся во вновь принятой информации 114 о присутствии, как идентифицирующую новый звуковой элемент.
Второе устройство 108 отвечает на определение, что новый звуковой элемент был принят, запрашивая новый звуковой элемент из первого устройства 106. Первое устройство 106 отвечает на этот запрос путем передачи нового звукового элемента во второе устройство 108. Второе устройство 108 затем сохраняет новый звуковой элемент в его собственном накопителе 122. В одном иллюстративном случае обмен запросами и ответами между первым устройством 106 и вторым устройством 108 может выполняться с использованием одноранговой связи (Р2Р). Например, на фиг.1 показана передача звукового элемента 128 из первого устройства 106 во второе устройство 108 через путь Р2Р. Как показано, на пути Р2Р не используются ресурсы инфраструктуры 102 передачи данных, или могут использовать только некоторые аспекты ресурсов инфраструктуры 102 передачи данных. В другом случае обмен запросами и ответами, выполняемый между первым устройством 106 и вторым устройством 108, может осуществляться с использованием ресурсов инфраструктуры 102 передачи данных, если будет определено, что канал Р2Р не доступен, из-за любого одного или больше различных факторов, относящихся к окружающей среде. В еще одном другом случае обмен запросами и ответами, осуществляемый между первым устройством 106 и вторым устройством 108, может быть всегда проведен с использованием ресурсов инфраструктуры 102 передачи данных.
После того как второе устройство 108 примет и сохранит звуковой элемент от первого пользователя, оно может воспроизвести этот звуковой элемент для второго пользователя в ответ на один или больше типов инициирующих событий, как описано ниже:
Один тип инициирующего события возникает, когда первый пользователь регистрируется в системе 100. В этих обстоятельствах второе устройство 108 может воспроизводить звуковой элемент для уведомления второго пользователя о том, что первый пользователь является доступным для общения с ним.
Другой тип инициирующего события возникает, когда первый пользователь регистрирует свой выход из системы 100.
Другой тип инициирующего события возникает, когда первый пользователь передает сообщение второму пользователю.
Еще один тип инициирующего события возникает, когда первый пользователь вызывает какого-либо типа специальную опцию передачи данных, направленную на второго пользователя. Например, первый пользователь может вызвать команду "подталкивания", которая обеспечивает определенное сотрясение или привлечение внимания в представлении интерфейса пользователя во втором устройстве 108 в определенный момент времени. Или первый пользователь может вызвать команду "подмигивания", которая приводит к тому, что графический элемент в представлении интерфейса пользователя второго устройства 108 выполняет предписанное поведение. При каждом из этих обстоятельств звуковой элемент представляют второму пользователю, когда происходит вызов специальной опции при обмене данными.
Тем не менее, другие типы инициирующих событий могут вызвать воспроизведение звукового элемента. Представленный выше список является показательным и не исключительным.
Описанный выше протокол для приема и воспроизведения звуковых элементов может быть выполнен с помощью любого устройства в системе 100. Например, второе устройство 108 может передавать звуковой элемент, выбранный вторым пользователем для первого пользователя. Затем, когда второй пользователь проявляет какой-либо из вариантов поведения, описанных выше, первое устройство 106 может воспроизводить звуковой элемент второго пользователя. Наконец, следует отметить, что любой пользователь обычно имеет множество контактов. Например, первый пользователь обычно имеет множество контактов. В этом случае, первый пользователь устройства 106 может передавать звуковой элемент первого пользователя во все устройства, ассоциированные с контактами этого пользователя.
Описанная выше процедура распространения и воспроизведения элемента соответствует одному режиму операции системы 100. В следующем пояснении идентифицируются различные дополнительные и/или альтернативные свойства системы 100.
В соответствии с одним свойством, предположим, что первый пользователь выбирает новый звуковой элемент, находясь в автономном режиме работы, и затем впоследствии переходит в режим онлайн. Кроме того, предположим, что в то время, когда первый пользователь переходит в режим онлайн, второй пользователь также находится в режиме онлайн. В этом случае, второе устройство 108 будет стремиться объявить о присутствии онлайн первого пользователя, но второе устройство 108 может еще не получить новый звуковой элемент из устройства 106 первого пользователя. Для решения проблемы, возникающей в этой ситуации, второе устройство 108 может воспроизводить другой звуковой элемент, такой как старый звуковой элемент, ассоциированный с первым пользователем, или звуковой элемент любого другого типа, ранее выбранный вторым пользователем (или принятый по умолчанию звуковой элемент). Такой подход является полезным, поскольку он не вносит задержку в процедуру регистрации. Второе устройство 108, в конечном итоге, получит возможность получить новый звуковой элемент из первого устройства 106. При возникновении следующего инициирующего события второе устройство 108 тогда сможет воспроизвести новый звуковой элемент.
В соответствии со вторым свойством, предположим, что пользователь работает с множеством устройств пользователя с одной учетной записью. Например, как показано на фиг.1, пользователь С работает как с устройством 110, так и с устройством 112. Например, пользователь С может работать с устройством 110 как с рабочим компьютером ("рабочее устройство" 110) и может работать с устройством 112, как с домашним компьютером ("домашнее устройство" 112). Затем предположим, что пользователь С выбирает новый звуковой элемент в своем рабочем устройстве 110. Предположим также, что во время формирования, пользователь не был одновременно зарегистрирован в домашнем устройстве 112. В этих обстоятельствах, рабочее устройство 110 может передавать новый звуковой элемент в сетевое хранилище 130 данных, предусмотренный в инфраструктуре 102 передачи данных. Когда пользователь С затем впоследствии регистрируется в домашнем устройстве 112, инфраструктура 102 передачи данных может предоставлять уведомление в домашнее устройство 112, предупреждающее его о том, что новый звуковой элемент был сформирован рабочим устройством 110. Домашнее устройство 112 затем может воспроизвести звуковой элемент из сетевого хранилища 130 данных и сохранить этот звуковой элемент в своем локальном запоминающем устройстве. Таким образом, система 100 может синхронизировать содержимое, содержащееся во всех устройствах пользователя, ассоциированных с одной учетной записью.
В соответствии с третьим свойством, предположим, что первый пользователь имеет большое количество контактов. Когда первый пользователь формирует новый звуковой элемент, информация о присутствии будет распространяться всем его контактам, уведомляя эти контакты о новом звуковом элементе. Затем можно ожидать, что каждое из устройств, работающих с контактом ("устройства контакта"), будут запрашивать новый звуковой элемент. Это, в свою очередь, потребует, чтобы устройство первого пользователя предоставило новый звуковой элемент во все устройства контакта, которые его запрашивают. Такое большое количество запросов и ответов может потенциально привести к использованию большой полосы пропускания в системе 100. Для того, чтобы помочь улучшить эту ситуацию, система 100 может быть выполнена таким образом, что она будет разносить распространение звуковых элементов различным образом. В соответствии с одной технологией, каждое из устройств контакта, которому требуется новый звуковой элемент, может помещать элемент срабатывания в очередь и затем запрашивать новый звуковой элемент, когда подходит черед элемента срабатывания в этой очереди. Это позволяет сгладить ширину полосы пропускания для передачи данных, если только устройства контакта не будут запрашивать новый звуковой элемент одновременно.
В соответствии с четвертым свойством, в соответствии со сценарием, описанным выше: (1) первое устройство 106 формирует новый звуковой элемент; (2) первое устройство 106 уведомляет второе устройство 108 о новом звуковом элементе; (3) второе устройство 108 запрашивает первое устройство 106 передать новый звуковой элемент; и (4) первое устройство 106 передает новый звуковой элемент во второе устройство 108. В варианте этой технологии: (1) первое устройство 106 формирует новый звуковой элемент; (2) первое устройство 106 передает этот новый звуковой элемент в сетевое хранилище 130 данных; (3) первое устройство 106 уведомляет второе устройство 108 о новом звуковом элементе; и (4) второе устройство 108 запрашивает и получает новый звуковой элемент из сетевого хранилища 130 данных (а не из первого устройства 106).
На фиг.2 представлена дополнительная информация, относящаяся к функциям, доступным в устройстве пользователя, для формирования и управления звуковыми элементами. В одном случае каждое устройство пользователя может включать в себя отдельную логику, которая воплощает функции, показанные на фиг.2. В другом случае, один или больше аспектов функции, показанной на фиг.2, может совместно использоваться множеством устройств пользователей. Пользователь, который работает с функцией, показанной на фиг.2, может действовать от лица описанного выше первого пользователя (который формирует новый звуковой элемент и распространяет его в другие устройства), или второго пользователя (который принимает звуковой элемент от первого пользователя и воспроизводит при возникновении инициирующего события).
Функции включают в себя модуль 202 формирования содержимого. Модуль 202 формирования содержимого позволяет пользователю сформировать новый звуковой элемент или модифицировать существующий звуковой элемент. Модуль 202 формирования содержимого может выполнять эту задачу, предоставляя представление интерфейса пользователя для пользователя. Пользователь может определить звуковой элемент, используя представление интерфейса пользователя, так, как более полно описано ниже в контексте описания со ссылкой на фиг.4.
Функция, показанная на фиг.2, также включает в себя модуль 204 управления содержимым. Модуль 204 управления содержимым может содержать элементы содержимого (включающие в себя звуковые элементы), сформированные пользователем в накопителе 206 содержимого. Модуль 204 управления содержимым также может содержать элементы содержимого (включающие в себя звуковые элементы), сформированные другими пользователями в накопителе 206. Модуль 204 управления содержимым также управляет способом, с помощью которого элементы содержимого распространяют в другие устройства, принимают из других устройств, употребляют и так далее.
Более конкретно, модуль 204 управления содержимым включает в себя модуль 208 синхронизации содержимого. Назначение модуля 208 синхронизации содержимого двойное. Во-первых, модуль 208 синхронизации содержимого предоставляет информацию о присутствии для контактов пользователя и также принимает информацию о присутствии от этих контактов. Информация о присутствии идентифицирует свойства присутствия пользователя в системе 100. Например, информация о присутствии идентифицирует звуковой элемент, сформированный пользователем. Модуль 208 синхронизации содержимого также выполняет операции передачи элемента содержимого в другое устройство по запросу другого устройства. Модуль 208 синхронизации содержимого также может запрашивать другое устройство передать в него элемент содержимого. Например, предположим, что модуль 208 синхронизации содержимого вначале принимает информацию о присутствии из другого устройства, которое идентифицирует различные элементы содержимого, включающие в себя новый звуковой элемент. Модуль 208 синхронизации содержимого может определять, включает ли он уже в себя этот новый звуковой элемент. Если нет, модуль 208 синхронизации содержимого может запрашивать другое устройство предоставить ему новый звуковой элемент. Как описано выше, модуль 208 синхронизации содержимого может, в случае необходимости, применять протокол на основе очереди для запроса элемента содержимого.
Модуль 204 управления содержимым также включает в себя модуль 210 воспроизведения содержимого. Модуль 210 воспроизведения содержимого выполняет воспроизведение звукового элемента, ассоциированного с другим пользователем, когда возникает инициирующее событие, которое относится к этому другому пользователю. Например, инициирующее событие может возникнуть, когда этот другой пользователь регистрируется в системе 100. В ответ на это событие, модуль 210 воспроизведения содержимого выполняет поиск звукового элемента, соответствующего этому пользователю, который зарегистрировался (например, первому пользователю), и воспроизводит его (например, для второго пользователя).
Модуль 204 управления содержимым также включает в себя модуль 212 установки воспроизведения. Модуль 212 установки воспроизведения определяет различные условия для воспроизведения звукового элемента. Например, в одном случае, управляющий пользователь (обозначает пользователя, который управляет устройством пользователя, ассоциированным с модулем 204 управления содержимым) может выбрать - переконфигурировать звуковой элемент, определенный одним или больше другими пользователями, путем ввода соответствующей инструкции через модуль 212 установки воспроизведения. Такая инструкция на переконфигурирование предотвращает воспроизведение звукового элемента от другого пользователя в ответ на возникновение инициирующего события. Вместо звукового элемента, определенного другим пользователем, управляющий пользователь может определить другие звуки, предназначенные для воспроизведения в ответ на возникновение инициирующего события. В одном случае управляющий пользователь может определить специально подобранный звук, который представляется, когда определенный другой пользователь выполняет определенные изменения, которые составляют инициирующее событие. В другом случае управляющий пользователь может определять глобальный звук, который представляется, когда любой из контактов управляющего пользователя выполняет инициирующее событие. В этих двух сценариях переконфигурирования управляющий пользователь представляет собой субъект, который выбирает звуки, предназначенные для воспроизведения при возникновении инициирующих событий; при этом другие пользователи, которые инициируют представление звуков, не определяют, какие звуки должны быть воспроизведены.
На фиг.3 показано представление 302 интерфейса пользователя, относящегося к передачи данных, который может быть представлен в любом из устройств пользователя. Предположим, что представление 302 интерфейса пользователя предоставляют для пользователя под именем Алиса. Представление 302 интерфейса пользователя включает в себя список 304, который идентифицирует контакты Алисы. Существуют люди или другие объекты (например, автоматические программы), которые Алиса выбрала в качестве авторизованных участников передачи данных. Представление 302 интерфейса пользователя также включает в себя область (не показана), которая позволяет Алисе составлять сообщения для любого контакта (контактов) и принимать сообщения от контакта (контактов).
Модуль 210 воспроизведения содержимого, ассоциированный с устройством пользователя Алиса, представляет звуковой элемент для Алисы, когда возникает инициирующее событие, которое ассоциировано с любым из ее контактов. Например, предположим, что один из контактов Алисы представляет собой Боб. Когда Боб регистрируется в системе, устройство пользователя Алисы получает уведомление о статусе онлайн Боба. В ответ на это модуль 210 воспроизведения содержимого Алисы также может воспроизвести звуковой элемент, который Боб сам выбрал для воспроизведения в устройстве Алисы. Графическое представление громкоговорителя и музыки 306 обозначает, что Алиса принимает слышимое представление музыкального клипа, выбранного Бобом, для объявления о его присутствии онлайн.
На фиг.4 показано представление 402 интерфейса выбора звука пользователя. Модуль 202 формирования содержимого (фиг.2) представляет такое представление интерфейса 402 пользователя для пользователя. Представление 402 интерфейса пользователя позволяет пользователю сформировать новый звуковой элемент или модифицировать существующий звуковой элемент.
Представление 402 интерфейса пользователя включает в себя блок 404 ввода, который позволяет пользователю выбирать папку с файлом, которая содержит исходные звуковые элементы. Исходный звуковой элемент соответствует ранее сформированному звуковому файлу, из которого пользователь может выбрать новый звуковой элемент. Например, исходный звуковой элемент может соответствовать коммерчески воспроизводимому звуку. Или исходный звуковой элемент может соответствовать персональной записи, сделанной пользователем, например, предоставляющей содержание произнесенного слова, музыку, невербальные звуки и т.д. В любом случае, пользователь может выбрать малый отрезок из исходного звукового элемента для получения нового звукового элемента. В одном случае пользователь может выбрать любую часть исходного звукового элемента, но выбранная часть не может превышать определенную максимальную длительность по времени, например, без ограничений, пять секунд. В другом случае какие-либо ограничения не установлены по длине звукового элемента. Предполагается, что пользователю принадлежат права собственности в отношении исходного звукового элемента, который будет использован для выбора нового звукового элемента.
После того как пользователь выберет папку с файлом (в поле 404), представление 402 интерфейса пользователя может представить список содержимого папки в поле 408. В этом представительном случае файл "Music" включает в себя два исходных звуковых элемента, песню с названием SongXYZ, и песню с названием SongABC. Как обозначено затушеванным полем на фиг.4, пользователь выбрал песню под названием SongXYZ, из которой он собирается выбрать новый звуковой элемент.
После того как пользователь выберет песню Песня XYZ, представление 402 интерфейса пользователя отображает графическое представление SongXYZ в поле 410 графического представления.
Поле 410 графического представления включает в себя представление части звуковой волны песни SongXYZ. Например, предположим, что весь звук длится в течение трех минут, при этом поле 410 графического представления может представлять звуковую волну, связанную с участком длиной десять секунд этой песни. Представление 402 интерфейса пользователя включает в себя поле 412 навигации по звуку. Пользователь может перемещаться к разной части песни, активируя кнопку 414 управления быстрым переходом вперед или кнопку 416 управления быстрым переходом назад. Эти команды (414, 416) управления передают команду в поле 410 графического представления отображать разные части песни. Пользователь также может отображать разные части песни, используя другие режимы взаимодействия, такие как отметка мышью графического представления песни и перетягивание этого графического представления в одном направлении или в другом направлении (например, вправо или влево).
Поле 410 графического представления включает в себя модуль 418 графического выбора, который представлен над графическим представлением песни. Модуль 418 графического выбора может быть сформирован как окно. Это окно имеет первый край, идентифицированный стрелкой 420, и второй конец, идентифицированный стрелкой 422. Первый край и второй край обозначают сегмент песни, имеющий заданную временную протяженность. Модуль 418 графического выбора включает в себя прозрачную среднюю секцию, которая позволяет пользователю видеть участок песни, ограниченный первым краем и вторым краем.
Модуль 418 графического выбора можно перемещать в разное местоположение по песне, например, путем отметки по нему и перетягивания модуля 418 графического выбора или путем ввода некоторой инструкции перемещения. Пользователь также может регулировать ширину модуля 418 графического выбора. Пользователь может выполнять эту задачу, регулируя одну из (или обе) стрелок (420, 422), которые обозначают края модуля 418 графического выбора. Используя эти операции, пользователь может определить участок песни, который будет выбран как новый звуковой элемент. Другими словами, участок песни, который будет ограничен краями модуля 418 графического выбора, соответствующий новому звуковому элементу.
Для обеспечения выбора правильного участка песни, представление 402 интерфейса пользователя позволяет пользователю воспроизводить звуковой элемент, ограниченный модулем 418 графического выбора. Пользователь может выполнять эту задачу путем активации кнопки 424 управления старт/стоп.п. Таким образом, кнопку 424 управления можно использовать для перехода из состояния отсутствия воспроизведения в состояние воспроизведения, путем активации кнопки 424 управления; одну и ту же кнопку 424 управления можно использовать для перехода из состояния воспроизведения в состояние отсутствия воспроизведения путем активации кнопки 424 управления. Когда поступает инструкция воспроизвести звуковой элемент, модуль 418 графического выбора может представлять степень продвижения во время воспроизведения, используя линию 426; а именно, линия 426 перемещается слева направо по воспроизводимому содержимому.
В типичном процессе выбора ожидается, что пользователь использует подход проб и ошибок для выбора требуемого участка песни. Например, пользователь может выбрать исходное положение и ширину модуля 418 графического выбора, и затем активировать кнопку 424 управления для воспроизведения. Если пользователь не доволен этим участком песни, который был выбран, пользователь может изменить положение и/или ширину модуля 418 графического выбора, после чего пользователь может снова воспроизвести выбранное содержимое. Пользователь может повторить эту процедуру любое количество раз, до тех пор, пока он не будет удовлетворен выбранным участком.
Пользователь, в случае необходимости, может сформировать более приятный на слух звуковой элемент, путем добавления эффекта постепенного увеличения громкости вначале (в начале звукового элемента) и/или эффекта постепенного затухания громкости (в конце звукового элемента). Пользователь может добавлять эти типы переходных эффектов, путем выбора кнопки 428 управления постепенным увеличением громкости звука и кнопки 430 управления постепенным затуханием громкости звука.
После того как пользователь будет удовлетворен выбранным звуковым элементом, пользователь может активировать кнопку 432 управления "сохранить", для сохранения нового звукового элемента. Пользователь может выбрать название звукового элемента через поле 434. В качестве альтернативы, пользователь может активировать кнопку управления "отмена", для отмены процедуры выбора звукового элемента.
В одном случае пользователь может определить звуковой элемент, отображаемый для всех его или ее контактов при возникновении любого инициирующего события. В другом случае пользователь может определить разные звуковые элементы для разных пользователей или групп пользователей. В качестве альтернативы или в дополнение, пользователь может определить разные звуковые элементы для разных инициирующих событий.
На фиг.5 иллюстративно представлена функция 502 обработки, которую можно использовать для выполнения любого аспекта системы 100, показанной на фиг.1. В одном не ограничительном случае, например, функция 502 обработки может представлять любое компьютерное устройство, используемое в системе 100, например, для выполнения любого аспекта любого устройства пользователя и/или любого аспекта инфраструктуры 102 передачи данных и т.д.
Функция 502 обработки может включать в себя модуль 504 обработки, предназначенный для выполнения различных функций обработки. Модуль 504 обработки может включать в себя энергозависимое и энергонезависимое запоминающие устройства, такие как ОЗУ 506 и ПЗУ 508, а также один или больше процессоров 510. Функция 502 обработки может выполнять различные операции, идентифицированные выше, когда процессор (процессоры) 510 выполняют инструкции, которые содержатся в запоминающем устройстве (например, 506, 508 или в любом другом месте). Функция 502 обработки также, в случае необходимости, включает в себя различные устройства 512 носители информации, такие как модуль жесткого диска, модуль оптического диска и т.д.
Функция 502 обработки также включает в себя модуль 514 ввода/вывода, предназначенный для приема различных входных команд от пользователя (через модуль 516 ввода), и для предоставления различных выходов для пользователя (через модуль 518 представления). Модуль 518 представления может предоставлять графический интерфейс 520 пользователя (GUI, ГИП). Функция 502 обработки также может включать в себя один или больше сетевых интерфейсов 522 для обмена данными с другими устройствами и системами через один или больше каналов 524 передачи данных. Одна или более шин 526 передачи данных соединяет с возможностью передачи данных описанные выше компоненты вместе.
В. Иллюстративные процедуры
На фиг.6 показана иллюстративная процедура 600 для формирования нового звукового элемента. Как описано в Разделе А, модуль 202 формирования содержимого представляет один инструмент, обеспечивающий для пользователя возможность формирования звукового элемента. Модуль 202 формирования содержимого представляет представление 402 интерфейса пользователя, которое позволяет пользователю итеративно выбирать требуемый участок исходного звукового элемента.
На этапе 602 модуль 202 формирования содержимого принимает выбор пользователя исходного звукового элемента. Это может соответствовать выбору пользователем требуемой папки, с последующим выбором исходного звукового элемента, который включен в эту папку.
На этапе 604 модуль 202 формирования содержимого представляет графическое представление части исходного звукового элемента. Например, модуль 202 формирования содержимого может представлять собой представление звуковой волны участка звукового элемента.
На этапе 606 модуль 202 формирования содержимого представляет модуль 418 графического выбора поверх участка исходного звукового элемента. Модуль 418 графического выбора имеет размер (например, ширину), который определяет длительность по времени сегмента звука, который он ограничивает.
На этапе 608 модуль 202 формирования содержимого позволяет пользователю итеративно выбрать требуемый сегмент исходного звукового элемента, путем многократного перемещения положения и/или размера модуля 418 графического выбора, совместно с многократным воспроизведением сегмента, ограниченного модулем 418 графического выбора.
На этапе 610 модуль 202 формирования содержимого, в случае необходимости, обеспечивает для пользователя возможность выбора переходных эффектов, которые появляются вначале и/или в конце выбранного звукового элемента. Переходные эффекты могут соответствовать эффекту постепенного увеличения громкости звука в начале сегмента и эффекту постепенного уменьшения громкости звука в конце сегмента.
На этапе 612 модуль 202 формирования содержимого может сохранять выбранный в конечном итоге звуковой элемент в соответствии с инструкцией на сохранение, поступившей от пользователя.
На этапе 614 модуль 208 синхронизации содержимого может распространять информацию о присутствии среди контактов пользователя, предупреждая эти контакты о существовании нового звукового элемента. Контакты могут затем запросить и получить новый звуковой элемент.
Участок с правой стороны на фиг.6 включает в себя последовательность блоков, которые расширяют таким образом, что модуль 202 формирования содержимого предоставляет пользователю возможность итерационного выбора требуемого сегмента исходного звукового элемента. На этапе 616 модуль 202 формирования содержимого принимает инструкцию пользователя переместить модуль 418 графического выбора и/или отрегулировать размер (например, ширину) модуля 418 графического выбора. На этапе 618, модуль 202 формирования содержимого принимает инструкцию пользователя воспроизвести участок, ограниченный модулем 418 графического выбора. Обратная петля со стрелкой, указывающая обратно на блок 616, обозначает, что пользователь может выполнить последовательность операций (616, 618) любое количество раз, пока он не будет удовлетворен выбранным элементом звука.
На фиг.7 показана иллюстративная процедура 700, обеспечивающая возможность для устройства (такого, как представительное второе устройство 108) принимать новый элемент содержимого из другого устройства (такого как представительное первое устройство 106). Первый пользователь выполняет операции с первым устройством 106, и второй пользователь выполняет операции со вторым устройством 108.
На этапе 702 второе устройство 108 определяет, приняло ли оно новую информацию о присутствии из первого устройства 106. В данном примере пользователь первого устройства 106 соответствует контакту X.
Если на этапе 702 будет получен подтверждающий ответ, на этапе 704 второе устройство 108 определяет, идентифицирует ли информация о присутствии новый звуковой элемент. Второе устройство 108 может выполнить это определение, путем сравнения вновь принятой ссылочной информации с ранее принятой ссылочной информацией, или путем определения, что ранее принятая ссылочная информация отсутствует.
Если на этапе 704 будет получен подтверждающий ответ (означающий, что информация о присутствии идентифицирует новый звуковой элемент), на этапе 706 второе устройство 108 запрашивает первое устройство 106 передать новый звуковой элемент. В ответ на это второе устройство 108 принимает этот новый звуковой элемент. Как отмечено выше, второе устройство 108 может, в качестве альтернативы, получать новый звуковой элемент из источника, расположенного в сервере, таком как сетевое хранилище 130 данных.
На фиг.8 показана процедура 800, предназначенная для воспроизведения звукового элемента, принятого устройством (таким как представительное второе устройство 108) из другого устройства (такого как представительное первое устройство 106). Первый пользователь выполняет операции с первым устройством 106, и второй пользователь выполняет операции со вторым устройством 108.
На этапе 802 второе устройство 108 определяет, приняло ли оно инициирующее событие, ассоциированное с первым пользователем.
Если на этапе 802 будет получен подтверждающий ответ, на этапе 804 второе устройство 108 определяет, имеет ли оно звуковой элемент, сформированный первым пользователем.
Если на этапе 804 будет получен подтверждающий ответ; на этапе 806 второе устройство 108 определяет, ввел ли ранее второй пользователь (второго устройства 108) инструкцию переконфигурировать звуковой элемент, сформированный первым пользователем.
Если на этапе 806 будет получен отрицательный ответ (означающий, что пользователь не ввел инструкцию переконфигурировать звуковой элемент), тогда на этапе 808 второе устройство 108 представляет звуковой элемент первого пользователя второму пользователю.
Если на этапе 806 будет получен подтверждающий ответ (означающий, что второй пользователь ввел инструкцию на перезапись), тогда второе устройство 108 может, в случае необходимости, представить другой звук второму пользователю. В одном случае второе устройство 108 может представить звуковой элемент, в частности, определенный вторым пользователем для первого пользователя. В другом случае второе устройство 108 может представить принятый по умолчанию звук, представляемый для всех пользователей, которые вызывают инициирующее событие.
Хотя изобретение было описано в отношении конкретных конструктивных свойств и/или методологической действий, следует понимать, что объем изобретения, определяемый приложенной формулой изобретения, не обязательно ограничен этими конкретными или описанными свойствами или действиями. Скорее специфичные свойства и действия раскрыты как примерные формы воплощения заявленного изобретения.