Архитектура для управления доступом к услуге от конкурирующих клиентов
Иллюстрации
Показать всеИзобретение относится к серверным системам, облегчающим абонентам прослеживание и администрирование. Техническим результатом является расширение функциональных возможностей предоставления услуг. Архитектура позволяет отказывать в регулярной и периодической услуге для всех, кроме выбранного числа одновременно существующих клиентов, связанных с абонентом, и без администрирования списка конкретных компьютеров вручную на сервере. Вместо требования администрируемого списка система обнаруживает, какие клиенты активны, помещает активных клиентов в активный список и исключает всех клиентов, которые не входят в активный список. Система включает в себя одно или более правил, принудительная реализация которых обеспечивает механизм гарантирования того, что абонент не добавляет неограниченное число клиентов и не осуществляет ротацию клиентов в пул и из него для эффективного поддержания услуги на большем числе компьютеров, чем то, на которое абонент уполномочен. 5 н. и 20 з.п. ф-лы, 11 ил.
Реферат
Область техники, к которой относится изобретение
Данное изобретение относится к программным серверным системам, и в частности к серверной архитектуре, которая облегчает абоненту прослеживание и администрирование.
Предшествующий уровень техники
Может быть выдана или приобретена подписка, которая дает абоненту право на заранее заданное число (символически “n”) одновременно активных клиентов, при этом каждый клиент исполняется на отдельной машине, и эта подписка дает право клиентам осуществлять доступ к услугам на центральном сервере. Каждый клиент может запрашивать у сервера периодическую, но регулярную услугу. Одна сложность с таким механизмом состоит в принудительной реализации политики или правила, чтобы предотвратить предоставление абоненту более чем “n” одновременно активных клиентов. В то же время важно обеспечить, чтобы абонент не осуществлял систематическую ротацию клиентов, которые выполняют доступ к серверу, для эффективного получения большего объема услуг, на которые им предоставлено право.
Один путь администрирования этого состоит в том, чтобы назначить каждому абоненту уникальный идентификатор и просить абонента точно поддерживать список клиентов, которые должны обсуживаться. Этот администрируемый список загружается в сервер и каждый раз, когда клиент пытается соединиться с сервером, сервер осуществляет проверку с целью определения того, имеется ли соединяющийся клиент в списке тех, кто уполномочен соединяться. Абонент отвечает за добавление и/или удаление машин из его санкционированного списка.
Один недостаток этого способа состоит в том, что он накладывает бремя явным образом поддерживать списки как на абонента, так и на поставщика (провайдера) услуг. Поставщик услуг может иметь необходимость поддерживать ресурсы центров услуг, основанных на компьютерах и основанных на телефонах, чтобы облегчить поддержание этих списков, что ведет к увеличенной стоимости операций. Абонент не может просто подключить нового клиента и отключить старого. Абонент должен поддерживать точную базу данных, которая имеется до настоящего времени, или не будет получен желательный уровень услуги, что также ведет к увеличенной стоимости операций. К примеру, если абонент подсоединяет нового клиента к услуге и просто выбирает вывод старого клиента, этот абонент не может так поступить без доступа к списку. В больших организациях это налагает другое бремя на персонал информационно-технологической администрации.
Одной существующей схемой автоматического лицензирования является использование сервера «плавающей лицензии». Сервер лицензии представляет собой централизованный ресурс, который сконфигурирован таким образом, чтобы позволить “n” пользователям одновременно обращаться к ресурсу. Сервер плавающей лицензии обеспечивает способ для клиента соединиться с сервером лицензии и «оформить» лицензию. После того, как оформлено максимальное число лицензий, этот сервер отклоняет дополнительные запросы на лицензии до тех пор, пока не освободятся некоторые из существующих «оформленных лицензий». Некоторые серверы лицензии устанавливают максимальное время для подлежащей оформлению лицензии, после чего клиент теряет лицензию и должен оформить ее снова. Одно ограничение подхода с сервером лицензии состоит в следующем. Сервер лицензии предназначен для среды, где имеет смысл и требуется непрерывный доступ к ресурсу. Например, если пользователь обращается к базе данных SQL (структурированного языка запросов) или к серверу Exchange, то это обращение в общем случае требуется непрерывно. Поэтому все, что требуется, это схема плавающей лицензии, где замеряется только одновременное использование. Владелец клиентов должен приобрести достаточно лицензий, чтобы удовлетворять всех клиентов, которые нуждаются в непрерывном соединении.
Таким образом, требуются усовершенствованные механизм подписки/лицензирования и механизм отслеживания.
Сущность изобретения
Нижеследующее представляет упрощенную сущность изобретения для того, чтобы обеспечить базовое понимание некоторых аспектов изобретения. Это раскрытие не является расширенным обзором изобретения. Оно не предназначено для установления ключевых/критических элементов изобретения или для очерчивания объема изобретения. Его единственное назначение состоит в представлении некоторых концепций изобретения в упрощенном виде как прелюдии к более подробному описанию, которое представлено далее.
Настоящее изобретение, раскрытое и заявленное здесь, в одном своем аспекте, содержит архитектуру, которая позволяет клиентским машинам абонировать подписную услугу и после этого входить динамически и незапланированно. Таким образом, когда новая клиентская машина абонента проходит аутентификацию (установление подлинности) на использование услуги, она автоматически помещается в список активных разрешенных машин. Однако разрешение на доступ подвергается проверкам, чтобы гарантировать, что абонент не превысил выделенного ему числа одновременных клиентов. Это ограничение на одновременных клиентов выполняется автоматически через активацию и реализацию правил, которые служат как ограничения на абонента. Результатом данной автоматической реализации является отказ от требования в отношении таблиц, а следовательно, и от необходимости управления этими таблицами для администратора.
В другом аспекте настоящего изобретения подписная услуга реализует правило, относящееся к замещению, которое выражает, как часто клиентская машина может помещаться в услугу, заменяя при этом любую старую машину.
В еще одном аспекте настоящего изобретения подписная услуга реализует правило, относящееся к частоте, которая представляет собой число раз, которое клиент может покидать услугу и повторно входить в услугу в заданном периоде времени.
Для достижения вышеупомянутых и связанных с этим целей некоторые иллюстративные аспекты изобретения описываются здесь в связи с нижеследующим описанием и приложенными чертежами. Эти аспекты, однако, являются показательными только для немногих путей, в которых могут применяться принципы изобретения, а настоящее изобретение предназначено включать в себя все такие аспекты и их эквиваленты. Другие преимущества и новые признаки изобретения могут стать понятными из нижеследующего подробного описания изобретения, рассматриваемого вместе с чертежами.
Перечень чертежей
Фиг.1 - иллюстрация системы в соответствии с настоящим изобретением.
Фиг.2 - иллюстрация одноранговой системы в соответствии с настоящим изобретением.
Фиг.3 - иллюстрация блок-схемы алгоритма для процесса подписки по настоящему изобретению.
Фиг.4 - иллюстрация блок-схемы алгоритма для процесса подписки, где дополнительные правила налагаются в соответствии с настоящим изобретением.
Фиг.5 - иллюстрация блок-схемы алгоритма по настоящему изобретению, который позволяет всем абонентским клиентам осуществлять доступ и выписывать счет абоненту соответственно.
Фиг.6А и фиг.6В - иллюстрация методики, которая обеспечивает более подробную реализацию общей схемы, описанной в соответствии с фиг.3 и фиг.4 по настоящему изобретению.
Фиг.7 - иллюстрация блок-схемы алгоритма для процесса подписки, который регулирует правила подписки согласно информации об абонентской активности и счетах.
Фиг.8 - иллюстрация системы, которая использует искусственный интеллект в соответствии с настоящим изобретением.
Фиг.9 - иллюстрация блок-схемы компьютера, выполненного с возможностью исполнения раскрытой архитектуры.
Фиг.10 - иллюстрация условной блок-схемы иллюстративной вычислительной среды в соответствии с настоящим изобретением.
Подробное описание изобретения
Настоящее изобретение описывается теперь со ссылкой на чертежи, где одинаковые ссылочные позиции используются для обозначения одинаковых элементов повсюду. В нижеследующем описании для целей пояснения различные конкретные подробности излагаются для того, чтобы обеспечить полное понимание настоящего изобретения. Может быть, однако, очевидно, что настоящее изобретение может быть осуществлено без этих конкретных подробностей. В других случаях общеизвестные структуры и устройства показываются в виде блок-схем, чтобы облегчить описание настоящего изобретения.
Как используется в этой заявке, выражения «компонент» и «система» предназначены для обозначения связанной с компьютером сущности объекта, представляющей собой либо аппаратное обеспечение, комбинацию аппаратного обеспечения и программного обеспечения, программное обеспечение или программное обеспечение в процессе исполнения. Например, компонентом может быть, но не в ограничительном смысле процесс, выполняющийся в процессоре, процессор, объект, исполняемый файл, поток исполнения, программа и/или компьютер. В качестве иллюстрации, компонентом может быть как приложение, исполняемое на сервере, так и сам сервер. Один или более компонентов могут постоянно находиться в процессе и/или потоке исполнения, и компонент может быть локализован на одном компьютере и/или распределен между двумя или более компьютерами.
Как используется здесь, выражение «выводить» или «вывод» относится в общем к процессу рассуждения или логического вывода относительно состояний системы, среды и/или пользователя на основе набора наблюдений, как зафиксировано через события и/или данные. Логический вывод может применяться, чтобы идентифицировать конкретный контекст или действие, либо, к примеру, может генерировать вероятностное распределение по состояниям. Логический вывод может быть вероятностным, то есть вычислением вероятностного распределения по представляющим интерес состояниям на основании рассмотрения данных и событий. Логический вывод может также относиться к методикам, применяемым для составления событий более высокого уровня из набора событий и/или данных. Такой логический вывод приводит к построению новых событий или действий из набора наблюдаемых событий и/или сохраненных данных событий, независимо от того коррелированы ли события в тесной временной близости, и исходят ли события и данные из одних или нескольких источников событий и данных.
На фиг.1 иллюстрируется система 100 в соответствии с настоящим изобретением. Система 100 позволяет отклонять регулярное и периодическое обслуживание для всех, кроме выбранного числа действующих одновременно клиентов, связанных с абонентом, и без какого-либо администрирования списка конкретных компьютеров вручную на сервере. Вместо того чтобы требовать администрируемый список, система 100 обнаруживает, какие клиенты являются активными, помещает активных клиентов в активный список и исключает всех клиентов, не находящихся в активном списке. Однако система 100 не может быть слишком динамической в смысле позволений, потому что, если бы она была такой, тогда вообще не было бы никакого принудительного введения ограничений. Поэтому данная система включает в себя систему правил, которые обеспечивают механизм гарантирования того, что абонент не добавляет неограниченное число клиентов или не осуществляет ротацию клиентов, вводя их в пул и выводя из него, чтобы эффективно поддерживать услугу на большем числе компьютеров, чем то, на которое абонент уполномочен.
Для поддержания этого система 100 включает в себя одну или более услуг 102, размещенных на подписном сервере (не показан), чтобы предоставить эту услугу(и) одному или более абонентским клиентам 104 (обозначенных также Абонентский Клиент1,…Абонентский КлиентN). Клиенты 104 осуществляют доступ к услуге(ам) динамически и незапланированно через сеть 106, каковая сеть 106 может быть, например, проводным/беспроводным соединением по локальной сети (LAN), глобальной сети (WAN) и Интернету. Клиенты 104 включают в себя по меньшей мере персональные компьютеры, переносные компьютеры, персональные цифровые информационные устройства (PDA) и переносные устройства связи, любые или все из которых могут осуществлять доступ к услуге(ам) через традиционные средства связи. В соответствии с настоящим изобретением система 100 также включает в себя компонент 108 правил, который обеспечивает реализацию одного или более правил в отношении счета абонента. Правило включает в себя, например, ограничение на число одновременно подсоединенных клиентов, ограничение «замещения» на число клиентов, которых можно заменять в заданном периоде времени, и ограничение «частот» на то, сколько раз заданный клиент может заново подписаться на услугу(и) в течение заданного периода времени.
Следует также понимать, что одно или более ограничений, наложенных на первого абонента, могут быть теми же самыми, отличными или частично перекрывающимися в некоторых отношениях для одного или более правил, наложенных на второго абонента. Таким образом, может быть много различных наборов правил, доступных в системе 100, подлежащих наложению на клиентов разных абонентов.
Система также включает в себя следящий компонент 110, который обеспечивает слежение за деятельностью клиентов абонента и выставление счетов абоненту соответственно. Например, если абоненту позволяется превысить параметры замещения и/или частоты, следящий компонент 110 регистрирует эту деятельность (например, в активном списке) и выставляет счет абоненту за избыточное использование.
Повсюду в этом описании будет использоваться язык вычислений клиент/сервер; однако настоящее изобретение в равной степени применимо к одноранговому вычислению, где требуется управление доступом для ограничения числа одноранговых устройств, осуществляющих доступ друг к другу.
В отношении сервера плавающей лицензии предусмотрены следующие ограничения в соответствии с настоящим изобретением. Зачастую непрерывный доступ к серверу не требуется, и это позволяло бы клиенту покупать очень малое число лицензий клиента и осуществлять ротацию выдачи лицензии среди очень большого количества клиентов. В этом случае сервер лицензии был бы вынужден оказывать услугу. Клиент может покупать малое число лицензий, а затем циклически пропускать тысячи клиентов через эти немногие лицензии, и существующие аналоги не ограничили бы это использование. Сервер лицензии не отслеживает тождества плавающих лицензий, и если какой-либо контроль над лицензиями поддерживается сервером плавающей лицензии, это требует администрирования вручную, чтобы ограничить выдачу во всех случаях. Настоящее изобретение автоматически предоставляет лицензии клиентам, но не позволяет анонимной ротации намного большего числа клиентов, чем то, которое уполномочено.
На фиг.2 иллюстрируется одноранговая система 200 в соответствии с настоящим изобретением. В этом воплощении система 200 включает в себя два связанных между собой одноранговых клиента (подобных клиентам 104 по фиг.1): первый одноранговый клиент 202 (обозначенный Клиент1), и второй одноранговый клиент 204 (обозначенный Клиент2). Отметим, однако, что любое число клиентов может соединяться в одноранговой топологии. Первый клиент 202 имеет связанный с ним первый компонент 206 правил, который обеспечивает наложение одного или более правил на второго клиента 204 при поиске им соединения с первым клиентом 202. Точно так же второй клиент 204 имеет связанный с ним второй компонент 208 правил, который обеспечивает наложение одного или более правил на первого клиента 202 при поиске им соединения со вторым клиентом 204. Эти одно или более правил могут включать в себя, но не в ограничительном смысле, ограничение на то, сколько раз одноранговое устройство может соединяться с другим одноранговым устройством, и ограничение частоты, с которой одноранговое устройство соединяется с другим одноранговым устройством.
Следует также понимать, что правила первого компонента 206 правил могут отличаться или частично перекрываться в некоторых отношениях с правилами, наложенными вторым компонентом 208 правил. Так, первый клиент 202 может ограничивать упомянутую частоту второго клиента 204, а второй клиент 204 не может ограничивать упомянутую частоту первого клиента 202.
На фиг.3 иллюстрируется блок-схема алгоритма процесса подписки по настоящему изобретению. Хотя для целей простоты пояснения одна или более методик, показанных здесь, например, в виде блок-схемы алгоритма, показаны и описываются как последовательности действий, следует понимать и оценивать, что настоящее изобретение не ограничивается порядком действий, т.к. некоторые действия могут, в соответствии с настоящим изобретением, происходить в другом порядке и/или одновременно с другими действиями из показанных и описанных здесь. Например, специалисты поймут и оценят, что методика может быть альтернативно представлена как последовательность несвязанных состояний или событий, как в диаграмме состояний. Кроме того, не все проиллюстрированные действия могут потребоваться для воплощения методики в соответствии с настоящим изобретением.
На этапе 300 абонент подписывается на подписную услугу согласно заранее заданному числу клиентов. На этапе 302 новый клиент пытается подсоединиться посредством выполнения аутентификации в отношении данной услуги на динамической и незапланированной основе. На этапе 304 услуга налагает одно или более правил на абонента. На этапе 306 услуга определяет, ограничен ли новый клиент от того, чтобы оставаться соединенным с услугой. Если нет, алгоритм переходит на этап 308, чтобы позволить клиенту оставаться соединенным, чтобы получить услугу. Иначе говоря, клиент должен соединиться, чтобы подтвердить свою подлинность, а сервер - чтобы определить, разрешена ли клиенту услуга. На этапе 310 клиент помещается в активный список клиентов, которые в настоящее время подсоединены в соответствии со счетом абонента. На этапе 312 один или более абонентов могут затем быть исключены из активного списка в случае необходимости. На этапе 314 эта деятельность может быть зарегистрирована. Алгоритм затем возвращается ко входу на этап 302, чтобы обработать любых других клиентов, которые пытаются соединиться с услугой.
Если услуга налагает ограничение на соединение нового клиента, алгоритм переходит от этапа 306 на этап 316, чтобы запретить долговременное соединение. Алгоритм переходит на этап 314, чтобы зарегистрировать эту деятельность.
В одной реализации, наряду с ограничением на максимальное число одновременных машин в услуге, два дополнительных ограничения правил налагаются на абонента. Однако, в одном варианте выполнения, если правило для числа одновременно действующих клиентов не нарушено, клиенту автоматически разрешается долговременное соединение независимо от того, каковы результаты для любого из оставшихся правил. В другой реализации соединяющийся клиент должен соответствовать всем правилам прежде, чем будет разрешено долговременное соединение. Второе правило направлено на допустимое «замещение», что представляет собой то, как часто любая новая машина может быть помещена в услугу, заменяя любую старую машину, а третье правило направлено на допустимую позволенную частоту повторной подписки со стороны отдельной машины. Замещение может быть определено в терминах числа новых систем, которым позволяется входить в услугу за день или за неделю, либо за месяц (как только достигнут максимум "n" подписки). Допустимая частота повторной подписки может быть определена в терминах количества раз, которые компьютер может оставлять услугу и повторно входить в услугу за неделю или за месяц, либо за год.
Отметим, что каждая услуга будет иметь ограничение характерного времени для замещения и запрещенных ротаций клиентов, которые имеют смысл для этой конкретной услуги. Если эффективная работа системы требует, чтобы клиент получал обновление только каждые шесть месяцев, то временные рамки для запрещения замещения приводятся в соответствие этому шестимесячному интервалу. Точно так же для временных рамок ротации, если эффективная работа системы требует, чтобы клиент контактировал с сервером только каждые шесть месяцев, то временные рамки на запрет ротации клиентов приводятся в соответствие с этим шестимесячным интервалом.
На фиг.4 иллюстрируется блок-схема алгоритма для процесса подписки, где дополнительные правила налагаются в соответствии с настоящим изобретением. На этапе 400 абонент подписывается на одну или более услуг согласно заранее заданному числу клиентов. На этапе 402 клиент пытается соединиться с услугой на динамической и незапланированной основе. На этапе 404 услуга налагает одно или более правил на счет абонента. На этапе 406 система определяет, превышено ли ограничение на число одновременно действующих клиентов. Как указано ранее, это может быть доминирующим правилом, которое автоматически позволяет клиенту долговременное соединение. Таким образом, любые оставшиеся правила не обрабатываются в отношении этого клиента. Соответственно, алгоритм переходит на этап 408, чтобы позволить длительное соединение для клиента. На этапе 410 клиент помещается в активный список. На этапе 412 в случае необходимости один или более абонентов могут быть исключены из активного списка. Алгоритм переходит затем на этап 414, где система регистрирует эту деятельность для обработки. Алгоритм затем возвращается на этап 402 для обработки соединения следующего пытающегося соединиться клиента.
Если система определяет, что ограничение одновременно действующих клиентов превышено, алгоритм переходит от этапа 406 на этап 416, чтобы запретить клиенту долговременное соединение. Алгоритм переходит к блоку 414, чтобы снова зарегистрировать деятельность.
В альтернативной реализации, где клиент должен придерживаться одного или более правил в дополнение к правилу ограничения одновременно действующих клиентов, если на этапе 406 определено, что число одновременно действующих клиентов не превышено, алгоритм переходит на этап 418, чтобы определить, был ли превышен предел замещения. Если да, то алгоритм переходит на этап 416, чтобы запретить долговременное соединение. Если ограничение замещения не превышено, то алгоритм переходит от этапа 418 на этап 420, чтобы определить, превышена ли частота. Если да, то алгоритм переходит на этап 416, чтобы запретить долговременное соединение. Если ни одно из правил подписки не нарушено и не превышено, алгоритм переходит от этапа 420 на этап 408, чтобы позволить клиенту долговременное соединение, и помещает клиента в активный список, как обозначено этапом 410. Алгоритм затем продолжается в соответствии с приведенным выше описанием.
В предшествующем обсуждении предполагалось, что сервер применит ограничения доступа в то время, когда клиент входит в услугу, и будет запрещать доступ клиенту, который превысил любое из пороговых значений. Другая стратегия состояла бы в том, чтобы дать право всем клиентам на доступ к серверу, вычислять число активных клиентов в системе и начислять плату пользователю на основании числа активных клиентов. Этот подход обеспечивает возможность автономного слежения за подпиской как части процесса составления счетов и ранжирования.
На фиг.5 иллюстрируется блок-схема алгоритма для процесса по настоящему изобретению, который позволяет доступ всем клиентам абонента и выставляет счет абоненту соответственно. В этой реализации счетчику замещения позволено увеличиваться сверх заранее установленного ограничения, а величина, записанная счетчиком, рассматривается как число клиентов в услуге в заданный день. Система составления счетов делает обзор каждой записи в файле регистрации, и для каждого уникального абонента отслеживает интенсивность замещения. Дополнительно, измеряется также количество раз, которое клиент повторно входит в услугу в конкретный период (например, шесть месяцев). Любой клиент, который входит в услугу больше чем определенное число раз в заданном интервале, рассматривается как дополнительный клиент для целей вычисления при составлении счетов. Поэтому, слежение за правилами выполняется не для цели отказа в услуге, а для измерения пользования для точного счета.
На этапе 500 абонент подписывается на услугу(и). На этапе 502 каждого клиента абонента связывают с мандатом (учетной записью с параметрами доступа, сформированными после успешной аутентификации) абонента и уникально идентифицируют. Мандат может включать в себя, например, адрес электронной почты и/или пользовательский пароль. На этапе 504 клиент абонента пытается установить долговременное соединение с услугой. На этапе 506 сервер автоматически позволяет новому клиенту выполнить аутентификацию и оставаться подсоединенным. На этапе 508 сервер отслеживает деятельность, соответствующую соединению нового клиента, посредством журнала регистрации деятельности и применяет информацию о деятельности к счету абонента. На этапе 510 абонента уведомляют о подписке нового клиента, чтобы обеспечить обратную связь в качестве одного средства гарантирования того, что клиент является одним из клиентов абонента. Это уведомление может включать в себя посылку мандата нового клиента назад абоненту, чтобы абонент мог проверить, принадлежит ли новый клиент системе абонента. Если нет, абонент может сразу же уведомить услугу, чтобы предотвратить доступ. На этапе 512 периодически выполняют процесс составления счетов для определения того, сколько клиентов осуществили доступ в систему сервера в предшествующем периоде, чтобы соответствующая оплата могла быть возложена на абонента. Система составления счетов проверит все зарегистрированные события доступа, определит число клиентов, которые одновременно используют систему, и сгенерирует счет согласно заранее заданному ранжированию для этого числа клиентов. Процесс тогда достигает этапа останова.
На фиг.6A и 6B иллюстрируется методика, которая обеспечивает большее количество подробностей в отношении реализации общей схемы, описанной в соответствии с фиг.3 и фиг.4 по настоящему изобретению. В частности, эти подробности содержат аспекты, связанные с тем, как поддерживаются активные списки с помощью уникально идентифицированных клиентов, с помощью активных списков и списков «ожидающих выбытия», и как проверяются правила замещения, частоты и максимального числа клиентов. Для целей обсуждения, а не ограничения, предполагается, что абоненту позволено максимум три подписки для одновременно действующих клиентов на доступ к серверу, допустимое замещение составляет один клиент в день, а допустимая частота повторной подписки для клиента равна дважды за год (то есть третий раз за год будет замещен). Выбор дважды за год должен позволить заменить машину, которая подлежит изъятию из услуги для ремонта, «взятой напрокат» машиной, и затем поместить ее назад в услугу, когда она вернется из ремонта. Предположим далее, что абонент имеет шесть клиентских машин, маркированных A, B, C, D, E и F, где через A, B, и C обозначаются «первоначальные» клиенты, которые одновременно соединяются с услугами.
На этапе 600 абонент подписывается на услуги согласно заранее заданному числу из трех клиентов. На этапе 602 на первоначальные клиенты А, В и C подают питание и их и конфигурируют для доступа к серверу. Эти первоначальные клиенты выполняют аутентификацию для сервера с помощью мандата абонента, и упомянутых клиентов уникально идентифицируют как клиентов А, В и C. Сервер теперь автоматически конфигурируется, чтобы предположить, что клиенты А, В и C являются клиентами, имеющими право на услугу. На этапе 604 сервер помещает клиентов А, В и C в активный список. Абонент достиг максимума одновременно позволенных подписок. На этапе 606 сервер делает запись даты и времени, когда абонент достиг максимального числа позволенных подписок. На этапе 608 сервер устанавливает счетчик замещения на ноль и счетчик частоты на ноль.
В случае, когда абонент желает выключить клиента и заменить его на нового клиента D, абонент просто делает это. На этапе 610 новый клиент D теперь выполняет аутентификацию для сервера на получение услуги. На этапе 612 сервер проверяет счетчик замещения и, поскольку он установлен на ноль, позволяет новому клиенту D доступ к ресурсу, применяя либеральную политику предположения, что одна из существующих машин в активном списке исключается. В блоке 614 счетчик замещения теперь установлен на «1», а дата и время этого изменения записываются как «отметка времени последнего замещения».
Продолжая на фиг.6B, на этапе 616 сервер теперь размещает нового клиента D в активном списке и перемещает первоначальных клиентов А, В и C из активного списка в список «ожидающих выбытия». На этапе 618 клиенты В и C заново выполняют аутентификацию. Новых клиентов, которые пытаются выполнить аутентификацию, сверяют с активным списком и списком ожидающих выбытия, чтобы идентифицировать их как «новые», но им будет отказано в доступе, поскольку замещение равно одному. На этапе 620 клиенты в списке ожидающих выбытия заново выполняют аутентификацию сервера, и один за другим перемещаются назад в активный список. Таким образом, сервер перемещает первоначальных клиентов В и C назад в активный список. Как только активный список вновь заполнен (как в этом примере, где, опять-таки, имеется максимум три компьютера в активном списке), тогда все остающиеся компьютеры в списке ожидающих выбытия фактически считаются подлежащими быть вне услуги и удаляются из списка (как обозначено этапом 622, первоначального клиента А удаляют).
Если в тот же самый день новый клиент Е пробует войти в услугу, сервер проверит отметку времени последнего замещения и, поскольку прошло меньше дня от последнего замещенного клиента (т.е. клиента A), сервер проверяет счетчик замещения. Так как счетчик замещения установлен на максимум в один, новому клиенту Е запрещают доступ к серверу, как обозначено этапом 624. На этапе 626, когда истекает заданный период времени (в этом примере - один день со времени входа в услугу последнего клиента), счетчик замещения сбрасывается на ноль. Например, если клиент Е пытался войти в услугу спустя больше чем двадцать четыре часа после первого замещенного клиента, то сервер проверяет отметку времени последнего замещения. Так как эта отметка времени была установлена больше чем двадцать четыре часа назад, сервер обнулит счетчик замещения и допустит клиента Е к услуге. В этом примере замещение измеряется дискретно от периода к периоду. Однако можно также применять бегущее среднее. На этапе 628 процесс сервера продолжается путем проверки новых аутентифицирующихся клиентов относительно ограничений замещения и частоты и других процессов соответственно.
Всякий раз, когда клиент помещается в услугу путем помещения идентификатора клиента в активный список, дата и время этого события также регистрируются. Это может быть зарегистрировано в центральной базе данных на поклиентной основе. Это представляет собой безопасный путь сохранения информации и помещает ее под плотный контроль сервера. Таким образом, в соответствии с вышеупомянутым примером, если клиенты D и/или E были бы ассоциированы с двукратным вхождением в услугу в последние три месяца, тогда клиенту D и/или E был бы также запрещен доступ к услуге и не позволено войти в активный список.
Если число одновременно действующих клиентов не превышено, то новому клиенту будут позволено долговременное соединение для получения услуги. Однако, если число одновременно действующих клиентов превышено, новый клиент, пытающийся соединиться, может рассматриваться как имеющий право «вытеснять», с целью вытеснения соединившегося клиента из активного списка. Путем обработки дополнительных правил можно определить, имеет ли новый клиент достаточные права на вытеснение существующего одновременно действующего клиента. Что касается вышеупомянутого примера, на этапе 616, когда клиента D помещают в активный список, клиентов А, В и C перемещают в список ожидающих выбытия для процесса повторной аутентификации. Клиента, которому не позволено возвратиться в активный список (т.е. клиент A), эффективно вытесняют от получения каких-либо услуг. Это прямой пример замещения одного клиента другим согласно схеме подписки настоящего изобретения.
Однако в этом варианте выполнения предполагается, что один из клиентов А, В или C не должен вытесняться с отключением от услуги для замещения, но может просто быть временно отстранен от дальнейшего получения услуги, пока не будет завершено обслуживание нового соединяющего клиента с более высоким приоритетом. Например, предположим, что абонент в настоящее время имеет клиентов А, В и C, подсоединенных для получения услуг и находящихся в процессе получения услуг. Вместо ручного удаления абонентом одного из существующих одновременно действующих клиентов для создания места новому клиенту D, абонент может просто предоставить соединение клиенту D с сервером, и дать серверу возможность решать (согласно заранее заданным критериям), который из существующих одновременно действующих клиентов должен быть временно вытеснен, чтобы создать место для нового клиента D.
Эти критерии могут быть основаны, например, на том, какой из существующих подсоединенных клиентов уже подсоединен самое длительное время, какой клиент связан с самым низким приоритетом обслуживания данных и какой клиент является самым медленным или самым быстрым в смысле производительности системы клиента. Любое число правил может быть наложено по отдельности или в комбинации, чтобы решить, какой подсоединенный клиент должен быть вытеснен, чтобы позволить новому клиенту D соединиться.
Далее в предположении согласно настоящему изобретению имеется то, что подсоединенный клиент, который выбран на вытеснение, может быть отсоединен немедленно, в середине процесса предоставления услуги, или же после того, как процесс предоставления услуги завершен. Помимо этого, система достаточно надежна в плане определения того, какие услуги, в настоящее время получаемые выбранным клиентом, содержат ряд из нескольких услуг, которые не должны прерываться, так как повторное предоставление этих услуг было бы более дорогостоящим по времени и ресурсам, позволяя тогда этому ряду услуг завершиться перед отсоединением выбранного клиента.
На фиг.7 иллюстрируется блок-схема алгоритма процесса подписки, который регулирует правила подписки согласно информации о деятельности и счете абонента. На этапе 700 абонент подписывается на одну или более услуг согласно заранее заданному числу клиентов. На этапе 702 новый клиент абонента пытается соединиться с услугой на динамической и незапланированной основе. На этапе 704 услуга налагает одно или более правил на счет абонента. На этапе 706 система определяет, было ли нарушено (или превышено) любое из наложенных правил. Если нет, то алгоритм переходит на этап 708, чтобы разрешить долговременное соединение. На этапе 710 деятельность регистрируется, и алгоритм возвращается на этап 702, чтобы обработать соединение следующего пытающегося соединиться клиента.
Если любое из правил превышено, алгоритм переходит от этапа 706 на этап 712 для доступна к информации абонента. Информация счета может включать в себя предпочтения абонента, которые позволяют подписной услуге превышать ограничения правил согласно любому числу критериев, заданных в этих предпочтениях. Например, поскольку каждый клиент имеет мандат и/или уникальный идентификатор, этот мандат /идентификатор может далее указывать для услуги, как обращаться к правилам в отношении этого конкретного клиента. Если мандат указывает, что этот клиент обрабатывает информацию, относящуюся к финансам, то этот клиент может быть помещен в приоритетный список для получения следующего соединения. Услуга может затем уведомлять клиента, когда соединение становится доступным. Альтернативно, клиенту можно позволить соединяться, и уровень подписки регулируется соответственно. На этапе 714 система регулирует уровень подписки в соответствии со счетом для соединений клиентов повышенного уровня. На этапе 716 абонента уведомляют относительно обновленного уровня подписки. На этапе 718 система позволяет клиенту долговременное соединение. На этапе 720 клиента помещают в активный список. Алгоритм зат