ДИНАМИЧЕСКОЕ УПРАВЛЕНИЕ СПИСКОМ КОНТАКТОВ
DYNAMIC MANAGEMENT OF CONTACT LIST

УРОВЕНЬ ТЕХНИКИ
[0001] Современные системы связи, которые могут обеспечивать большое число возможностей, включающих в себя интеграцию различных модальностей связи с различными службами, делают возможным более широкий массив связи между людьми. Приложения для социальных сетей, мультимодальные корпоративные приложения связи и сопоставимые приложения являются примерами быстро распространяющихся систем связи, использующих преимущества современных возможностей.
[0002] Многие приложения связи или служба (например, обмен мгновенными сообщениями, приложения передачи голоса по IP «VOIP» и т.п.) применяют механизм для поддержания контактов. Такие механизмы, как правило, управляются вручную конечным пользователем и их сложно, если возможно, передавать или поддерживать по различным службам. Пользователи могут тратить значительное количество времени на управление этими контактами и иметь дело со сложными длинными списками контактов, которые могут или могут не быть часто использованы. По мере развития систем связи, становятся преобладающими мультимодальные связи, связи в режиме реального времени или не в режиме реального времени, управление информацией о контакте между различными приложениями/службами становится все более сложной задачей.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0003] Сущность данного изобретения заключается в обеспечении выбора идей в упрощенной форме, которые далее описаны в подробном описании. Данная сущность изобретения не предназначена для исключительной идентификации ключевых признаков или существенных признаков заявленного изобретения, и она не должна рассматриваться как помощь при определении объема заявленного изобретения.
[0004] Варианты осуществления направлены на динамически управляемый список контактов совместно с устройствами и приложениями совместной работы и связи. Автоматизированные и заданные пользователем коэффициенты для установления приоритетов списков контактов могут быть определены на основе информации из различных ресурсов, такой как пользовательский профиль, информация о контакте, информация прошлой связи, типы устройств/приложений и сопоставимая информация. Коэффициенты могут быть взвешены и применены для установления приоритетов списков контактов при различных обстоятельствах. Согласно некоторым вариантам осуществления списки контактов с установленными приоритетами могут быть обеспечены пользователю, сохранены или иным образом обработаны.
[0005] Эти и другие признаки и преимущества будут очевидны из прочтения нижеследующего подробного описания и просмотра ассоциированных чертежей. Следует понимать, что и вышеприведенное общее описание и нижеследующее подробное описание являются поясняющими и не ограничивают аспекты, как заявлено.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0006] Фиг. 1 - схема, иллюстрирующая примерную унифицированную систему связи, где варианты осуществления могут быть реализованы для предварительного заполнения списков контактов;
[0007] Фиг. 2 - блок-схема, иллюстрирующая компоненты и ресурсы в динамическом управлении списками контактов;
[0008] Фиг. 3 - концептуальная схема, иллюстрирующая динамическое управление списками контактов на основе информации из различных источников согласно вариантам осуществления;
[0009] Фиг. 4 - скриншот примерного пользовательского интерфейса для обеспечения динамически управляемой информации о контакте пользователю;
[0010] Фиг. 5 - блок-схема различных компонентов и процессов в примерной системе динамического управления контактами согласно вариантам осуществления;
[0011] Фиг. 6 - сетевое окружение, где система согласно вариантам осуществления может быть реализована;
[0012] Фиг. 7 - блок-схема примерного вычислительного операционного окружения, где варианты осуществления могут быть реализованы; и
[0013] Фиг. 8 иллюстрирует логическую схему последовательности операций для процесса динамического управления списками контактов согласно вариантам осуществления.
ПОДРОБНОЕ ОПИСАНИЕ
[0014] Как кратко описано выше по тексту, списки контактов могут быть под динамическим управлением и информацию о контакте с установленными приоритетами обеспечивают пользователям на основе информации из различных ресурсов и весовых коэффициентов. В нижеследующем подробном описании ссылки делаются на прилагаемые чертежи, которые формируют его часть и на которых в виде иллюстраций показаны конкретные варианты осуществления или примеры. Эти аспекты могут быть объединены, другие аспекты могут быть использованы, и структурные изменения могут быть сделаны без отступления от сущности или объема настоящего раскрытия. Нижеследующее подробное описание, следовательно, не должно быть принято в ограничивающем смысле, и объем настоящего изобретения задается прилагаемыми пунктами формулы изобретения и их эквивалентами.
[0015] В то время как варианты осуществления будут описаны в общем контексте программных модулей, которые исполняются вместе с прикладной программой, которая работает на операционной системе на персональном компьютере, специалистам в данной области техники будет понятно, что аспекты также могут быть реализованы вместе с другими программными модулями.
[0016] Как правило, программные модули включают в себя подпрограммы, программы, компоненты, структуры данных и другие типы структур, которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Кроме того, специалистам в данной области техники будет понятно, что варианты осуществления могут быть осуществлены на практике с другими компьютерными системными конфигурациями, включающими в себя портативные устройства, многопроцессорные системы, микропроцессорную или программируемую потребительскую электронику, мини-компьютеры, универсальные компьютеры и сопоставимые вычислительные устройства. Варианты осуществления могут быть осуществлены на практике в распределенных вычислительных окружениях, где задачи выполняются удаленными устройствами обработки, которые связаны через сеть связи. В распределительном вычислительном окружении, программные модули могут быть расположены и в локальных, и в удаленных запоминающих устройствах.
[0017] Варианты осуществления могут быть реализованы в виде реализуемого компьютером процесса (способа), вычислительной системы, или, как изделие производства, такое как компьютерный программный продукт или считываемый компьютером носитель. Компьютерный программный продукт может быть компьютерным носителем информации, считываемым компьютерной системой и кодирующим компьютерную программу, которая содержит команды для побуждения компьютера или вычислительной системы к выполнению примерного процесса(ов). Считываемый компьютером носитель информации, например, может быть реализован с помощью одного или нескольких из энергозависимой компьютерной памяти, энергонезависимой памяти, накопителя на жестких дисках, флэш-накопителя, дискеты или компакт-диска и сопоставимого носителя.
[0018] В данном описании термин «платформа» может представлять собой объединение компонентов аппаратного и программного обеспечения для управления мультимодальными системами связи. Примеры платформ включают в себя, но не ограничиваясь этим, службу хостирования, исполняемую на множестве серверов, приложение, исполняемое на одном сервере, и сопоставимые системы. Термин «сервер» обычно относится к вычислительному устройству, исполняющему одну или несколько программ программного обеспечения, как правило, в сетевом окружении. Однако сервер также может быть реализован как виртуальный сервер (программами программного обеспечения), исполняемый на одном или нескольких вычислительных устройствах, просматриваемых в сети в качестве сервера. Больше подробностей об этих технологиях и примерных операциях приводится ниже по тексту. Кроме того, термин «динамический», используемый вместе с поддержанием списков контактов, предназначен для иллюстрации различия между традиционными подходами, где статически хранящаяся и управляющаяся информация используется с жесткими правилами, и вариантами осуществления, которые делают возможным создание и обновление информации контактов на основе часто меняющихся параметров, таких как присутствие абонента, пользовательское(ие) устройство(а), типы беседы и схожие параметры.
[0019] Фиг. 1 включает в себя схему 100, иллюстрирующую примерную унифицированную систему связи, где могут быть реализованы варианты осуществления для динамического управления списками контактов. Унифицированная система связи является примером современных систем связи с широким спектром возможностей и служб, которые могут быть обеспечены абонентам. Унифицированная система связи является системой связи в режиме реального времени, содействующей обмену мгновенными сообщениями, присутствию, аудио-видео конференции, веб-конференции и подобных функциональностей.
[0020] В унифицированной системе связи («UC», unified communication), такой как система, показанная на схеме 100, пользователи могут осуществлять связь с помощью различных конечных устройств (102, 104), которые являются клиентскими устройства системы UC. Каждое клиентское устройство может быть способно исполнять одно или несколько приложений связи для голосовой связи, видеосвязи, обмена мгновенными сообщениями, совместного использования приложения, совместного использования данных и подобного. В дополнение к их расширенной функциональности, конечные устройства также могут содействовать традиционным телефонным вызовам через внешнее соединение, например через PBX (АТС) 124 к телефонной сети общего пользования («PSTN», Public Switched Telephone Network). Конечные устройства могут включать в себя любой тип смартфона, сотового телефона, любого вычислительного устройства, исполняющего приложение связи, интеллектуальной автомобильной консоли и усовершенствованных телефонных устройств с дополнительной функциональностью.
[0021] Сеть(и) 110 UC включает в себя некоторое число серверов, выполняющих различные задачи. Например, серверы 114 UC обеспечивают функциональности регистрации, присутствия и маршрутизации. Функциональность маршрутизации позволяет системе осуществлять маршрутизацию вызовов для пользователя к любому из клиентских устройств, назначенных пользователю на основе политик, установленных пользователем, и/или по умолчанию. Например, если пользователь не является доступным через обычный телефон, то вызов может быть переадресован на сотовый телефон пользователя, и если он не отвечает, может быть использовано некоторое число опций голосовой почты. Поскольку конечные устройства могут оперировать дополнительными режимами связи, серверы 114 UC могут обеспечивать доступ к этим дополнительным режимам связи (например, обмену мгновенными сообщениями, видеосвязи и т.д.) через сервер 112 доступа. Сервер 112 доступа находится в сети периметра и обеспечивает возможность соединения через сеть(и) 110 UC с другими пользователями в одном из дополнительных режимов связи. Серверы 114 UC могут включать в себя серверы, которые выполняют объединения описанных выше функциональностей, или специализированные серверы, которые обеспечивают только конкретную функциональность. Например, домашние серверы, обеспечивающие функциональность присутствия, серверы маршрутизации, обеспечивающие функциональность маршрутизации, и так далее. Подобным образом, сервер 112 доступа может обеспечивать множественные функциональности, такие как защита брандмауэром и возможность соединения, или только конкретные функциональности.
[0022] Сервер 118 аудио/видео (A/V) конференции обеспечивает возможности аудио- и/или видеоконференции, содействуя им по внутренней или внешней сети. Сервер-посредник 116 осуществляет посредничество при передаче сигналов и носителей к и от других типов сетей, таких как PSTN или сотовая сеть (например, вызовы через PBX 124 или с мобильного телефона 122). Сервер-посредник 116 может также действовать как пользовательский агент протокола инициализации сеанса (SIP).
[0023] В системе UC пользователи могут обладать одним или несколькими идентификационными элементами, которые необязательно ограничиваются телефонным номером. Идентификационный элемент может принимать любую форму, в зависимости от интегрированных сетей, такую как номер телефона, унифицированный идентификатор ресурса (URI) протокола инициализации сеанса (SIP) или любой другой идентификатор. Несмотря на то, что любой протокол может быть использован в системе UC, SIP является обычно используемым способом.
[0024] SIP является протоколом управления (передачи сигналов) прикладного уровня для создания, модифицирования и завершения сеансов с одним или несколькими участниками. Он может быть использован для создания двухсторонних, многосторонних или многоадресных сеансов, которые включают в себя телефонные вызовы по Интернету, мультимедийное распространение и мультимедийные конференции. SIP спроектирован, чтобы быть независимым от лежащего в основе транспортного уровня.
[0025] Клиенты SIP могут использовать протокол управления передачей («TCP») для соединения с серверами и другими конечными точками SIP. SIP первоначально используется при установке и завершении голосовых или видео-вызовов. Однако он может быть использован в любом приложении, где инициализация сеанса является требованием. Они включают в себя событие подписки и уведомления, мобильности терминала и тому подобное. Голосовые и/или видеосвязи, как правило, выполняются по отдельным протоколам сеанса, как правило, по протоколу реального времени («RTP»).
[0026] Система UC может обеспечивать платформу для социальных сетей, мультимодальных корпоративных связей и схожих окружений. Когда абоненты принимают участие в таком окружении, они разрабатывают список(и) контактов как часть получения преимуществ от возможностей их расширенного приложения(ий) связи. В системе в соответствии с вариантами осуществления, списки контактов для различных приложений могут быть динамически управляемыми в связи с различными устройствами и приложениями совместной работы и связи и с установленными приоритетами на основе взвешенных коэффициентов, таких как тип и частота связи между абонентом и контактами, возможности и типы устройства/приложения, время суток, день недели, однозначно заданные отношения и схожие параметры. Более подробные примеры приведены ниже по тексту.
[0027] В то время как примерная система по Фиг. 1 была описана с конкретными компонентами, такими как сервер-посредник, сервер A/V и схожие устройства, варианты осуществления не ограничиваются этими компонентами или системными конфигурациями и могут быть реализованы с другой системной конфигурацией, применяющей меньшее количество компонентов или дополнительные компоненты. Функциональность систем динамического управления списками контактов на основе различных источников и весовых коэффициентов также может быть распределена между компонентами системы по-разному в зависимости от возможностей компонентов и системных конфигураций. Кроме того, варианты осуществления не ограничиваются унифицированными системами связи. Подходы, обсуждаемые в данном описании, могут быть применены к любому обмену данными в сетевом окружении связи, используя принципы, описанные в настоящем документе.
[0028] Фиг. 2 представляет собой блок-схему, иллюстрирующую компоненты и ресурсы при динамическом управлении списками контактов. Как упоминалось выше по тексту, система в соответствии с вариантами осуществления может динамически управлять списком(ами) контактов пользователя на основе взвешенных коэффициентов, вычисленных из различных источников. Некоторая информация, используемая при определении приоритетов, может включать в себя частоту связи/совместной работы, тип связи, время суток, день недели, однозначно заданные отношения и подобные пользовательские предпочтения.
[0029] Различные типы информации, которые могут быть использованы при установлении приоритетов списков контактов, показаны в четырех категориях на схеме 200. Пользовательская информация 232 может включать в себя любую информацию, ассоциированную с профилем пользователя. Примеры пользовательской информации 232 могут включать в себя отношения, однозначно заданные пользователем (например, менеджер, члены команды и т.д.), возможности пользовательского приложения/ устройства (например, модальность беседы), пользовательское местоположение (например, дома, на работе, в общественном месте), текущее время суток и/или день недели для пользователя и однозначные пользовательские предпочтения.
[0030] Информация 234 о контакте относится к информации, ассоциированной с конкретными контактами в списке контактов, такой как отношения однозначно заданные контактами, возможности устройства/приложения контакта, местоположение контакта, текущее время суток и/или день недели для контакта и сопоставимая информация. Информация 236 связи охватывает информацию, ассоциированную с прошлыми беседами с отдельными контактами. Она может включать в себя частоту связи, время связи, длительность связи, модальность связи (например, аудио, видео, электронная почта, обмен мгновенными сообщениями, совместная работа с данными, совместное использование приложения, совместное использование белой доски, мультимодальная беседа, мультимодальная конференция и т.д.), число людей, вовлеченных в связь, была ли связь инициирована пользователем или контактом (или третьей стороной) и схожую информацию. Другая информация 238 может включать в себя любые источники оставшейся релевантной информации, такой как сетевые условия, правила администратора и тому подобное.
[0031] Информация, описанная выше по тексту, может быть использована для вычисления взвешенных коэффициентов для установления приоритетов (240) списков контактов. Нижеследующее представляет собой некоторые примерные сценарии. Коэффициенты для установления приоритетов списка контактов сперва могут быть взвешены на основе очевидных пользовательских предпочтений. Тип прошлой связи с контактами также может быть взвешен в соответствии с модальностью связи. Например, электронная почта более формальна, чем мгновенное сообщение или аудио вызовы. Таким образом, беседы по электронной почте могут принимать меньший коэффициент веса. Подобным образом, контакты, с которыми часто осуществляется связь, могут обладать более высокими приоритетами, нежели контакты, с которыми связь осуществляется реже. Время суток и/или день недели для прошлых связей могут помочь определить приоритет контактов (например, если коллега осуществляет связь не в рабочее время, этот контакт может обладать более высоким приоритетом, нежели другие коллеги). Подобным образом, текущее время суток и/или день недели для пользователя и контакта(ов) может определять, как контакты должны быть упорядочены. Контакты, с которыми прошлые связи происходили строго в рабочее время, могут быть смещены по приоритету ниже в нерабочее время для пользователя. Пользователь и контакты могут находиться в разных часовых поясах. Таким образом, соответствующее время может рассматриваться при установлении приоритетов списка контактов. Другим примером коэффициента, который может быть принят во внимание, являются возможности приложения/устройства пользователя и/или контактов. Например, если пользователь в настоящее время обладает своим карманным устройством, действующим без возможностей электронной почты или видео, контакты с которыми в основном пользователь осуществлял связь по электронной почте или видеоконференции могут быть смещены по приоритету ниже.
[0032] После того, как установлены приоритеты списка контактов, он может быть отображен пользователю (242) через его устройство связи или могут быть выполнены другие действия 244. Другие действия 244 могут включать в себя сохранение списка(ов) контактов (246) в локальном или удаленном хранилищах данных, обновление списка(ов) (248) контактов посредством удаления редких или неиспользуемых контактов/добавления новых контактов, обеспечение пользовательских напоминаний (250) о редких контактах, изменениях в приоритете списка(ов) контактов и схожие действия.
[0033] Фиг. 3 включает в себя концептуальную схему 300, иллюстрирующую динамическое управление списками контактов на основе информации из различных источников в соответствии с вариантами осуществления. Несмотря на то, что система в соответствии с вариантами осуществления, вероятнее всего включает в себя некоторое число серверов и служб, которые проиллюстрированы на Фиг. 1, на Фиг. 3 показаны только те, которые имеют отношение к вариантам осуществления.
[0034] Пользователь 370 может принимать участие в различных связях и совместных работах через одно или несколько приложений и устройств (372, 374 и 376) по социальной сети, корпоративной сети, частной сети или схожим сетям. Некоторые из этих сетей могут быть для профессионального использования, другие для личного использования. Сети и службы совместной работы/связи могут быть совместимы, делая возможным или невозможным обмен данными. Пользователь 370 может взаимодействовать с другими пользователями и внешними контактами через службу 364 связи, исполняемую на сервере 360 связи в связи с одним из устройств 372, 374 или 376. Одним из инструментов пользователя 370 для участия в беседах является список 368 контактов. Список 368 контактов обеспечивает не только информацию о контакте для выбранного человека и ресурсов, но также позволяет контактам быть сгруппированными для легкости использования, обеспечивает дополнительную информацию, такую как информация присутствия, ассоциированная с контактами, и тому подобное.
[0035] Взвешенные коэффициенты для динамического управления списком 368 контактов могут быть вычислены модулем 366 установления приоритетов списка контактов службы 364 связи на основе данных, принятых из различных источников. Например, некоторое число хранилищ 354 данных контакта может быть доступно в системе связи, например каталог всех системных абонентов или хранилищ отличительных данных для различных групп абонентов. Сервер 352 каталога также может быть источником для информации о контакте. Подобным образом данные, связанные с прошлыми связями (тип, модальность, длительность, время и т.д.), могут быть приняты от сервера 356 UC, другого(их) сервера(ов) 358 связи или схожих источников. Сервер 362 присутствия может обеспечивать местоположение, время и схожую информацию о контактах и/или пользователе 370.
[0036] Согласно некоторым вариантам осуществления данные из этих различных источников могут быть проанализированы, сгруппированы и для упорядочения списка 368 контактов могут быть вычислены взвешенные коэффициенты, как описано выше по тексту. Некоторая информация может быть результатом интеллектуального анализа данных в различных хранилищах данных, ассоциированных с пользователем. Таким образом, период интеллектуального анализа данных для определения взвешенных коэффициентов (например, за последние 6 месяцев или за любой другой предварительно определенный период) может быть определен автоматически или задан пользователем 370. Правила для сбора данных для вычисления взвешенных коэффициентов могут быть дополнительно настраиваемыми на основе атрибутов пользователей или типов связи. Например, различные периоды времени могут быть заданы для интеллектуального анализа данных хранилищ контактов для различных абонентских уровней (информация менеджера может быть извлечена из записей за прошлый год, информация ассистента может быть извлечена из записей за последние шесть месяцев, данные для связи по электронной почте могут быть собраны за более длительный период в сравнении с данными для голосовых вызовов и т.д.).
[0037] Несмотря на то, что варианты осуществления описаны со ссылкой на «контакты», этот термин не следует толковать как ограниченный списком контактов в контексте приложения электронной почты или ведения календаря. Контакт, как используется в настоящем описании, относится к более широкому пониманию партнеров связи по различным сетям, участвующих в беседах, применяющих одну или несколько модальностей.
[0038] Примерные системы на фиг. 1, 2 и 3 были описаны с конкретными компонентами, такими как серверы связи, серверы каталогов, серверы присутствия и т.п., варианты осуществления не ограничены системами связи в соответствии с этим примерными конфигурациями. Мультимодальная система связи, применяющая динамическое управление списком контактов, может быть реализована в конфигурациях, применяющих меньшее количество компонентов или дополнительные компоненты и выполняющих другие задачи.
[0039] Фиг. 4 представляет собой снимок экрана пользовательского интерфейса для обеспечения пользователю динамически управляемой информации о контакте. Приложения связи, такие как приложение 364 связи по Фиг. 3, применяющие динамически управляемые списки контактов, могут использовать любой тип пользовательского интерфейса, например, один с выбранными признаками (особенностями) показан на снимке 400 экрана.
[0040] Пользовательский интерфейс может включать в себя изображение (478), имя и статус (480), а также текущее местоположение (482) пользователя. Графические иконки 484 для активации различных режимов связи (например, телефонный вызов, конференц-связь, обмен текстовыми сообщениями и т.д.) могут обеспечивать пользователю альтернативные способы инициирования (или ответа) различных сеансов связи. Участок пользовательского интерфейса (486) может позволить абоненту выбирать из числа различных опций для связи, таких как выбор контакта из списка контактов или выбор группы.
[0041] Контакты могут быть представлены в виде единого списка или категорированы на группы, как описано выше по тексту. Примерные категории, проиллюстрированные на схеме 400, включают в себя недавние контакты (не развернуты на фигуре), отдел 488 продаж, личные контакты 490 и управление 492. Как обсуждалось выше по тексту, установление приоритетов контактов в списке и/или категорирование контактов могут быть выполнены посредством вычисления взвешенных коэффициентов на основе информации, ассоциированной с пользователем, контактами, прошлыми сеансами связи, текущим окружением (время, местоположение, возможности устройства/приложения и т.д.). Информация для вычисления взвешенных коэффициентов может быть получена из различных источников, таких как те, которые обсуждались в связи с Фиг. 2 и 3. Пользователю и/или администратору может быть позволено задавать правила для вычисления взвешенных коэффициентов, модифицировать местоположение контакта в списке или выполнять сопоставимые действия. Контакты могут быть отображены в различных формах, включающих в себя текстовые, графические и другие формы представления, которые могут включать в себя дополнительную функциональность.
[0042] Рассмотренные выше сценарии, примерные системы, информация о контакте или приложения предназначены только для целей иллюстрации. Варианты осуществления не ограничиваются этими примерами. Другие формы данных контакта, способы установления приоритетов или группировки, и приложения могут быть использованы при реализации динамического управления списками контактов аналогичным образом с использованием принципов, описанных в данном документе. Кроме того, пользовательский интерфейс для отображения динамически управляемых списков контактов, таких как те, которые показаны на Фиг. 4, может включать в себя меньшее количество графических или текстовых элементов и функциональности или их дополнительное количество.
[0043] Фиг. 5 иллюстрирует блок-схему 500 различных компонентов и процессов в примерной системе динамического управления контактами согласно вариантам осуществления.
[0044] В соответствии с некоторыми вариантами осуществления списки контактов могут динамически управляться на различных этапах. Сначала система может создавать объекты контакта для хранения пользовательских метаданных, которые включают в себя информацию о пользователе, а также дополнительную информацию для управления контактами, такую как вес контакта, отношение с контактом, пользовательские предпочтения, возможности контакта и используемая модальность (например, если пользователь находится только на устройстве с телефоном, контакт с которым прошлая связь осуществлялась исключительно посредством обмена мгновенными сообщениями, может быть удален из списка или смещен по приоритету ниже). Схема, используемая для объектов контакта, может быть расширяемой для хранения дополнительных метаданных, если это необходимо для контактов.
[0045] Второй этап может включать в себя вычисление весов для контактов на основе различных коэффициентов 502. Вес контакта задает относительное расстояние контакта от пользователя. Общий вес для контакта может быть вычислен на основе различных взвешенных коэффициентов 502. Примерные коэффициенты включают в себя: частоту связи 504 с контактом (например, контакт, с которым пользователь осуществляет связь три раза в день, может иметь больший вес по сравнению с другим контактом, с которым переписка по электронной почте или его вызов выполняется раз в день); тип связи 514, такой как входящая, исходящая, групповая связь и т.д. (например, связь начатая пользователем к контакту может нести больший вес, чем связь инициированная связью контакта или группы); модальность связи 512, такая как электронная почта, обмен мгновенными сообщениями, телефон и т.д. (например, пользователь может использовать обмен мгновенными сообщениями для большинства контактов, но телефон только для личных контактов); время суток/день недели и продолжительность (например, связь после рабочего времени или более длинные беседы могут задавать более высокий вес для контакта).
[0046] Другие коэффициенты могут включать в себя время суток (или день недели) 506, заданные пользователем отношения 508, число участников в групповых связях 516, возможности и типы 510 клиентского приложения для пользователя и контактов, возможности и типы 518 клиентского устройства для пользователя и контактов. Система в соответствии с вариантами осуществления может также применять алгоритм «старения» для отрицательного приращения веса для контактов, с которыми контакт не осуществляется часто. Это в свою очередь может сместить контакт в списке ниже по приоритету.
[0047] Затем кэш списка контактов может быть создан для вычисления динамического списка (520) контактов. Система может создавать кэш некоторого числа контактов, с которыми пользователь осуществлял связь в прошлом. Кэш также может включать в себя контакты, которые были однозначно добавлены пользователем в список контактов. Кэш может быть совместно использован несколькими устройствами и приложениями (534, 536 и 538), ассоциированными с пользователем, такими как приложения электронной почты, приложения связи, приложения для социальных сетей, приложения совместной работы, настольные устройства, карманные устройства, интеллектуальные телефоны и схожие типы.
[0048] Согласно некоторым вариантам осуществления кэш списка контактов может быть сохранен в перемещаемом профиле для пользователя, обеспечивая возможность доступа с различных устройств и конечных точек. Список контактов с весами и другими атрибутами контакта также может быть поддержан в унифицированном хранилище 522 контактов, ассоциированном с пользовательским профилем. Это хранилище может быть ассоциировано с конкретной службой связи/совместной работы или другой централизованной базой данных. Любое приложение или устройство с доступом к этому центральному хранилищу может запрашивать список частых контактов.
[0049] Другой этап при динамическом управлении списками контактов представляет собой отображение списка(ов) через приложение совместной работы/связи. Приложение может осуществлять вызов в централизованный список для получения частых контактов, которые являются релевантными для модальностей, поддерживаемых приложением и/или устройством. Например, если приложение дает возможность бесед лишь с помощью телефона и обмена мгновенными сообщениями и без электронной почты, оно может запрашивать список контактов для частых контактов, которые имеют SIP URI или Tel URI, соответственно для поддержания бесед с помощью обмена мгновенными сообщениями и телефона. Другим примером может быть телефонное приложение, которое запрашивает список частых контактов с возможностью содействия голосовой связи.
[0050] Поскольку данные хранятся для объекта контакта, корреляция различных механизмов передачи сигналов обеспечена в одном единственном месте и приложение может осуществлять фильтрацию данных контакта для отображения на основе поддерживаемого протокола передачи сигналов. Кроме того, если список частых контактов хранится в централизованном местоположении, он обеспечивает легкий доступ ко всем приложениям. Визуализация частых контактов может быть настроена для различных приложений (528, 523 и 532). Согласно другим вариантам осуществления приложения могут быть обеспечены доступом к интерфейсу для редактирования/вычисления весов для контактов и обновления их в централизованном пользовательском профиле.
[0051] Как описано выше по тексту, пользователю может быть позволено обеспечивать ввод для настройки динамического списка контактов. Система в соответствии с некоторыми вариантами осуществления может обеспечивать пользователю опции для управления динамическим списком контактов. Пользователь может задавать его/ее предпочтения, которые могут быть использованы системой для задания списка контактов. Такие опции могут включать в себя, но не ограничиваясь этим, предпочтения, основанные на приложении, устройстве, времени суток, отношении, местоположении и подобном. Кроме того, приложения и устройства, визуализирующие настроенные списки контактов, могут обеспечивать дополнительную обратную связь системе для динамического вычисления весов (540) контактов.
[0052] Согласно дополнительным вариантам осуществления динамическое управление списками контактов может включать в себя удаление старых или неиспользуемых контактов из списков. Алгоритм «старения» может быть применен к механизму 524 неиспользуемых контактов для отрицательного приращения веса контактов, связь с которыми не осуществлялась часто. Поскольку система содержит знание различных метаданных, связанных с контактами, она может предлагать пользователю удаление таких контактов из списка контактов, или напоминать пользователю осуществить контакт (526) с ними, помогая при общем управлении контактами. Очистка списка контактов может быть особой для устройств и приложений. Например, контакт может быть частью унифицированного хранилища контакта, ассоциированного с пользовательским профилем, но пользователь может желать больше не отображать этот контакт в его/ее списке контактов для приложения обмена мгновенными сообщениями.
[0053] Фиг. 6 представляет собой примерное сетевое окружение, где варианты осуществления могут быть реализованы. Платформа, обеспечивающая динамическое управление контактом в системах связи, может быть реализована через программное обеспечение, исполняемое на одном или нескольких серверах 618, например служба хостирования. Платформа может осуществлять связь с клиентскими приложениями на отдельных вычислительных устройствах, таких как сервер 613 или портативный компьютер 612 и настольный компьютер 611 ('клиентские устройства') через сеть(и) 610.
[0054] Как описано выше по тексту, модуль установления приоритетов контактов в связи со службой или приложением связи может быть использован для управления списками контактов, устанавливая приоритеты контактов на основе взвешенных коэффициентов и других метаданных, а также модифицируя списки на основе схожих коэффициентов. Приложение или служба связи, исполняемые на серверах 618 или отдельном сервере 614, могут принимать ввод от пользователей через клиентские устройства 611, 612 или 613, получать данные контакта/пользователя/связи из хранилищ(а) 616 данных и обеспечивать пользователю(ям) списки контактов с установленными приоритетами. В других вариантах осуществления списки контактов с установленными приоритетами могут быть переданы (например по электронной почте), напечатаны или сохранены на основе пользовательского запроса.
[0055] Сеть(и) 610 может содержать любую топологию серверов, клиентов, поставщиков услуг Интернет и среды связи. Система согласно вариантам осуществления может обладать статической или динамической топологией. Сеть(и) 610 может включать в себя защищенные сети, такие как корпоративная сеть, незащищенную сеть, такую как беспроводная открытая сеть или Интернет. Сеть(и) 610 также могут координировать связь по другим сетям, таким как телефонная сеть общего пользования (PSTN) или сотовые сети. Кроме того, сеть(и) 610 могут включать в себя беспроводные сети малой дальности, например Bluetooth или схожие сети. Сеть(и) 610 обеспечивает связь между узлами, описанными в данном документе. Посредством примера, а не ограничения, сеть(и) 610 может включать в себя беспроводную среду, такую как акустическая, RF, инфракрасная и другая беспроводная среда.
[0056] Многие другие конфигурации вычислительных устройств, приложений, источников данных и систем распределения данных могут быть применены для реализации системы связи с динамически управляемыми списками контактов. Кроме того, сетевые окружения, описанные на Фиг. 6, представлены только для иллюстративных целей. Варианты осуществления не ограничены примерными приложениями, модулями или процессами.
[0057] Фиг. 7 и ассоциированное обсуждение предназначены для обеспечения краткого, общего описания подходящего вычислительного окружения, в котором варианты осуществления могут быть реализованы. Со ссылкой на Фиг. 7 проиллюстрирована блок-схема примерного вычислительного операционного окружения для приложения согласно вариантам осуществления, например вычислительное устройство 700. В базовой конфигурации вычислительное устройство 700 может представлять собой сервер, управляющий приложением связи или службой и включает в себя по меньшей мере один обрабатывающий блок 702 и системную память 704. Вычислительное устройство 700 также может включать в себя множество обрабатывающих блоков, которые взаимодействуют при исполнении программ. В зависимости от конкретной конфигурации и типа вычислительного устройства системная память 704 может быть энергозависимой (например RAM), энергонезависимой (например ROM, флэш памятью и т.д.) или некоторым объединением двух. Системная память 704 типично включает в себя операционную систему 705, подходящую для управления работой платформы, такую как операционная система WINDOWS  от Корпорации Microsoft из Редмонда, Вашингтон. Системная память 704 также может включать в себя одно или несколько приложений программного обеспечения, например программные модули 706, службу 722 связи и модуль 724 управления списком контактов.
[0058] Служба 722 связи может быть любым приложением, которое содействует связи между клиентскими приложениями и серверами, относящимися к расширенной системе связи. Модуль 724 управления списком контактов может принимать информацию о контакте, информацию связи и схожие данные, взвешивать предварительно определенные коэффициенты и устанавливать приоритеты спискам контактов, которые должны быть обеспечены пользователям, как обсуждалось выше по тексту. Списки контактов могут быть динамически обновлены на основе информации, принятой из различных источников. Модуль 724 управления списком контактов и приложение 722 могут быть отдельными приложениями или объединенными модулями службы хостирования, которая обеспечивает расширенные службы связи клиентским приложениям/устройствам. Эта базовая конфигурация проиллюстрирована на Фиг. 7 посредством этих компонентов в пределах пунктирной линии 708.
[0059] Вычислительное устройство 700 может обладать дополнительными признаками или функциональностью. Например, вычислительное устройство 700 также может включать в себя дополнительные устройства хранения данных (съемные и/или несъемные), такие, как, например, магнитные диски, оптические диски или лента. Такое дополнительное хранилище проиллюстрировано на Фиг. 7 посредством съемного хранилища 709 и несъемного хранилища 710. Считываемый компьютером носитель данных может включать в себя энергозависимый и энергонезависимый, съемный и несъемный носитель, реализованный любым способом или технологией для хранения информации, такой как считываемые компьютером команды, структуры данных, программные модули или другие данные. Системная память 704, съемное хранилище 709 и несъемное хранилище 710 представляют собой примеры считываемого компьютером носителя данных. Считываемый компьютером носитель данных включает в себя, но не ограничиваясь этим, RAM, ROM, EEPROM, флэш память или другую технологию памяти, CD-ROM, универсальные цифровые диски (DVD) или другое оптическое хранилище, магнитную ленту, хранилище на магнитном диске или другие магнитные устройства хранения, или любой другой носитель, который может быть использован для хранения желаемой информации и который может быть доступен посредством вычислительного устройства 700. Любой такой считываемый компьютером носитель данных может быть частью вычислительного устройства 700. Вычислительное устройство 700 также может иметь устройство(а) 712 ввода, такое как клавиатура, мышь, перо, устройство ввода голосом, устройство ввода касанием и сопоставимые устройства ввода. Устройство(а) 714 вывода, такое как устройство отображения, громкоговорители, принтер и другие типы устройств вывода также могут быть включены. Эти устройства хорошо известны в технике и не нуждаются в дальнейшем описании в данном документе.
[0060] Вычислительное устройство 700 также может содержать соединения 716 связи, которые позволяют устройство осуществлять связь с другими устройствами 718, например по проводным или беспроводным сетям в распределенном вычислительном окружении, линии связи спутника, сотовой линии связи, сетям малого действия и сопоставимым механизмам. Другие устройства 718 могут включать в себя компьютерное устройство(а), которое исполняет приложения связи, другие серверы каталогов или политик и сопоставимые устройства. Соединение(я) 716 связи является одним примером носителя связи. Носитель связи может включать в себя считываемые компьютером команды, структуры данных, программные модули или другие данные. Посредством примера, а не ограничения, носитель связи включает в себя проводной носитель, такой как проводная сеть или прямое проводное соединение и беспроводный носитель, такой как акустический, RF, инфракрасный и другой беспроводный носитель.
[0061] Примерные варианты осуществления также включают в себя способы. Эти способы могут быть реализованы различными способами, включающими в себя структуры, описанные в этом документе. Один такой способ выполняется машинными операциями устройств типа, который описан в этом документе.
[0062] Другим необязательным способом является одна или несколько отдельных операций способа, который должен быть выполнен совместно с одним или несколькими людьми-операторами, выполняющими подобное. Этим людям-операторам нет необходимости располагаться по соседству, но только каждый может быть с вычислительной машиной, которая выполняет часть программы.
[0063] Фиг. 8 иллюстрирует логическую схему последовательности операций для процесса 800 динамического управления списками контактов согласно вариантам осуществления. Процесс 800 может быть реализован как часть расширенной системы связи.
[0064] Процесс 800 начинается с операции 810, где получают пользовательский профиль. Пользовательский профиль может включать в себя информацию, ассоциированную с приложением связи/совместной работы пользователя, устройством, текущим временем суток, местоположением, предпочтениями и схожими параметрами. Во время операции 820 объекты контакта могут быть созданы для хранения метаданных о контактах (и пользователе). За ней может следовать операция 830, где получают метаданные контакта. Метаданные контакта могут быть получены из множества ресурсов, как обсуждалось выше по тексту, и могут включать в себя приложение связи/совместной работы контакта, устройство, время суток контакта, местоположение контакта, прошлые шаблоны связи с контактами и схожие параметры.
[0065] Во время процесса 840 взвешенные коэффициенты вычисляются для каждого контакта на основе полученных метаданных и правил, настроенных пользователем и/или заданных системой. Взвешенные коэффициенты могут быть использованы для вычисления общего веса для каждого контакта во время операции 850, которая используется для упорядочения списка контактов во время операции 860. Список контактов может быть настроен для каждого приложения/устройства, ассоциированного с пользователем на основе указанных выше коэффициентов. Список контактов с установленными приоритетами может быть отображен пользователю во время операции 870. Другие действия, такие как удаление неиспользуемых контактов, напоминание пользователю о неиспользуемых контактах и т.д. также могут быть выполнены на основе вычислений во время операций 840 и 850.
[0066] Операции, включенные в процесс 800, представлены для иллюстративных целей. Динамическое управление списком контактов на основе взвешенных коэффициентов из различных ресурсов может быть реализовано схожими процессами с меньшим количеством этапов или дополнительными этапами, а также в другом порядке операций с использованием принципов, описанных в настоящем документе.
[0067] Описание, представленное выше, примеры и данные обеспечивают полное описание изготовления и использования компоновки вариантов осуществления. Несмотря на то, что изобретение было описано на языке, характерном для структурных признаков и/или методологических действий, должно быть понятно, что изобретение, определенное в приложенной формуле, не является обязательно ограниченным этими конкретными признаками или действиями, описанными выше по тексту. Наоборот, конкретные признаки и действия, описанные выше по тексту, раскрыты в качестве примерных форм реализации формулы изобретения и вариантов осуществления.