КОНФИГУРАЦИЯ БРАНДМАУЭРА ПРИ УЧАСТИИ КЛИЕНТА
CONFIGURATION OF FIREWALL WITH CLIENT PARTICIPATION

Перекрестные ссылки на родственные заявки
Эта заявка заявляет преимущество предварительной заявки США порядковый № 60/638,271, зарегистрированной 21 декабря 2004 года, озаглавленной "CLIENT ASSISTED FIREWALL CONFIGURATION", которая полностью содержится в данном документе по ссылке.
Уровень техники
Область техники, к которой относится изобретение
Последующее описание относится в целом к передаче данных, а более конкретно, к конфигурации брандмауэра и уменьшению сетевого трафика.
Брандмауэры - это устройства защиты, которые защищают сеть от неавторизованного доступа и злоумышленных атак. Такой неавторизованный доступ может быть осуществлен для того, чтобы получить конфиденциальную информацию или разрушить функционирование сети. Традиционный брандмауэр делит сеть на две части, внутреннюю часть, которая находится за брандмауэром, и внешнюю часть, которая находится снаружи брандмауэра. Чтобы защитить от неавторизованного доступа, брандмауэры могут проверять пакеты и сеансы и делать определение, должны ли быть переданы такие пакеты и сеанс предназначенной цели или должны ли они быть заблокированы или отброшены.
Брандмауэр типично расположен в точке входа и сканирует входящий трафик, сравнивая трафик с предварительно определенным критерием. Трафик, несоответствующий предварительно определенному критерию, блокируется или отбрасывается. Предварительно определенный критерий может включать в себя параметры, такие как номер порта, ID приложений, источник, цель, фильтры содержимого, IP-адрес, имена вычислительных машин и флаги TCP/IP, так же как и другие параметры в зависимости от сложности, которая должна быть допущена, и желаемой степени защиты. Число параметров, которые должны быть удовлетворены, чтобы сделать определение, пропускать или отвергать пакет, устанавливает степень детализации защиты. Брандмауэр, имеющий крупную степень детализации, может неумышленно блокировать желательный входящий трафик, так как такой трафик был передан как нежелательный, тогда как в то же время брандмауэр может не быть адекватным в том, чтобы защищать от нежелательного трафика.
Политика безопасности может быть определена и/или навязана сетевым администратором в центральной точке. Пользователям может быть недоступен выбор того, какой трафик разрешен и/или запрещен для их терминалов, даже если различные пользователи могут иметь различные привилегии сетевого доступа и потребностей. Разные пользователи могут хотеть подключаться к разным типам потоков трафика. На эти потоки воздействует политика сетевой безопасности. Например, один пользователь может захотеть блокировать передачи от отдельного сетевого адреса протокола управления передачей/межсетевого протокола (TCP/IP), тогда как другой пользователь захочет принять эти передачи. Один пользователь может желать принимать передачи от отдельного адреса подсети в сети, тогда как другой пользователь желает принимать все передачи от сетевого адреса. Другие пользователи могут желать принимать трафик сообщений, предназначенный для отдельного порта или приложения, в то время как другой пользователь может желать заблокировать все входящие соединения и разрешить только исходящие соединения.
Брандмауэр работает как сторож. Брандмауэры, локальные для каждого устройства, размещают брандмауэр вокруг каждого терминала или мобильного устройства. В этой ситуации неавторизованные пакеты не отбрасываются до тех пор, пока пакеты не достигнут терминала или мобильного устройства. Таким образом, пропускная способность сети, которая является дорогостоящей в беспроводной сети, тратится впустую, так как пакет уже израсходовал беспроводные ресурсы, необходимые, чтобы передать пакет. Эти бесполезно израсходованные ресурсы могли бы использоваться с большей пользой, будучи назначенными другим соединениям. Потраченные впустую ресурсы могут увеличивать издержки для пользователя за счет увеличения передачи сообщений и могут снижать общую пропускную способность из-за ресурсов, использованных для того, чтобы передавать пакет по беспроводным каналам связи.
Чтобы преодолеть вышеупомянутые, так же как и другие недостатки, необходима технология для блокирования нежелательных или непредусмотренных пакетов перед передачей устройству с тем, чтобы уменьшить сетевой трафик. Также необходима технология предоставления устройству возможности динамически модифицировать одну или более политик брандмауэра, чтобы позволить устройству определять конкретные пакеты отправителей и/или другие критерии пакета. Сконфигурированный брандмауэр может быть удаленным от конечной точки или устройства связи. Возможность автоматически отменять политику брандмауэра во время сеанса связи также необходима для того, чтобы обеспечить защиту.
Сущность изобретения
Последующее описание предоставляет упрощенную сущность одного или более вариантов осуществления с тем, чтобы предоставить базовое понимание некоторых аспектов таких вариантов осуществления. Это краткое изложение не является расширенным обзором одного или более вариантов осуществления и не предназначено для того, чтобы идентифицировать ключевые или критические элементы вариантов осуществления либо устанавливать рамки таких вариантов осуществления. Его единственная цель - представить некоторые понятия описанных вариантов осуществления в упрощенной форме в качестве вступления в более подробное описание, которое представлено далее.
В соответствии с одним или более вариантами осуществления и их соответствующим раскрытием описываются различные аспекты в связи с конфигурированием брандмауэра и/или уменьшением сетевого трафика. Согласно варианту осуществления существует способ для мобильного устройства сконфигурировать брандмауэр так, чтобы уменьшить нежелательный сетевой трафик. Способ включает в себя установление сетевого соединения с брандмауэром сети и связь с брандмауэром сети, чтобы управлять сетевым трафиком. Согласно некоторым вариантам осуществления способ может включать в себя обнаружение того, был ли создан пассивный сокет, и запрос брандмауэра сети разрешить потоки, направленные к сетевому сокету. В некоторых вариантах осуществления способ может включать в себя закрытие веб-сервера и уничтожение пассивного сокета. С брандмауэром можно связываться с помощью информации об уничтоженном пассивном сокете, и может быть отправлен запрос, чтобы запретить потоки, направленные к уничтоженному пассивному сокету. Если пассивный сокет закрыт, способ может автоматически отменить запрос к брандмауэру, чтобы разрешить потоки, направленные к пассивному сокету.
Согласно другому варианту осуществления существует способ для узла автоматически восстанавливаться из прерванного или завершенного сеанса. Способ включает в себя запрос удаленного брандмауэра для того, чтобы разрешить прохождение пакетов, направленных, по меньшей мере, к одному открытому сокету, обнаружение прерванного сеанса и отмену запроса пакета, направленного, по меньшей мере, к одному открытому сокету. Способ может дополнительно включать в себя повторное установление нового сеанса и запрос прохождения желательных потоков. Согласно некоторым вариантам осуществления запрос пакетов, направленных, по меньшей мере, к одному открытому сокету, может включать в себя генерацию списка текущих открытых сокетов.
Согласно другому варианту осуществления существует мобильное устройство для конфигурирования брандмауэра сети. Мобильное устройство включает в себя процессор, который анализирует информацию, относящуюся к конфигурированию брандмауэра, чтобы уменьшить трафик, и память, оперативно связанную с процессором. Мобильное устройство может также включать в себя устройство установления связи, которое устанавливает связь с внешним источником, и устройство указания, которое указывает параметры, ассоциативно связанные с пакетом, принятым от внешнего источника, и передает параметры брандмауэру. Также в мобильное устройство может быть включено устройство аннулирования, которое запрашивает отмену прохождения, по меньшей мере, для одного параметра. В некоторых вариантах осуществления мобильное устройство может включать в себя передающее устройство, которое передает брандмауэру, по меньшей мере, одно обновление политики, и принимающее устройство, которое принимает подтверждение приема или отрицание политики от брандмауэра.
Согласно другому варианту осуществления существует устройство для уменьшения сетевого трафика. Устройство может включать в себя средство обнаружения, по меньшей мере, одного брандмауэра, средство связи, по меньшей мере, с одним брандмауэром и средство динамического обновления политики, ассоциативно связанной, по меньшей мере, с одним брандмауэром. Устройство может также включать в себя средство изучения списка пассивных сокетов или средство определения желаемых входящих потоков.
Согласно дополнительному варианту осуществления существует машиночитаемый носитель телефонной трубки, имеющий машиноисполняемые инструкции для установления сетевого соединения и обнаружения пассивного сокета, ассоциативно связанного с установленным сетевым соединением. Инструкции могут дополнительно включать в себя связь с брандмауэром и запрос брандмауэра для того, чтобы разрешить потоки, направленные к пассивному сокету. Согласно некоторым вариантам осуществления инструкции могут включать в себя завершение сетевого соединения, уничтожение пассивного сокета, связь с брандмауэром и запрос брандмауэра для того, чтобы запретить потоки, направленные к уничтоженному пассивному сокету.
Согласно другому варианту осуществления существует процессор телефонной трубки, который выполняет инструкции для динамического обновления политики брандмауэра. Инструкции могут включать в себя обнаружение, по меньшей мере, одного брандмауэра, связь, по меньшей мере, с одним брандмауэром и динамическое обновление политики, ассоциативно связанной, по меньшей мере, с одним брандмауэром. Процесс может также включать в себя инструкции для автоматической отмены политики, по существу, в то же время, когда прерывается сеанс связи.
Согласно другому варианту осуществления существует телефонная трубка, которая динамически конфигурирует брандмауэр. Телефонная трубка включает в себя устройство инициализации, которое устанавливает сеанс связи с брандмауэром, устройство указания, которое указывает, по меньшей мере, один поток и передает, по меньшей мере, один поток брандмауэру, и устройство аннулирования, которое может отменить прохождение, по меньшей мере, одного потока. Согласно некоторым вариантам осуществления указатель может определять параметр, ассоциативно связанный, по меньшей мере, с одним пакетом или запросом пакета у одного или более отправителей. Устройство аннулирования согласно некоторым вариантам осуществления может отменять прохождение, по меньшей мере, одного пакета, аннулировать запрос пакета от одного или более отправителей, отменять прохождение автоматически на основе, по меньшей мере, одного параметра пакета или отменять прохождение на основе ввода пользователя.
В завершение упомянутого выше и связанных аспектов один или более вариантов осуществления заключают в себе признаки, в дальнейшем полностью описанные и индивидуально указанные в формуле изобретения. Последующее описание и присоединенные чертежи излагают в деталях определенные иллюстративные аспекты и являются показывающими несколько различных способов, в которых могут быть применены принципы вариантов осуществления. Другие преимущества и новые признаки станут очевидны из последующего подробного описания, когда рассматриваются вместе с чертежами, а раскрытые варианты осуществления предназначены включать в себя все такие аспекты и их эквиваленты.
Краткое описание чертежей
Фиг.1 иллюстрирует блок-схему системы связи, которая использует технологию брандмауэра.
Фиг.2 иллюстрирует систему конфигурации брандмауэра с помощью клиента.
Фиг.3 иллюстрирует систему автоматического и динамического конфигурирования политики брандмауэра.
Фиг.4 иллюстрирует систему автоматического и динамического конфигурирования политики брандмауэра.
Фиг.5 иллюстрирует систему для конфигурирования брандмауэра и уменьшения сетевого трафика.
Фиг.6 является блок-схемой методологии динамического разрешения прохождения легитимных входящих потоков данных.
Фиг.7 является блок-схемой методологии автоматического восстановления потоков данных.
Фиг.8 является блок-схемой методологии автоматической защиты брандмауэра и уменьшения сетевого трафика.
Фиг.9 иллюстрирует концептуальную блок-схему конфигурации терминала.
Глоссарий терминов
Брандмауэр - устройство, которое разрешает войти или покинуть сеть только тем пакетам, которые удовлетворяют "политике безопасности".
Узел - узел сети, который использует сеть в качестве среды передачи пакета. В сети мобильных устройств этими узлами типично будут телефонные трубки или компьютеры с активированной беспроводной связью.
Поток - двунаправленный обмен пакетами между двумя отдельными объектами.
Подробное описание
Различные варианты теперь описаны со ссылкой на чертежи. В последующем описании, для целей пояснения, многие конкретные детали объяснены для того, чтобы обеспечить полное понимание одного или более аспектов. Может быть очевидно, однако, что такой вариант(ы) осуществления может быть применен на практике без этих конкретных деталей. В иных случаях хорошо известные структуры и устройства показаны в форме блок-схемы, чтобы облегчить описание этих вариантов осуществления.
Использованные в данной заявке термины "компонент", "модуль", "система" и т.п. предназначены для того, чтобы ссылаться на связанный с компьютером объект либо аппаратные средства, программно-аппаратные средства, сочетание аппаратных средств и программного обеспечения, программное обеспечение либо программное обеспечение в ходе исполнения. Например, компонент может быть, но не только, процессом, запущенным на процессоре, процессором, объектом, исполняемым файлом, потоком исполнения, программой и/или вычислительной машиной. В качестве иллюстрации, как приложение, работающее в вычислительном устройстве, так и вычислительное устройство могут быть компонентом. Один или более компонентов могут постоянно находиться в рамках процесса и/или потока исполнения, и компонент может быть локализован на одном компьютере и/или распределен между двумя и более компьютерами. Кроме того, эти компоненты могут исполняться с различных машиночитаемых носителей, имеющих различные структуры данных, сохраненных на них. Компоненты могут обмениваться данными посредством локальных и/или удаленных процессов, например, в соответствии с сигналом, имеющим один или более пакетов данных (к примеру, данных из одного компонента, взаимодействующего с другим компонентом в локальной системе, распределенной системе и/или по сети, такой как Интернет, с другими системами посредством сигнала).
Кроме того, различные варианты осуществления описаны здесь в связи с пользовательским устройством. Пользовательское устройство может быть также названо системой, абонентским модулем, абонентской станцией, мобильной станцией, узлом, телефонной трубкой, удаленной станцией, точкой доступа, базовой станцией, удаленным терминалом, терминалом доступа, пользовательским терминалом, терминалом, пользовательским агентом или пользовательским оборудованием. Пользовательское устройство может быть сотовым телефоном, радиотелефоном, телефоном с протоколом инициации сеанса (SIP), станцией беспроводной местной линии (WLL), персональным цифровым помощником (PDA), карманным устройством, имеющим возможность беспроводного соединения, или другим устройством(ами) обработки, соединенным с беспроводным модемом.
Кроме того, различные аспекты или признаки, описанные здесь, могут быть осуществлены в качестве способа, устройства или изделия, использующего стандартные технологии программирования и/или проектирования. Термин "изделие" в качестве используемого в данном документе предназначен заключать в себе компьютерную программу, доступную с любого машиночитаемого устройства, несущей или носителя. Например, машиночитаемые носители могут заключать в себе, но не ограничиваться этим, магнитные устройства хранения (например, жесткий диск, гибкий магнитный диск, магнитные полосы…), оптические диски (к примеру, компакт-диск (CD), цифровой многофункциональный диск (DVD)…), смарт-карты и устройства флеш-памяти (к примеру, карта, флеш-драйвы…).
Различные варианты осуществления будут представлены в терминах систем, которые могут включать в себя ряд компонентов, модулей и т.п. Должно быть понятно и принято во внимание, что различные системы могут включать в себя дополнительные компоненты, модули и т.д. и/или могут не включать в себя все компоненты, модули и т.д., обсужденные в связи с чертежами. Также может использоваться комбинация этих подходов.
Теперь со ссылкой на чертежи, фиг.1 иллюстрирует блок-схему системы 100 связи, использующей технологию брандмауэра, которая может быть осуществлена с переносным устройством или терминалом, переносным (мобильным) телефоном, персональным цифровым помощником, персональным компьютером (настольным или портативным) или другими электронными устройствами и/или устройствами связи. Система 100 включает в себя брандмауэр 102, который фильтрует входящие и/или исходящие данные, именуемые как пакет данных или сетевой пакет 104 и 106. Брандмауэр 102 может быть брандмауэром, функционирующим у сетевого оператора, на оборудовании инфраструктуры и т.д. Пакет 104 и 106 может быть любым пакетом типа связи, включающим в себя группу данных, отправленных и/или переданных от одного устройства другому устройству. Технология брандмауэра изучает каждый пакет (входящие данные), классифицирует каждый пакет и выполняет одно или более действия на основе такого изучения и/или классификации. Типичными действиями являются передавать, блокировать и/или направить пакет определенным образом. Пакетные фильтры, меняющие параметры своих состояний, могут также принимать во внимание ранее просмотренные пакеты при выполнении классификации.
Например, для целей иллюстрации, но не ограничения, брандмауэр 102 может разрешать пакету(ам) 104 данных, отправленному от отправителя 108, расположенного с одной стороны брандмауэра 102, передаваться получателю 110, расположенному с другой стороны брандмауэра 102. Пакет(ы) 104, переданные отправителем 108 и которые предназначены и/или авторизованы так, чтобы достичь получателя 110, пересылаются, или им позволено проходить через брандмауэр 102. Пакет(ы) 104, не предназначенные и/или не авторизованные для такого получателя 110, могут быть заблокированы брандмауэром 102 и не пересылаются получателю 110. Таким образом, получатель 110 не знает и не принимает нежелательные пакеты и/или пакеты, непредусмотренные для такого получателя 110.
Получатель 110 может быть выполнен с возможностью связываться с брандмауэром 102, чтобы предоставить набор правил политик относительно отправителя(ей) 108 и/или пакета(ов) 104, в отношении которых получатель 110 может захотеть, чтобы брандмауэр 102 их пропускал, и отправителя(ей) и/или пакета(ов), в отношении которых получатель 110 может захотеть, чтобы брандмауэр 102 их блокировал. Таким образом, получатель 110 действует как сервер. Другими словами, получателю 110 может требоваться внешний отправитель 108, чтобы связаться с получателем 110. Таким образом, получатель 110 может быть сконфигурирован так, чтобы связываться непосредственно с брандмауэром 102, чтобы динамическим образом обновить политику или политики.
Получатель 110 может быть дополнительно выполнен с возможностью автоматически определять, какие входящие потоки или пакеты 104 являются желательными, изучая список пассивных сокетов. Например, получатель 110 может открыть или создать пассивный сокет, чтобы действовать как сервер. Получатель 110 уведомляет брандмауэр 102 о том, что пакеты 104, предназначенные для этого сокета, должны быть переданы получателю 110. Если получатель завершает или закрывает сокет вместе с веб-сервером, пассивный сокет, созданный ранее, уничтожается. Получатель 110 может уведомить брандмауэр 102 об уничтожении пассивного сокета и запросить брандмауэр 102 для того, чтобы запрещать весь дополнительный трафик, предназначенный для этого пассивного сокета.
Получатель 110 может также пересылать пакеты 106 отправителю 108 через брандмауэр 102. Таким образом, получатель 110 действует как клиент, и брандмауэр 102 может блокировать пакет 106 или разрешать пакету 106 передаваться отправителю 108 согласно другому протоколу и технологиям. Например, брандмауэр 102 может разрешить или запретить такие пакеты 106 на основе критерия, например, предварительно определенного сетевым провайдером. Брандмауэр 102 может также направлять пакет 106 в зависимости от политики, установленной предназначенным получателем этого пакета, которым в этом случае является отправитель 108. Таким образом, брандмауэр 102 может сохранять разный набор правил или политик для разных устройств.
Фиг.2 иллюстрирует систему 200 конфигурации брандмауэра с помощью клиента. Система 200 включает в себя брандмауэр 202 и узел 204 (к примеру, мобильное устройство), который может находиться в беспроводной связи. Узлом 204 могут быть, например, сотовые телефоны, интеллектуальные телефоны, портативные компьютеры, карманные устройства связи, карманные вычислительные устройства, спутниковые радиотелефоны, системы глобального позиционирования, PDA и/или другие подходящие устройства для связи по беспроводной сети 200. Хотя ряд брандмауэров 202 и узлов 204 может быть включен в систему 200, как будет принято во внимание, в целях простоты проиллюстрирован один брандмауэр 202, который передает сигналы передачи данных одному узлу 204.
Узел 204 включает в себя передающее устройство 206, через которое узел 204 может инициировать поток данных или сеанс связи и/или запрос обновлений в политике, сохраненной брандмауэром 202. Узел может также включать в себя принимающее устройство 208, через которое узел 204 может принимать подтверждение приема или отрицание политики из брандмауэра 202 и /или может принимать поток данных или пакет.
Узел 204 может отвечать на переданные пакеты от брандмауэра 202 через передающее устройство 206. Когда узел 202 инициирует поток данных, он действует подобно клиенту и рассматривается как "активный". Когда узел 202 отвечает на поток данных, он действует подобно серверу и рассматривается как "пассивный". Активный поток рассматривается как исходящий, а пассивный поток является входящим.
Когда узел 204 действует как сервер, узел 204 может связаться непосредственно с брандмауэром 202 и управлять правилами брандмауэра. Например, узел 204 может уведомить брандмауэр 202 об отдельных связях, отправителях и т.д., от которых узел 204 желает принимать передачу данных. Узел 204 может автоматически уведомить брандмауэр 202 о любых прерванных сеансах или завершенных сеансах и отменить политику таких сеансов, таким образом брандмауэр 202 будет блокировать сеансы и не позволять им передаваться узлу 204. Конфигурируя брандмауэр 202 таким образом, пакеты, предназначенные для узла 204, но которые не желательны узлом 204, блокируются перед тем, как они отправляются. Это уменьшает сетевой трафик, так как такие пакеты не отправляются и затем отбрасываются узлом 204. Вместо этого определение делается в брандмауэре 202 перед тем, как пакеты будут отправлены узлу 204.
Узел 204 может включать в себя компонент декодера (не показан), который может декодировать принятый сигнал и/или пакет данных в нем для обработки. После успешного декодирования пакета данных компонент подтверждения приема (не показан) может сформировать подтверждение приема, которое указывает успешное декодирование пакета данных, которое может быть отправлено брандмауэру 202, чтобы информировать отправителя передачи данных (не показан) о том, что пакет данных был принят и декодирован, и поэтому не должен передаваться повторно.
Фиг.3 иллюстрирует систему 300 автоматического и динамического конфигурирования политики брандмауэра. Система 300 включает в себя брандмауэр 302, который может быть включен в сетевую инфраструктуру, и узел 304 (к примеру, мобильное устройство). Узел 304 может принимать входящие пакеты данных 306 или может инициировать исходящие пакеты данных 308. При приеме входящих пакетов 306 узел работает в пассивном режиме и действует подобно серверу. При инициации и отправлении исходящих пакетов 308 узел 304 находится в активном режиме и работает подобно клиенту. В любом входящем или исходящем режиме пакеты 306 и 308 данных, как правило, должны пройти через брандмауэр 302. На основе набора правил или политики 310 брандмауэр 302 может блокировать, пропускать или перенаправлять пакет 306 и 308.
Узел 304 может включать в себя устройство 312 указания, устройство 314 аннулирования и устройство 316 инициализации, которые могут быть функциональными блоками, которые представляют функции, осуществляемые процессором, программным обеспечением или их комбинацией (к примеру, программно-аппаратными средствами). Устройство 312 указания, устройство 314 аннулирования и/или устройство 316 инициализации могут связываться непосредственно с брандмауэром 302, или они могут связываться через передающее устройство (не показано) и принимать передачу данных через принимающее устройство (не показано). Когда пакет 306, предназначенный для узла 304, передается брандмауэру 302, брандмауэр 302 может сделать определение, должен ли быть пакет 306 передан узлу 304 или заблокирован. Такое определение может быть основано на предварительно определенной политике 310. Политика может включать в себя различные критерии, такие как разрешенные конечные точки потока, ограничения ресурсов и т.д. В некоторых вариантах осуществления политика 310 может быть динамически изменена или модифицирована узлом 304 посредством технологии избирательного принуждения.
Устройство 312 указания может быть выполнено с возможностью указывать параметры, ассоциативно связанные с пакетом 306, который узел 304 хочет принять, и передавать такие параметры брандмауэру 302. Такие параметры могут быть субъектом принуждений политики 310. Узел 304 может запросить прохождение определенных входящих потоков (к примеру, пакетов 306). Потоки могут быть определены устройством 312 указания по набору критериев, которым должны соответствовать (или не соответствовать) некоторые или все из полей, доступных в заголовке пакета, например. Пакет, как правило, включает в себя заголовок и может иметь заголовки протокола верхнего уровня (к примеру, протокол управляющих сообщений сети Интернет (ICMP), протокол пользовательских дейтаграмм (UDP) и/или протокол управления передачей (TCP) и т.д.). Критерии или параметры, определенные устройством 312 указания, могут включать в себя, но не ограничиваться этим, точные значения, списки значений, диапазоны значений, открытые сокеты и т.п.
Устройство 314 аннулирования может быть выполнено с возможностью запрашивать отмену прохождения определенных пакетов или всех пакетов, которые запросил узел 304. Например, устройство 312 указания может запросить то, что пакет одного или более типов и/или от одного или более отправителей должен быть передан узлу 304. Если после запроса передачи таких пакетов определено, что пакеты больше нежелательны, устройство 314 аннулирования может отменить запрос определенных пакетов. Эта отмена может быть выполнена автоматически или автономно системой 300 на основе определенных параметров (к примеру, размер пакета, тип пакета или другие критерии).
Отмена может также быть основана на ручном вводе, принятом от пользователя узла 304. Например, пакеты могут быть определены как предназначающиеся для пользователя. Однако пользователь может решить, что такие пакеты больше нежелательны по множеству причин. Пользователь может вручную отменить такие пакеты через интерфейс, ассоциативно связанный с узлом, такой как устройство 314 аннулирования.
Узел 304 может предоставлять различные типы пользовательских интерфейсов. Например, узел 304 может предоставить графический пользовательский интерфейс (GUI), интерфейс командной строки и т.п. Например, может быть воспроизведен GUI, который обеспечивает пользователя областью или средством, чтобы загрузить, импортировать, прочитать и т.д. информацию о параметре, блокируемые пакеты, блокируемых отправителей и/или системный запрос, подсказывающий, желает ли пользователь, чтобы такие пакеты/отправители были заблокированы. Эти области могут содержать известный текст и/или графические области, содержащие диалоговые окна, статические элементы управления, раскрывающиеся меню, окна списка, всплывающие меню, как редактируемые поля, комбинированные окна, зависимые переключатели, независимые переключатели, заключительные клавиши и графические окна. Кроме того, могут применяться утилиты для того, чтобы облегчать представление таких вертикальных и/или горизонтальных полос прокрутки для навигации кнопок панели инструментов, чтобы определить, должна ли область быть видимой.
Например, может быть применен интерфейс командной строки. Например, интерфейс командной строки может подсказывать (к примеру, текстовым сообщением на дисплее или звуковым тоном) пользователю информацию, предоставляя текстовое сообщение. Пользователь может затем предоставлять соответствующую информацию, такую как буквенно-цифровой ввод, соответствующий варианту, предоставленному в подсказке интерфейса, или ответ на вопрос, сформулированный в подсказке. Может быть оценено, что может быть использован интерфейс командной строки в соединении с GUI и/или API. Кроме того, интерфейс командной строки может применяться в соединении с аппаратными средствами (к примеру, видеокарты) и/или дисплеями (к примеру, черно-белыми и EGA) с ограниченной графической поддержкой и/или каналами связи с низкой пропускной способностью. Протокол обычно осуществляет обмен пакетами в обоих направлениях (входящем и исходящем), таким образом, и узел 304, и брандмауэр 302 могут своевременно стать осведомленными о прерванном сеансе. Например, брандмауэр 302 и/или узел 304 может сделать определение, прерван ли сеанс, на основе отсутствия трафика от равноправного участника сети (к примеру, другого мобильного устройства, другого устройства связи,…). Определение на основе прерванного сеанса может быть включено как часть самого протокола. В некоторых вариантах осуществления определение может быть обеспечено нижележащим транспортным протоколом, таким как сегменты поддержки протокола управления передачей (TCP).
Если определено, что сеанс прерван или завершен, потоки, ранее запрошенные узлом 304, могут быть автоматически отменены. Таким образом, все пакеты, предназначенные для узла 304, автоматически блокируются брандмауэром 302 и им не разрешено проходить к узлу 304. Таким образом, прерванный сеанс и/или неполные пакеты не передаются по радиоинтерфейсу и не используют не хватающие или ценные ресурсы.
Последующее описание приводится в целях примера, а не ограничения. Телефонная трубка или узел 304 может выполнять функцию веб-сервера, создающего прослушивание пассивного сокета по TCP-порту 80. Компонент управления брандмауэром (к примеру, указатель 312) может обнаружить, что был создан пассивный сокет по TCP-порту 80. Компонент управления устанавливает взаимодействие с брандмауэром 302 и запрашивает брандмауэр 302, чтобы разрешить потоки, предназначенные для TCP-порта 80 телефонной трубки, по которому должно быть разрешено прохождение. Брандмауэр 302 может либо подтвердить прием, либо отвергнуть запрос. Внешние стороны могут инициировать входящие потоки, которые связываются с веб-сервером телефонной трубки. Некоторое время спустя веб-сервер в телефонной трубке может закрыться, уничтожая пассивный сокет на TCP-порте 80. По существу, в то же время или, по существу, в другое время, компонент управления брандмауэром в телефонной трубке может обнаружить уничтожение пассивного сокета. Компонент управления может установить связь с брандмауэром и запросить брандмауэр, чтобы отвергнуть весь дополнительно прибывающий трафик к телефонной трубке по TCP-порту 80. Должно быть понятно, что в IP-сети процесс может, по существу, отличаться от описанного выше, так как и потоки, и топология привязаны к адресам конечной точки.
Чтобы инициировать новый сеанс или восстановить прерванный сеанс и последующую автоматическую отмену потоков данных, узел 304 может восстановить сеанс через устройство 316 инициализации. Устройство 316 инициализации может быть выполнено с возможностью определять, с каким брандмауэром 302 узел 304 находится на связи, так как узел 304 может быть мобильным устройством и может перемещаться из одного географического района или соты в другой район или соту. Так как устройство перемещается, ему может быть необходимо установить связь с одним или более брандмауэрами. Устройство 316 инициализации может быть выполнено с возможностью связываться с указателем 312 и запрашивать (или повторно запрашивать в случае прерванного сеанса) прохождение желательных потоков.
Фиг.4 иллюстрирует систему 400 автоматического и динамического конфигурирования политики брандмауэра. Система 400 включает в себя брандмауэр 402, сконфигурированный, чтобы передавать, блокировать или перенаправлять входящие пакеты и/или исходящие пакеты. Также включенным в систему является узел 404, который может включать в себя устройство 406 указания, устройство 408 аннулирования и устройство 410 инициализации. Узел 404 работает в пассивном режиме для входящих пакетов и в активном режиме для исходящих пакетов. Система 400 работает подобно системе 300, иллюстрированной и описанной со ссылкой на фиг.3.
Система 400 может включать в себя память 412, оперативно соединенную с узлом 404. Память 412 может хранить информацию, относящуюся к запрошенным входящим потокам, критериям совпадения, определенным потокам, отмененным потокам, открытым сетевым сокетам и т.д., относящимся к технологии конфигурируемого брандмауэра и уменьшению трафика в системе беспроводной связи. Процесс 414 может быть оперативно соединен с узлом 404 (и/или памятью 412), чтобы анализировать информацию, относящуюся к технологии конфигурируемого брандмауэра и уменьшению трафика в системе беспроводной связи. Процессор 414 может быть процессором, предназначенным анализировать информацию, принятую узлом, и/или формировать информацию, которая должна быть отправлена узлом 404, процессором, который управляет одним или более компонентами системы 400, и/или процессором, который как анализирует, так и формирует информацию, принятую узлом 404, и управляет одним или более компонентами системы 400.
Память 412 может хранить протоколы, ассоциативно связанные с желаемыми пакетами, потоками пакетов, отправителями, типами связи и т.д., и принимает меры, чтобы управлять связью между узлом и брандмауэром 402 и т.д., так что система 400 может применить сохраненные протоколы и/или алгоритмы, чтобы добиться уменьшения сетевого трафика в беспроводной сети, как описано в данном документе. Должно быть оценено, что компоненты хранения данных (к примеру, память), описанные в данном документе, могут быть либо энергозависимой памятью, либо энергонезависимой памятью. Или могут включать как энергозависимую, так и энергонезависимую память. В качестве примера, но не ограничения, энергонезависимая память может включать в себя постоянное запоминающее устройство (ROM), программируемое ROM (PROM), электрически программируемое ROM (EPROM), электрически стираемое ROM (EEPROM) или флэш-память. Энергозависимая память может включать в себя оперативное запоминающее устройство (RAM), которое выступает в качестве внешней кэш-памяти. В качестве иллюстрации, но не ограничения, RAM доступна во многих формах, например синхронная RAM (DRAM), динамическая RAM (DRAM), синхронная DRAM (SDRAM), SDRAM с двойной скоростью передачи данных (DDR SDRAM), улучшенная SDRAM (ESDRAM), Synchlink DRAM (SLDRAM) и direct Rambus RAM (DRRAM). Память 412 раскрытых вариантов осуществления предназначена для того, чтобы содержать, без ограничения, те или иные подходящие типы памяти. Фиг.5 иллюстрирует систему 500 для конфигурирования брандмауэра и уменьшения сетевого трафика. Иллюстрируются блоки, которые могут быть функциональными блоками, которые представляют функции, выполняемые процессором, программным обеспечением или их комбинацией (к примеру, программно-аппаратные средства). Система 500 может включать детектор 502, который может обнаружить один или более брандмауэров, включенных в сеть. Коммуникатор 504 может быть выполнен с возможностью связываться с обнаруженным брандмауэром. Такая связь может включать в себя, но не ограничиваться этим, запрос установления сеанса, задание прохождения определенных входящих потоков, отмену одного или более входящих потоков или другие типы связи. Также включенным в систему 500 может быть устройство 506 обновления, которое сконфигурировано так, чтобы обновлять политику, ассоциативно связанную с брандмауэром. Обновление политики может включать в себя изменения в существующей политике, как автоматически определено системой 500, или изменения, которые вручную вводятся в систему 500 пользователем.
В некоторых вариантах осуществления система 500 может также включать в себя устройство 508 проверки и устройство 510 спецификации. Устройство 508 проверки может быть выполнено с возможностью изучать список открытых сетевых сокетов, которые могут быть открытыми пассивными сетевыми сокетами. Устройство 510 спецификации может быть выполнено с возможностью формировать соответствующий запрос брандмауэру, когда пассивный сокет прослушан, и может формировать отмену, когда пассивный сокет закрыт. Если система 500 восстанавливается из прерванного или завершенного сеанса, текущий список пассивных сокетов может быть перечислен, чтобы сформировать соответствующие запросы.
Принимая во внимание примерные системы, показанные и описанные выше, методологии, которые могут быть осуществлены в соответствии с одним или более аспектами различных вариантов осуществления, будут лучше оценены со ссылкой на схемы на фиг.6-8. Хотя в целях упрощения пояснения методологии показаны и описаны как последовательности действий (или блоков функций), должно быть понятно и принято во внимание, что настоящие методологии не ограничены порядком действий, поскольку некоторые действия могут в соответствии с этими методологиями осуществляться в других порядках и/или параллельно с другими действиями, чем те, что показаны и описаны в данном документе. Более того, не все проиллюстрированные действия могут быть необходимы, чтобы реализовать методологию в соответствии с одним или более аспектами раскрытых вариантов осуществления. Должно быть принято во внимание, что различные действия могут быть выполнены программным обеспечением, аппаратными средствами, их комбинацией или любыми другими подходящими средствами (к примеру, устройством, системой, процессом, компонентом) для выполнения функциональности, ассоциативно связанной с действиями. Также должно быть принято во внимание, что действия существуют просто, чтобы проиллюстрировать определенные аспекты, представленные в данном документе, в упрощенной форме, и что эти аспекты могут быть проиллюстрированы меньшим и/или большим числом действий. Кроме того, не все проиллюстрированные действия могут требоваться, чтобы выполнить следующие методологии. Специалисты в данной области техники поймут и примут во внимание, что методология может быть альтернативно представлена как последовательность взаимосвязанных состояний или событий, таких как в схеме состояния.
Фиг.6 является блок-схемой методологии 600 динамического разрешения прохождения легитимных входящих потоков данных. Легитимные входящие потоки являются потоками, которые устройство ранее затребовало. Например, устройство может знать или делать вывод на основе ранее принятых потоков, что, если оно принимает определенный тип трафика, трафик от определенного источника и т.д., этот поток будет отброшен, или прием трафика будет запрещен после приема в устройстве. Устройство может также иметь эту информацию на основе определенных пользователем параметров, чем ожидать до тех пор, пока эти нежелательные и/или непредусмотренные потоки будут приняты в устройстве, предпочтительно, чтобы устройство могло идентифицировать эти потоки (к примеру, тип, источник и т.д.) перед тем, как поток отправлен устройству, занимая ценную полосу пропускания и ресурсы.
Способ 600 начинается этапом 602, где принимается запрос прохождения. Этот запрос прохождения может включать в себя информацию, относящуюся только к тем типам, источникам и т.д., от которых мобильное устройство желает принимать передачу данных. Эта информация должна быть предварительно определена устройством и сохранена в сетевой периферии или брандмауэре. Потоки трафика, для которых был принят запрос прохождения, будут переданы устройству. Потоки трафика, для которых запрос прохождения не был принят, будут блокированы перед тем, как будут далее переданы устройству.
Потоки могут быть определены по различным критериям, и поток должен соответствовать критериям, чтобы быть переданным. В некоторых вариантах осуществления различные критерии могут быть информацией, с которой поток не должен совпадать. Например, критериями могут быть некоторые или все из полей, доступных в заголовке(ах) пакета. Заголовком является часть сообщения, которая содержит информацию, которая будет направлять сообщение к правильной цели. Включенным в заголовок может быть адрес источника, адрес приемника, уровень по старшинству, направляющие инструкции, импульсы синхронизации и т.д. IP-пакет может иметь заголовки протоколов верхнего уровня, таких как протокол управляющих сообщений сети Интернет (ICMP), протокол пользовательских дейтаграмм (UDP), и/или протокол управления передачей (TCP). Критерии могут состоять из точных значений, списков значений и/или диапазонов значений.
На этапе 604 делается определение того, был ли принят запрос отмены. Запрос отмены может быть для определенного потока или потоков или может быть для всех потоков, которые были ранее запрошены. Если определением на этапе 604 является то, что запрос отмены не был принят ("нет"), способ 600 продолжается на этапе 606, и потоку разрешено проходить к устройству. Если определением на этапе 604 является то, что запрос отмены был принят ("да"), способ 600 продолжается на этапе 608, и прохождение блокируется до отправки к устройству.
В вышеописанной методологии 600 запрос прохождения и отмены запрошенных потоков может быть принят в брандмауэре сети от мобильного устройства (к примеру, телефонной трубки). Брандмауэр сети может разрешить или блокировать прохождение входящих потоков данных на основе того, принял ли брандмауэр сети запрос прохождения и/или отмены от мобильного устройства.
Фиг.7 является блок-схемой методологии 700 автоматического восстановления потоков данных. Автоматическое восстановление предусмотрено для ситуаций, когда сеанс, который был восстановлен посредством запроса удаленного брандмауэра, чтобы разрешить прохождение пакетов, направленных, по меньшей мере, одному открытому сокету, может стать остановленным, прерванным или завершенным по множеству причин. На этапе 702 остановленный сеанс обнаружен узлом и/или брандмауэром. Так как протокол симметрично обменивается пакетами в обоих направления (к примеру, входящем и исходящем), и узел, и брандмауэр могут узнать об остановленном сеансе своевременно, и в большинстве ситуаций, по существу, в то же время, когда произошло прерывание сеанса. Такая осведомленность может быть результатом наблюдения недостатка трафика от равноправного устройства сети. Это может быть выполнено как часть самого протокола или может быть доставлено нижележащим транспортом (к примеру, сегменты поддержки протокола TCP).
Когда сеанс прерван или иным образом завершен, потоки, запрошенные ассоциативно связанным узлом, отменяются на этапе 704. Посредством отмены запрошенных потоков защищаются целостность и конфиденциальность узла. Таким образом, трафику не позволено передаваться узлу, и такой трафик блокируется перед тем, как отправляется устройству и занимает полосу пропускания.
Согласно некоторым вариантам осуществления, если узел желает восстановить потоки данных, должен быть восстановлен новый сеанс на этапе 706. Этот новый сеанс может быть основан на новом запросе, или он может быть основан на восстановлении списка пассивных сокетов, чтобы формировать соответствующие запросы. Запрос (или повторный запрос) или прохождение желательных потоков устанавливается на этапе 708.
В вышеописанной методологии 700, например, устройство (к примеру, мобильное устройство) может обнаружить прерванный сеанс и связаться с брандмауэром сети, чтобы отменить запрошенные потоки. Если желается (к примеру, пользователем), устройство может восстановить новый сеанс с брандмауэром и запросить прохождение желаемых потоков.
Фиг.8 является блок-схемой методологии 800 автоматической защиты брандмауэра и уменьшения сетевого трафика. Сетевой трафик, который уменьшается, может включать в себя нежелательный и/или непредусмотренный трафик, прерванные сеансы, завершенные сеансы и т.п. На этапе 802 телефонная трубка желает принять входящий поток передачи данных и работает в пассивном режиме или как сервер. Телефонная трубка создает пассивный сокет на этапе 804. Этот пассивный сокет может быть на TCP-порте 80, например. В некоторых вариантах осуществления пассивный сокет может быть включен в список открытых пассивных сокетов, который периодически или непрерывно наблюдается на предмет изменений, модификаций и т.п. Контакт или связь с брандмауэром устанавливается на этапе 806. Контакт или связь может быть запущена, когда создан пассивный сокет. Связь может включать в себя, на этапе 808, обновление политики удаленного брандмауэра, такое как запрос того, что брандмауэр разрешает потоки, направленные к пассивному сокету. Связь может также включать в себя список пассивных сетевых сокетов, сформированных одним или более открытыми сеансами. Этот список может дополнительно включать в себя те службы, о которых узел осведомлен и наличие которых узел предлагает в любое данное время.
Входящие потоки, инициированные внешними сторонами, направленные к одному или более перечисленным открытым пассивным сокетам, могут быть разрешены брандмауэром для прохождения. Если веб-сервер завершил работу или остановлен, пассивный сокет на TCP-порте 80 уничтожается. На этапе 810 делается определение, открыт ли пассивный сокет или закрыт (к примеру, завершен или уничтожен). Если сокет открыт ("да"), пакетам внешней стороны, потокам, передачам данных и т.д. позволено передаваться или продолжать передачу на этапе 812. Если определением на этапе 810 является то, что сокет закрыт ("нет"), на этапе 814 формируется запрос отмены. Этот запрос отмены может быть автоматически отправлен при обнаружении того, что сокет закрыт. Этот запрос может включать в себя инструкцию к брандмауэру запретить весь дополнительный прибывающий трафик к TCP-порту 80. При восстановлении из прерванного или завершенного сеанса текущий список пассивных сокетов может быть перечислен, чтобы сформировать соответствующие запросы.
В вышеописанной методологии 800, например, мобильное устройство может установить сетевое соединение, обнаружить открытый пассивный сокет, установить связь с брандмауэром и запросить разрешенные потоки. Мобильное устройство может дополнительно сделать определение, является ли пассивный сокет открытым или закрытым, и, если закрыт, сформировать запрос отмены к брандмауэру.
Теперь со ссылкой к фиг. 9 иллюстрируется концептуальная блок-схема вероятной конфигурации терминала 900. Как оценят специалисты в данной области техники, точная конфигурация терминала 900 может зависеть от конкретного применения и общих структурных ограничений. Процессор 902 может выполнять различные варианты осуществления, раскрытые в данном документе. Терминал 900 может быть выполнен с клиентским приемопередающим устройством 904, подсоединенным к антенне 906. Процессор 908 монополосной передачи может быть подсоединен к приемопередающему устройству 904. Процессор 908 монополосной передачи может быть выполнен с архитектурой на основе программного обеспечения или любым другим типом архитектуры. Микропроцессор может использоваться в качестве платформы, чтобы запускать программы, реализованные программно, которые, среди других функций, предоставляют управление и функцию общего управления системой. Процессор цифровых сигналов (DSP) может быть выполнен с внедренным уровнем программного обеспечения связи, которое запускает применение конкретных алгоритмов, чтобы уменьшить требования обработки к микропроцессору. DSP может использоваться, чтобы обеспечить различные функции обработки сигнала, такие как обнаружение контрольного сигнала, синхронизация времени, отслеживание частоты, обработка шумоподобного сигнала, функции модуляции и демодуляции и прямая коррекция ошибок.
Терминал 900 может также включать в себя различные пользовательские интерфейсы 910, соединенные с базовым процессором 908. Пользовательские интерфейсы 910 могут включать в себя клавиатуру, мышь, сенсорный экран, дисплей, вызывной звонок, вибратор, аудиодинамик, микрофон, камеру и/или другие устройства ввода/вывода.
Процессор 908 монополосной передачи содержит процессор 902. В программном осуществлении процессора 908 монополосной передачи процессор 902 может быть программой, реализованной программно, работающей в микропроцессоре. Однако, как легко оценят специалисты в области техники, процессор 902 не ограничен этим вариантом осуществления и может быть выполнен любыми средствами, известными в области техники, включающими в себя любую конфигурацию аппаратных средств, конфигурацию программного обеспечения или их комбинацию, которая способна выполнять различные функции, описанные в данном документе. Процессор 902 может быть соединен с памятью 912 для хранения данных.
Должно быть понятно, что варианты осуществления, описанные в данном документе, могут быть выполнены посредством аппаратных средств, программного обеспечения, программно-аппаратных средств, микропрограммных средств, микрокода или любой их комбинации. Когда системы и/или способы выполнены в программном обеспечении, программно-аппаратных средствах, микропрограммных средствах или микрокоде, программном коде или сегментах кода, они могут быть сохранены на машиночитаемом носителе, таком как компонент накопителя. Сегмент кода может представлять процедуру, функцию, подпрограмму, программу, алгоритм, подпрограмму, модуль, пакет программного обеспечения, класс или любую комбинацию инструкций, структур данных или программных операторов. Сегмент кода может быть связан с другим сегментом кода или аппаратной схемой посредством передачи и/или приема информации, данных, аргументов, параметров или содержимого памяти. Информация, аргументы, параметры, данные и т.д. могут быть переданы, направлены или отправлены с помощью любых подходящих средств, включающих в себя разделение памяти, передачу сообщений, передачу маркера, сетевую передачу и т.д.
То, чтобы было описано выше, включает в себя примеры одного или более вариантов осуществления. Конечно, невозможно описать каждое вероятное сочетание компонентов или методологий в целях описания этих вариантов осуществления, но обычный специалист в данной области техники может признать, что многие дополнительные сочетания и перестановки таких вариантов осуществления допустимы. Следовательно, варианты осуществления, описанные в данном документе, предназначены, чтобы охватывать все подобные преобразования, модификации и разновидности, которые попадают под дух и область применения прилагаемой формулы изобретения. Более того, в пределах того, как термин "включает в себя" используется либо в подробном описании, либо в формуле, этот термин должен быть включающим способом, аналогичным термину "содержит", как "содержит" интерпретируется, когда используется в качестве промежуточного слова в формуле.