Расширяемые коммуникационные средства управления
Иллюстрации
Показать всеИзобретение относится к сетевым коммуникациям и, в частности, к встраиваемым в приложения средствам управления для осуществления обмена по сетям. Техническим результатом является собственно создание более гибких расширяемых и адаптируемых программных коммуникационных средств управления (компонентов программы) для обработки коммуникаций (связи, обмена) между устройствами, достигаемый за счет того, что расширяемое коммуникационное средство управления используется для поддерживания связи между вычислительным устройством и удаленным устройством связи. В вычислительной программе, адаптированной для использования расширяемых коммуникационных средств управления, отыскивается информация о контактирующей стороне, из найденной информации контакта определяется, какие типы транзакций могут использоваться для связи с контактирующей стороной на удаленном устройстве связи. Как только из информации контактирующей стороны определяется функция для установления связи, по адресу связи посылается запрос установления связи, ассоциированный с такой функцией. После принятия, расширяемое коммуникационное средство управления начинает осуществление связи с удаленным коммуникационным устройством. 3 н. и 32 з.п. ф-лы, 11 ил.
Реферат
Область изобретения
Изобретение, в целом, относится к сетевым коммуникациям и, в частности, к встраиваемым в приложения средствам управления для осуществления обмена по сетям.
Уровень техники, к которой относится изобретение
В области компьютерной и телефонной связи хорошо известны коммуникационные сети. По определению, сеть представляет собой группу компьютеров и/или устройств, связанных коммуникационными средствами или линиями связи. Связи по сети могут осуществляться на постоянной основе, например, через кабели или могут быть на временной основе, например, такой как подключения, выполненные через телефонные или беспроводные линии связи. Сети могут варьироваться по размеру, от локальной сети («LAN», локальная вычислительная сеть), состоящей из нескольких компьютеров или автоматизированных рабочих мест и относящихся к ним устройств, до глобальной сети ("WAN"), которая связывает компьютеры и локальные вычислительные сети, разнесенные географически, а также службу удаленного доступа ("RAS"), связывающую отдаленные компьютеры через временные коммуникационные линии связи. Объединенная сеть, в свою очередь, является объединением многочисленных компьютерных сетей как подобных друг другу, так и отличающихся, посредством шлюзов или маршрутизаторов, которые облегчают передачу данных и преобразование данных из различных сетей. Хорошо известно сокращение для объединенной сети - «Интернет». Как принято в настоящее время, напечатанное с большой буквы название «Интернет» относится к совокупности сетей и маршрутизаторов, которые для осуществления связи друг с другом используют межсетевой протокол («IP») наряду с протоколами более высокого уровня, такими как протокол управления передачей/межсетевой протокол ("TCP/IP"), или протокол пользовательских дейтаграмм/протокол сети Интернет ("UDP/IP").
В последнее время сеть Интернет проявила стремительный рост благодаря ее способности связывать компьютеры и устройства, размещенные по всему миру. Другие интерактивные операционные среды могут включать в себя собственные операционные среды, такие как обеспечиваемые сетью ОН-лайновая служба Microsoft ("MSN") или другими интерактивными провайдерами услуг, а также «беспроводную Web-сеть», обеспечиваемую различными провайдерами беспроводной работы с сетями, особенно в области сотовой телефонной индустрии. Как будет понятно из последующего описания, настоящее изобретение могло бы применяться в любых таких интерактивных операционных средах; однако, с целью описания, в качестве иллюстративной интерактивной операционной среды для воплощения настоящего изобретения используется сеть Интернет.
Сеть Интернет быстро стала популярным способом осуществления коммуникаций в значительной степени благодаря способности доставлять информацию в разнообразных форматах. Для осуществления передачи информации по сети Интернет, пользователь обычно запускает коммуникационную программу, которая устанавливает связь с другими коммуникационными программами, исполняющимися на отдаленных компьютерах, также связанными с сетью Интернет. Указанные стандартные коммуникационные программы, вообще говоря, используют один протокол связи, ассоциированный с типом коммуникационной программы. Например, видеокоммуникационная программа использовала бы собственный видеокоммуникационный протокол, а интерактивный текстовый диалог использовал бы собственный коммуникационный протокол. Различные типы коммуникационных протоколов часто являются специфическими по отношению к специфическим коммуникационным программам. Следовательно, программа текстового интерактивного диалога, взятая от одного провайдера программ, не обязательно будет использовать тот же самый протокол интерактивного диалога, который использует программа от другого провайдера программ. Такие собственные коммуникационные операционные среды привели к несметному числу различных типов коммуникаций, а внутри указанных типов коммуникаций - к несметному числу различных протоколов для обеспечения возможности каждого типа коммуникации.
Другой результат диверсифицированных коммуникационных прикладных операционных сред заключается в том, что если самые лучшие способы, обнаруженные некоторым разработчиком программ, воплощены в его коммуникационной программе, то только указанные коммуникационные программы извлекают пользу от использования указанных лучших практических способов. Другим разработчикам программ понадобилось бы индивидуально модифицировать свое программное обеспечение, если бы потребовалось воплотить новый разработанный «наилучший практический способ».
Другой недостаток у существующих в настоящее время коммуникационных программ заключается в том, что каждая прикладная программа обычно сохраняет контактную информацию только для других пользователей указанной специфической коммуникационной программы. Соответственно, используя коммуникационную программу, при попытке осуществить связь со специфическим пользователем, который может находиться в интерактивном режиме, процесс контактирования с пользователем, вообще говоря, может оказаться процессом проб и ошибок, продолжающимся до тех пор, пока не будет размещена корректная коммуникационная прикладная программа. Более того, контактная информация должна повторно вводиться для каждой отдельной коммуникационной программы.
Еще одним недостатком известных коммуникационных программ является то, что они, вообще говоря, отделены от других прикладных программ, используемых в операционной среде. Например, хотя можно одновременно запустить видеоконференцию и прикладную программу обработки текста, вообще говоря, трудно запустить совместный сеанс обработки текста, который бы включал видеокоммуникационную составляющую в той же прикладной программе. Можно спроектировать такую прикладную программу, однако такая возможность эквивалентна проектированию коммуникационной прикладной программы и прикладной программы обработки текста, а затем осуществление вручную необходимой интеграции. Подобное ручное творчество имеет единичное назначение (т.е. обработка текста и видеоконференций, обработка текста и интерактивный текстовый диалог, или игра и аудиоинтерактивный диалог). Указанные ручные творения не являются расширяемыми (т.е. они не могут быть обновлены, модифицированы или замещены как модульные составляющие) и страдают от недостатков поддержания отдельных контактов. Также, по мере того, как становятся доступными новые типы коммуникаций, возникала бы необходимость обновлять такие гибридные коммуникационные прикладные программы вручную для того, чтобы включить новые типы или комбинации типов коммуникаций.
Соответственно, существует необходимость в более гибкой и расширяемой коммуникационной операционной среде. Желательно иметь в новой коммуникационной операционной среде возможность динамически определять протокол и/или тип коммуникации, давая контактную информацию для отдельного пользователя. Далее, было бы желательным иметь способность получать самые лучшие практические способы для коммуникационных прикладных программ таким образом, чтобы все прикладные программы, адаптированные для использования коммуникаций, принимали бы самые лучшие практические способы, когда бы любая коммуникационная прикладная программа не получила бы их.
Сущность изобретения
Настоящее изобретение посвящено обеспечению расширяемых и адаптируемых программных коммуникационных средств управления (компонентов программы) для обработки коммуникаций (связи, обмена) между устройствами. В одном аспекте настоящего изобретения расширяемое коммуникационное средство управления используется для поддержания связи между вычислительным устройством и удаленным коммуникационным устройством (устройством связи). В вычислительной программе на вычислительном устройстве, которое адаптировано для использования расширяемого коммуникационного средства управления, отыскивается информация о контактирующей стороне. Из найденной информации о контактирующей стороне определяется, какие типы действий (функций) могут использоваться для того, чтобы устанавливать связь с контактирующей стороной, находящейся на удаленном коммуникационном устройстве. Действия, относящиеся к контакту, включают в себя не только коммуникационный адрес контактирующей стороны, но также и то, какой тип связи, и, возможно, какая коммуникационная программа должна использоваться при осуществлении связи. Как только функция (установления) связи была определена из информации контактирующей стороны, запрос связи посылается по адресу связи, ассоциированному с указанной функцией связи. Положим, что запрос связи принят, тогда расширяемое коммуникационное средство управления может начать связь с удаленным коммуникационным устройством.
В некоторых вариантах воплощения настоящего изобретения для функции связи можно не специфицировать частную программу связи, а скорее удаленное коммуникационное устройство определяет программу по умолчанию, с которой нужно устанавливать связь. В другом иллюстративном варианте воплощения настоящего описания, программа по умолчанию представляет собой программу-оболочку, заключающую в себе расширяемое коммуникационное средство управления. Связь между устройствами может представлять собой любую из несметного числа типов связей, включая, но не ограничиваясь, интерактивные текстовые диалоги, мгновенный обмен сообщениями, видеоконференции, аудиоконференции и т.п. Указанные виды связи могут осуществляться по стандартным вычислительным сетям, а также по другим типам сетей, например телефонным сетям.
В другом аспекте настоящего изобретения, коммуникационное устройство и вычислительное устройство не устанавливают связь в режиме одноранговой связи. Соответственно, создается отдельный «диалог» так, что оба устройства входят в контакт на промежуточном местоположении, в котором осуществляется связь. Такой диалог (средство диалога) должен был быть помечен идентификатором так, чтобы и вычислительное устройство, и отдаленное коммуникационное устройство могли бы устанавливать связь друг с другом, если только оба используют идентификатор диалога, чтобы подключиться к диалогу.
Еще в одном аспекте настоящего описания расширяемое коммуникационное средство управления является адаптируемым модулем, который может использоваться многими типами программ, включая программы связи, но не ограничиваясь ими. Указанный аспект расширяемости согласно настоящему изобретению позволяет программам определять, какое коммуникационное средство управления должно использоваться, однако, затем средство управления может быть направлено на то, чтобы обеспечить различные услуги связи по необходимости или по желанию. Указанные программы могут расширяемым образом определять, какие типы связи, протоколов, адресов и конфигураций должны использоваться расширяемым коммуникационным средством управления. Как в указанном аспекте настоящего изобретения, расширяемое коммуникационное средство управления представляет собой модуль, который реагирует на прикладные программы, адаптированные для того, чтобы использовать его, и расширяемое коммуникационное средство управления может отсоединяться от одной программы и присоединяться к другой программе. В одном таком варианте воплощения отсоединение и присоединение могут разорвать соединение связи, однако повторно могут подключить его, как только расширяемое коммуникационное средство управления было бы присоединено к другой программе. В альтернативном варианте воплощения настоящего изобретения связь может продолжаться даже после того, как расширяемое коммуникационное средство управления отсоединилось от одной программы и передано для присоединения к другой программе.
В дополнительных аспектах настоящего изобретения расширяемое коммуникационное средство управления может адаптироваться таким образом, чтобы устанавливать связь как с не вычислительными устройствами, так и вычислительными в качестве удаленных устройств связи. Соответственно, в одном варианте воплощения, отдаленное устройство связи также может включать в себя программу, реагирующую на запросы связи из расширяемого коммуникационного средства управления. Такая программа на удаленном устройстве связи может определять из принятого запроса связи любые расширяемые функции связи; и активизировать одну или несколько программ связи на удаленном устройстве связи, чтобы осуществлять связь, используя такие расширяемые функции связи.
Как можно видеть из вышеописанной сущности, настоящее изобретение обеспечивает расширяемую и адаптируемую коммуникационную операционную среду для обеспечения обмена между устройствами наряду со считываемым компьютером носителем данных и системой.
Краткое описание чертежей
В дальнейшем изобретение поясняется описанием конкретных вариантов его воплощения со ссылками на сопровождающие чертежи, на которых:
фиг. 1 изображает наглядную схему ряда устройств, подключенных к сети, которая обеспечивает соединение связи между устройствами согласно настоящему изобретению,
фиг. 2 изображает блок схему устройства связи, такого как компьютер, который обеспечивает связи согласно настоящему изобретению,
фиг. 3 изображает схему, иллюстрирующую действия, предпринимаемые устройством клиента, базой данных контактов, банком сообщений и устройством связи, с целью обеспечения соединения связи согласно настоящему изобретению,
фиг. 4 изображает общую блок схему процедуры, иллюстрирующую процедуру соединения связи согласно настоящему изобретению,
фиг. 5 изображает общую блок схему процедуры, иллюстрирующую процедуру соединения контактов для формирования соединения связи согласно настоящему изобретению,
фиг. 6 изображает общую блок схему процедуры, иллюстрирующую процедуру соединения контактов для формирования соединения связи согласно настоящему изобретению,
фиг. 7 изображает общую блок схему процедуры, иллюстрирующую подпрограмму соединения связи для установления и осуществления обмена по соединению связи согласно настоящему изобретению,
фиг. 8 изображает упрощенное наглядное представление осуществления связи между приложениями с встроенными коммуникационными средствами управления согласно настоящему изобретению,
фиг. 9 изображает иллюстративную оболочку-приложение, содержащей коммуникационные средства управления согласно настоящему изобретению,
фиг. 10 изображает общую блок схему процедуры, иллюстрирующую процедуру отсоединения коммуникационного средства управления согласно настоящему изобретению,
фиг. 11 изображает иллюстративную схему коммуникационного средства управления, отсоединяемого от приложения, которое имело встроенное коммуникационное средство управления согласно настоящему изобретению.
Подробное описание предпочтительных вариантов воплощения изобретения
Подробное описание, которое следует далее, в значительной степени представлено в терминах процессов и символических представлений операций стандартных компьютерных компонентов, включая процессор, устройства памяти процессора, подсоединенные устройства отображения, и устройства ввода данных. Кроме того, указанные процессы и операции могут использовать стандартные вычислительные компоненты в гетерогенной распределенной вычислительной операционной среде, включая удаленные файл-серверы, компьютерные серверы и устройства памяти. Каждая из этих стандартных распределенных вычислительных компонент доступна для процессора через сеть связи.
Настоящее изобретение направлено на обеспечение обмена между расширяемыми коммуникационными средствами управления в вычислительных и не вычислительных сетевых операционных средах. Расширяемое коммуникационное средство управления используется для поддерживания связи между вычислительным устройством 200 и удаленным устройством 150 связи. Вычислительное устройство 200 имеет, по меньшей мере, одну вычислительную программу, которая адаптирована для использования расширяемого коммуникационного средства управления согласно настоящему изобретению. Затем, указанное коммуникационное средство управления может использоваться для поддерживания связи с другими устройствами в сети, такими как устройство 150 связи. Детали таких обменов и взаимосвязей между коммуникационными средствами управления, программами, которые были адаптированы для использования коммуникационного средства управления, и устройствами, будут более подробно поясняться далее.
Как объяснялось ранее, напечатанный с большой буквы термин «Интернет» относится к совокупности сетей и маршрутизаторов, которые используют средства связи друг с другом. Фиг. 1 иллюстрирует функциональную блок схему системы 100 связи, предназначенной для обеспечения соединений связи между устройствами. Хотя система 100, вообще говоря, функционирует в распределенной вычислительной операционной среде, содержащей отдельные компьютерные системы, взаимосвязанные через сеть 110 (например, такую как Интернет), специалисту должно быть понятно, что система 100 могла бы с одинаковым успехом функционировать в не вычислительных сетях, таких как сеть POTS (обычная телефонная сеть, как описывается ниже. Система 100, изображенная на фиг. 1, включает в себя клиентское устройство 200, базу данных 105 контактов, устройство 150 связи, провайдера 120 услуг связи, а также банк 125 сообщений, которые все связаны через сеть 110. Устройство 200 клиента обладает вычислительными возможностями и может быть таким устройством произвольной формы, которые обладают способностью обработки процедур по настоящему изобретению. Также, устройство 150 связи может быть вычислительным устройством или более простым устройством типа телефона. Специалисту будет понятно, что банк 125 сообщений и база данных 105 контактов могут размещаться на любом устройстве, доступном устройству 200 клиента, изображенным на системе 100 связи. Иллюстративное компьютерное устройство 200 клиента более подробно изображается на фиг. 2 и описывается ниже. Кроме того, хотя были изображены только одно устройство 200 клиента и одно устройство 150 связи, должно быть понятно, что в систему 100 могут быть включены большее количество устройств 200 клиента и/или устройств 150 связи. Устройство 200 клиента может также нами упоминаться как генерирующее устройство, а устройство 150 связи может упоминаться как устройство контакта.
Фиг. 2 изображает иллюстративное устройство 200 клиента, предназначенное для воплощения в дальнейшем описанных аспектов настоящего изобретения. В наиболее общей форме, устройство 200 клиента обычно включает, по меньшей мере, один процессорный модуль 202 и память 204. В зависимости от точной конфигурации и типа устройства клиента память 204 может быть энергозависимой (типа RAM памяти), энергонезависимой (типа ROM памяти, флэш-памяти и т.д.), или их некоторой комбинацией. Указанная наиболее общая конфигурация иллюстрируется на фиг. 2 пунктирной линией 206. Устройство 200 клиента может также иметь дополнительные особенности/функциональные возможности. Например, устройство 200 также может включать в себя дополнительный накопитель (сменный и/или не сменный), включая, магнитные или оптические диски, или ленту, но не ограничиваясь ими. Такой дополнительный накопитель иллюстрируется на фиг. 2 сменным накопителем 208 и не сменным накопителем 210. Компьютерные носители данных включают в себя энергозависимую и энергонезависимую памяти, сменные и не сменные носители, выполненные произвольным способом или технологией для хранения информации, такой как компьютерные считываемые команды, структуры данных, программные модули или другие данные, но не ограничиваются ими. Память 204, сменный накопитель 208 и не сменный накопитель 210 являются примерами компьютерных носителей данных. Компьютерные носители данных включают в себя память типа RAM, ROM, EEPROM, флэш-память или другие виды памяти, CD-ROM, цифровые универсальные диски ("DVD"), а также другие оптические накопители, магнитные кассеты, магнитные ленты, магнитные дисковые накопители или другие магнитные устройства хранения, или любую другую среду, которая может использоваться для сохранения или считывания требуемой информации и к которой может быть осуществлен доступ устройством 200 клиента, но не ограничиваются ими. Любые такие компьютерные носители данных могут быть частью устройства 200 клиента.
Компьютерные носители данных устройства 200 клиента также содержат компьютерные программы и/или процедуры, подходящие для поддерживания связи с отдаленными компьютерами и для обработки информации с отдаленных компьютеров, такие как провайдер 120 услуг связи и отдаленные устройства 200 клиента.
Устройство 200 клиента также может содержать соединение 212 связи, которое позволяет устройству поддерживать связь с другими устройствами. Соединение 212 связи является примером коммуникационного носителя информации. Коммуникационный носитель информации обычно содержит считываемые компьютером инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущая волна или другой механизм передачи, и включает в себя любую среду доставки информации. Термин «модулированный сигнал данных» означает сигнал, который имеет одну или несколько характеристик из своего набора характеристик, или изменяется таким образом, чтобы кодировать информацию в сигнале. На примере, который является не ограничивающим, коммуникационная среда включает в себя проводную среду, такую как проводная сеть или прямое проводное соединение, и беспроводную среду, такую как акустическая, радиочастотная, инфракрасная или другая беспроводная среда. Термин «считываемый компьютером носитель информации» здесь включает накопитель данных, коммуникационную среду или любую другую считываемую компьютером среду, известную специалистам.
Устройство 200 клиента также может иметь устройство(-а) 214 ввода данных, такое как клавиатура, мышь, перо, речевое устройство ввода данных, сенсорное устройство ввода данных и т.д. Также может быть включено устройство(-а) 216 вывода, такое как дисплей, громкоговоритель, принтер и т.д. Поскольку все эти устройства известны в уровне техники, здесь они не описываются.
Чтобы проиллюстрировать действие коммуникационных средств управления, сформированных согласно настоящему изобретению, фиг. 3 иллюстрирует одну последовательность взаимодействий между устройствами и системой 100 связи, изображенной на фиг. 1. Устройства системы 100, иллюстрируемые на фиг. 3, включают в себя устройство 200 клиента и устройство 150 связи наряду с базой 100 данных контактов и банком 125 сообщений. Взаимодействия устройств и процедуры, выполняемые различными устройствами, иллюстрируются и подробно поясняются со ссылками на фиг. 4-7.
Как можно видеть из вышеприведенного описания коммуникаций между устройствами настоящего изобретения, большая часть обработки обменов выполняется устройством 200 клиента. В дополнительных аспектах настоящего изобретения устройство 150 связи может быть менее сложным устройством, чем устройство 200 клиента. Например, при использовании телефонии звукового типа могло бы быть вероятным, чтобы устройство 200 клиента инициировало запрос связи в устройство 150 связи, которое является телефоном. Такая процедура могла бы быть выполнена при наличии определений протоколов телефонии, которые нужны, чтобы поддерживать связь с телефоном и необходимым адресом (то есть, номером телефона), для осуществления отдельного контакта на их устройстве связи (то есть, телефоне). Следующая фиг. 6 иллюстрирует упрощенную обработку, которая могла бы войти в простое контактное взаимодействие устройства 150 связи с более сложным устройством 200 клиента.
Возвратимся к фиг. 3, на которой соединение связи и обработка инициируются, когда устройство 200 клиента инициирует новую функцию 302 связи. Новая функция 302 связи потребует информации контакта, которая в данном иллюстративном взаимодействии получается с использованием запроса 304 адреса в базу 105 данных контактов. Запрос 304 адреса, посланный в базу 105 данных контактов, включает в себя информацию об инициированной связи, включающей типы связи, которые могут быть желательны, и любые предпочтительные протоколы и/или детали обмена (связи), посланные устройством 200 клиента. Затем база 105 данных контактов определяет, какие адреса, если они вообще есть, удовлетворяют требованиям, посланным посредством запроса адреса. Например, если оба, как запрос видео, так и запрос текстового интерактивного диалога, были указаны в запросе адреса, посланном в базу 105 данных контактов, то база 105 данных контактов может возвратить возможные функции 306 связи, которые согласуют типы требований видео и текстового интерактивного диалога, содержащихся в запросе 304 адреса.
Концепция «функции связи» включает в себя следующие части: адрес, тип связи и, дополнительно, коммуникационную программу (связи), провайдера услуг и/или протокол. Адрес используется для определения того, куда послать приглашение установить связь, используя функцию связи. Тип связи используется для определения того, какой тип коммуникационного приглашения инициировать на приемном конце. Если включается провайдер услуг, то он также может включать в себя информацию относительно того, куда сначала послать приглашение функции связи (например, можно послать приглашение провайдеру услуг, чтобы потом переслать на адрес контактирующей стороны). Включение специфической программы связи (или программы с встроенным расширяемым коммуникационным средством управления) дает дополнительное указание того, куда направить приглашение функции связи устройству 150 связи. Если устройство 150 связи не загрузило определенную программу(-ы), то приглашение могло бы заставить загрузить программу(-ы), или, по меньшей мере, на устройстве 150 связи может появиться индикация того, какую программу(-ы) загрузить. В иллюстративном варианте воплощения устройство 150 контакта включает в себя программу для обработки таких приглашений. Одна иллюстративная блок схема такой программы изображена на фиг. 5 и описана ниже. Если коммуникационная программа для некоторого типа связи может использовать ряд протоколов, то, посредством спецификации протокола в функции связи, можно было бы использовать правильный протокол в приглашении связи.
В одном иллюстративном сценарии если функция текстового интерактивного диалога для осуществления контакта является сеансом диалога на языке UNIX, то имя пользователя и имя владельца UNIX-компьютера возвращаются наряду с индикацией того, что необходим UNIX протокол текстового диалога, чтобы войти в контакт с контактирующей стороной под именем пользователя и именем владельца. Конечно, для специфического контакта могут быть доступны несколько типов функций (действий) и, соответственно, многочисленные типы адресов и протоколов могут быть возвращены на этапе 306. Специалисту должно быть понятно, что с настоящим изобретением возможны и совместимы множество типов функций (действий) связи. Далее, в одном аспекте настоящего изобретения определение функции связи является расширяемым посредством устройств клиента. Дальнейшие иллюстративные примеры будут понятны из описания, приведенного ниже.
Далее, устройство 200 клиента на этапе 308 определяет адрес или адреса и протоколы, чтобы использовать их для осуществления контакта со средством контакта в устройстве 150 связи. Например, если либо средство контакта, либо пользователь устройства 200 клиента указал предпочтение специфического типа функции связи даже несмотря на то, что доступны многочисленные типы, указанное предпочтение может быть сообщено с адресами обратно, и предпочтительный тип функции может быть выбран, если он пригоден для использования обеими сторонами. Процесс 310 определения может выполняться исключительно на устройстве 200 клиента, или процесс 308 определения может также включать в себя взаимодействия с другими устройствами для определения того, использует ли доступный в настоящее время контакт по специфическому адресу специфический тип связи. Например, при наличии некоторых систем интерактивного диалога с мгновенным обменом текстовыми сообщениями пользователи и контактирующие стороны передают индикацию относительно того, когда они станут доступными для проведения интерактивного диалога. Поэтому, определение того, какой адрес использовать для связи, может дополнительно включать в себя определение того, по какому адресу или адресам в настоящее время контакт может быть осуществлен в оперативном режиме.
Как только адреса, протоколы и возможные специфические коммуникационные программы были определены на этапе 308, на этапе 310 генерируется новый запрос связи или запросы (если желательны многочисленные типы связи). Во взаимодействии, изображенном на фиг. 3, изображена не одноранговая связь, которая имеет промежуточную услугу, через которую будет осуществляться фактическая связь. Следовательно, устройство 200 клиента обеспечивает подачу подробностей 312 диалога в банк 125 сообщений. Банк 125 сообщений является виртуальным местом встречи, где устройство 200 клиента и устройство 150 связи могут встречаться и обрабатывать свои обмены в режиме «диалога». Специалистам должно быть понятно, что банк 125 сообщений может располагаться на провайдере 120 услуг связи, на устройстве 200 клиента, на устройстве 150 связи, или на других различных устройствах, известных специалистам. Диалогом, который используется в настоящем изобретении, является любой обмен (связь), который(ая) вовлекает промежуточную услугу (служебное средство), принимающее связь в операционной среде, не являющейся по своей природе одноранговой. Как только подробности 312 диалога были посланы в банк 125 сообщений, в банке сообщений создается 314 диалог. Затем подтверждение 316 диалога возвращается в устройство 200 клиента, сообщая подробности для соединения с созданным диалогом.
Далее посылается запрос 318 связи на адрес, который был определен ранее. В данном варианте воплощения посылается указанный запрос 318 связи (приглашение) в устройство 150 связи, которое соответствует адресу связи (обмена). Как только устройство 150 связи принимает запрос связи (обмена), оно распознает 320 функцию запроса связи. Если приглашение принято, устройство связи начинает выполнение прикладной программы (приложения) 322, которая соответствует определенной функции запроса связи. Например, запрос 318 связи может специфицировать конкретное приложение либо посредством имени, либо через какую-то другую индикацию (например, протокол, тип файла, тип связи, и т.д.), как часть функции, специфицированной в запросе связи. Альтернативно, устройство 150 связи может иметь приложение, заданное по умолчанию, для обработки специфических функций. Как только на устройстве 150 связи началось выполнение приложения 322, подробности 324 соединения посылаются обратно в банк 125 сообщений, подсоединяя тем самым устройство связи к банку 125 сообщений. Дополнительно, может быть послано подтверждение 326 связи непосредственно обратно в устройство 200 клиента. Специалистам должно быть понятно, что соединение при обмене с банком 125 сообщений может быть достаточным подтверждением связи, и что в некоторых вариантах воплощения настоящего изобретения в устройство 200 клиента не посылается дополнительного подтверждения связи. Как только и устройство 200 клиента, и устройство 150 связи имеют все подробности для подсоединения к банку 125 сообщений, на этапах 328, 330 они могут перейти к обмену друг с другом через банк 125 сообщений.
Специалистам должно быть понятно, что банк 125 сообщений может включать в себя произвольное количество из несметного числа промежуточных программ связи, известных в уровне техники. Банк 125 связи может присутствовать в рефлекторах видеоконференций, серверных приложений интерактивных текстовых диалогов, серверных приложений интерактивных звуковых сообщений диалогов, и т.п.
Также, специалистам должно быть понятно, что фиг. 3 изображает только один иллюстративный набор взаимодействий между устройствами системы 100. Следовательно, в другие подобные взаимодействия могут быть включены дополнительные конфигурации устройств и подключений. Взаимодействия, изображенные на фиг. 3, как предполагается, являются иллюстративными, чтобы помочь в понимании настоящего изобретения и, как предполагается, не ограничивают область настоящего изобретения.
Как иллюстрируется на фиг. 1, 2 и 3, описанный здесь вариант воплощения системы 100 связи включает в себя устройство 200 клиента, которое используется для того, чтобы инициировать и обрабатывать обмены. На фиг. 4 изображена диаграмма, иллюстрирующая процедуру 400 соединения пользователя для связи, инициированной из устройства 200 клиента согласно одному варианту воплощения настоящего изобретения. Процедура 400 подсоединения пользователя начинается на этапе 401 и продолжается на этапе 405, в котором инициируется новая связь. Затем, на этапе 410, процедура 400 получает возможные функции связи для контактирующей стороны. Указанные функции могут быть получены из локальной базы данных 105 контактов или получены из удаленного местоположения, такого как справочный каталог компании, или поисковый указатель, могут быть введены пользователем вручную и т.п.
В одном иллюстративном варианте воплощения настоящего изобретения база данных 105 контактов содержит имя, почтовые адреса, адреса электронной почты, адреса доступа в реальном масштабе времени и т.д., но она не сохраняет преобразование между адресами доступа в реальном масштабе времени и функциями. Пользователь выбирает контакт, чтобы осуществить связь, и выбирает функцию, а устройство 200 клиента вычисляет, какой из контактных адресов использовать, чтобы реализовать указанную функцию через некоторого специфического провайдера услуг, доступного с устройства 200 клиента. В альтернативных вариантах воплощения настоящего изобретения, запись контакта могла бы указывать предпочтительный адрес для функции. Еще в одном варианте воплощения предпочтительный адрес может быть сохранен в каком-нибудь другом месте, например в «базе данных предпочтительных задач пользователя», которая свободно связана с записью контакта, в параметрах глобальной системы, совместно используемых всеми пользователями, или в месте, определенном на «ходу» на основании текущей установки пользователя (например, интерактивно через сотовый телефон, интерактивно через широкополосное подключение, интерактивно на рабочем месте, интерактивно дома и т.д.).
Затем, на этапе 415, осуществляется определение того, какой адрес или адреса, и приложения должны использоваться для поддерживания связи с контактирующей стороной. Как отмечено выше, определение адреса или адресов для поддерживания связи с контактирующей стороной может выполняться разнообразными способами. Однако в одном иллюстративном варианте воплощения настоящего изобретения все функции, доступные из базы данных 105 контактов для специфической контактирующей стороны, отыскиваются в блоке 410, а затем сравниваются с новой связью, которая была инициирована на этапе 405 для того, чтобы определить, имеются ли какие-нибудь подходящие комбинации адреса и типа связи, подходящие для поддерживания связи с устройством 150 связи, ассоциированным с контактирующей стороной.
Как только адрес или адреса были определены наряду с какими-либо ассоциированными типами связи и с другой информацией о функции, на этапе 420, генерируется новый запрос связи, включая, по меньшей мере, одну функцию. На этапе 425 принятия решения определяют являются ли все функции (действия) одноранговыми (например, в обмене не участвует никаких промежуточных устройств или не управляет им) по существу. Если все функции являются одноранговыми, то на этапе 430 запросы связи могут быть немедленно посланы в устройство 150 связи. Однако если на этапе 425 принятия решения было определено, что не все функции являются одноранговыми (например, имеется по меньшей мере одно промежуточное устройство, которое участвует в обмене или управляет