ИДЕНТИФИКАЦИЯ ПОТЕНЦИАЛЬНЫХ ПРОБЛЕМНЫХ СЕТЕВЫХ ОБЪЕКТОВ
IDENTIFICATION OF CANDIDATE PROBLEM NETWORK ENTITIES

УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
[0001] Вычислительные системы изменили то, как мы работаем, играем и живем. Современные вычислительные системы могут выполнять широкое разнообразие задач в соответствии с программным обеспечением и услугами, которые находятся в распоряжении вычислительной системы. Вычислительные системы становятся все в большей степени связанными друг с другом, благодаря чему обеспечивают возможность большего совместного взаимодействия между вычислительными системами. Помимо всего прочего, большие объемы мультимедийных данных теперь доставляются между вычислительными системами. Соответственно, компьютерные рабочие потоки более чем когда-либо прежде, являются зависимыми от надежной передачи по сетям.
[0002] Сети составляются в виде топологии взаимосвязанных вычислительных систем (часто называемых «узлами» или «сетевыми узлами»). Канал между сетевыми узлами называется «линией связи». Когда сообщения доставляются от одной вычислительной системы к другой, эти сообщения могут передаваться в некотором потоке, прокладывающем путь в топологии соединенных узлов. Производительность сетевых узлов и линий связи может изменяться. Технология маршрутизации обеспечивает возможность сообщениям использовать альтернативные пути, если производительность конкретного пути снизилась. Когда производительность узла или линии связи снижается в значительной степени, этот узел или линия связи может выводиться из использования, исправляться и/или заменяться.
[0003] Изобретение, заявленное в настоящем документе, не ограничивается вариантами осуществления, которые устраняют любые недостатки, или которые применяются только в условиях, подобных тем, что описывались выше. Напротив, этот уровень техники изобретения приводится только для того, чтобы проиллюстрировать одну примерную область технологии, где некоторые варианты осуществления, описанные в настоящем документе, могут осуществляться на практике.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0004] По меньшей мере, некоторые варианты осуществления, описанные в настоящем документе, относились к обнаружению проблем передачи данных по сети в сетях, которые имеют множество конечных узлов и множество транзитных узлов между ними. В подобных сетях, между любыми двумя заданными конечными узлами, может существовать один или более потоков. Каждый поток представляет собой путь между любыми двумя соответствующими конечными узлами, который сетевой трафик, вероятно, будет использовать, если этот сетевой трафик имеет некоторые характеристики. Пример подобной сети представляет собой сетку.
[0005] В соответствии с вариантами осуществления, описанными в настоящем документе, один или более конечных узлов предоставляют отчеты для того, чтобы поддерживать обнаружение проблем передачи данных по сети. Например, заданный конечный узел может отслеживать поток и создавать соответствующую информацию о потоках для этого потока. Информация о потоках может включать в себя информацию касательно конечных точек потока, так же как информацию о производительности касательно потока. В дальнейшем предоставляется отчет с информацией о потоке.
[0006] В соответствии с вариантами осуществления, описанными в настоящем документе, система идентифицирует потенциальные источники недостаточности производительности сети. Например, система оценивает, для каждого из множества потоков в пределах сети, вероятный путь, который сетевой трафик использует через эту сеть. В дальнейшем система может использовать информацию о производительности для каждого, по меньшей мере, поднабора из множества потоков для того, чтобы идентифицировать, по меньшей мере, один потенциальный проблемный сетевой объект, который является общим среди оцененных путей, по меньшей мере, поднабора из множества потоков. В качестве примера, эта информация о производительности могла бы собираться из информации о потоках, предоставленной в отчетах множеством конечных узлов.
[0007] Это изложение сущности изобретения предоставляется для того, чтобы представить выбор концепций в упрощенной форме, которые дополнительно описываются ниже в подробном описании. Это изложение сущности изобретения не предназначается для того, чтобы выявить ключевые признаки или существенные признаки заявленного изобретения, а также не предназначается для того, чтобы использоваться в качестве помощи в определении объема заявленного изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0008] Для того чтобы описать способ, которым вышеизложенные и другие преимущества и признаки изобретения могут получаться, будет предоставлено более обстоятельное описание изобретения, кратко описанного выше, при помощи ссылки на конкретные варианты его осуществления, которые проиллюстрированы на прилагаемых чертежах. При понимании того, что эти чертежи отображают только типичные варианты осуществления изобретения и, вследствие этого, не должны считаться ограничивающими его объем, изобретение будет описываться и объясняться с дополнительной специфичностью и детализацией через использование сопровождающий чертежей, в которых:
[0009] Фигура 1 иллюстрирует пример вычислительной системы, в которой могут применяться принципы, описанные в настоящем документе;
[0010] Фигура 2 иллюстрирует примерную сеть, в которой могут применяться принципы, описанные в настоящем документе, которая включает в себя множество конечных узлов, соединенных через посредство сетки из транзитных узлов и наборов линий связи;
[0011] Фигура 3 иллюстрирует блок-схему способа для предоставления конечным узлом отчета касательно потоков в сети;
[0012] Фигура 4 иллюстрирует пример информации о потоках, которая может создаваться конечным узлом для каждого отслеживаемого потока;
[0013] Фигура 5 абстрактным образом иллюстрирует систему, которая идентифицирует источник сетевой проблемы с использованием информации о потоках, предоставленной в отчетах от одной или более конечных точек;
[0014] Фигура 6 иллюстрирует блок-схему способа для идентификации источника для сетевой проблемы и потенциального устранения сетевой проблемы;
[0015] Фигура 7 иллюстрирует сеть с Фигуры 2, но теперь с наложенными путями потоков более низкой производительности, и показывающая потенциальный проблемный сетевой объект, представляющий собой линию связи из набора линий связи; и
[0016] Фигура 8 иллюстрирует сеть с Фигуры 2, но теперь с наложенными путями потоков более низкой производительности, и показывающая потенциальный проблемный сетевой объект, представляющий собой транзитный узел.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0017] По меньшей мере, некоторые варианты осуществления, описанные в настоящем документе, относились к обнаружению проблем передачи данных по сети в сетях, которые имеют множество конечных узлов и множество транзитных узлов между ними. В подобных сетях, между любыми двумя заданными конечными узлами, может существовать один или более потоков. Каждый поток представляет путь между любыми двумя соответствующими конечными узлами, которые сетевой трафик, вероятно, будет использовать, если этот сетевой трафик имеет некоторые характеристики. Пример подобной сети представляет собой сетку.
[0018] В соответствии с вариантами осуществления, описанными в настоящем документе, один или более из конечных узлов предоставляют отчеты для того, чтобы поддерживать обнаружение проблем передачи данных по сети. Например, заданный конечный узел может отслеживать поток и создавать соответствующую информацию о потоках для этого потока. Информация о потоках может включать в себя информацию касательно конечных точек потока, так же как информацию о производительности касательно потока. В дальнейшем предоставляется отчет с информацией о потоке.
[0019] В соответствии с вариантами осуществления, описанными в настоящем документе, система идентифицирует потенциальные источники недостаточности производительности сети. Например, система оценивает, для каждого из множества потоков в пределах сети, вероятный путь, который сетевой трафик использует через эту сеть. В дальнейшем система может использовать информацию о производительности для каждого, по меньшей мере, поднабора из множества потоков для того, чтобы идентифицировать, по меньшей мере, один потенциальный проблемный «сетевой объект», который является общим среди оцененных путей, по меньшей мере, поднабора из множества потоков. В качестве примера, эта информация о производительности могла бы собираться из информации о потоках, предоставленной в отчетах множеством конечных узлов.
[0020] Некоторое вступительное обсуждение вычислительной системы будет описываться со ссылкой на Фигуру 1. В дальнейшем примерные способы и поддерживающие конфигурации буду описываться со ссылкой на последующие фигуры.
[0021] Вычислительные системы в настоящее время все в большей степени принимают широкое разнообразие форм. Вычислительные системы, например, могут представлять собой переносные устройства, приспособления, портативные компьютеры, настольные компьютеры, универсальные компьютеры, распределенные вычислительные системы или даже устройства, которые традиционно не считались вычислительными системами. В этом описании и в формуле изобретения термин «вычислительная система» определяется в широком смысле, как включающий в себя любое устройство или систему (или их комбинацию), которая включает в себя, по меньшей мере, один физический и реальный процессор и физическую и реальную память, имеющие возможность иметь на них исполняемые компьютером команды, которые могут исполняться при помощи процессора. Память может принимать любую форму и может зависеть от типа и формы вычислительной системы. Вычислительная система может являться распределенной по сетевому пространству и может включать в себя множество составляющих вычислительных систем.
[0022] Как проиллюстрировано на Фигуре 1, в ее наиболее стандартной конфигурации, вычислительная система 100, как правило, включает в себя, по меньшей мере, один обрабатывающий блок 102 и память 104. Память 104 может представлять собой физическую память системы, которая может являться энергозависимой, энергонезависимой или некоторой комбинацией этих двух. Термин «память» также может использоваться в данном документе для того, чтобы ссылаться на энергонезависимое запоминающее устройство большой емкости, такое как физический запоминающий носитель. Если вычислительная система является распределенной, возможность обработки, память и/или хранение также могут являться распределенными. Как это используется в настоящем документе, термин «исполняемый модуль» или «исполняемый компонент» может относиться к объектам программного обеспечения, процедурам или способам, которые могут исполняться в вычислительной системе. Различные компоненты, модули, механизмы и услуги, описанные в настоящем документе, могут реализовываться в виде объектов или процессов, которые исполняются в вычислительной системе (например, как раздельные цепочки выполняемых задач).
[0023] В последующем описании варианты осуществления описываются со ссылкой на действия, которые выполняются одной или более вычислительными системами. Если подобные действия реализуются в виде программного обеспечения, то один или более процессоров соответствующей вычислительной системы, которая выполняет действие, управляют функционированием вычислительной системы в ответ на необходимость исполнения исполняемых компьютером команд. Например, подобные исполняемые компьютером команды могут содержаться на одном или более считываемых компьютером носителях, который формирует компьютерный программный продукт. Пример такого функционирования предусматривает преобразование данных. Исполняемые компьютером команды (и преобразованные данные) могут храниться в памяти 104 вычислительной системы 100. Вычислительная система 100 также может содержать каналы 108 связи, которые обеспечивают возможность вычислительной системы 100 взаимодействовать с другими обработчиками сообщений, например, по сети 110.
[0024] Варианты осуществления, описанные в настоящем документе, могут содержать или применять компьютер специального назначения или общего назначения, включающий в себя компьютерное аппаратное обеспечение, такое как, например, один или более процессоров или системную память, как это обсуждается более подробно в дальнейшем. Варианты осуществления, описанные в настоящем документе, также включают в себя физические и другие считываемые компьютером носители для переноса или хранения исполняемых компьютером команд и/или структур данных. Подобные считываемые компьютером носители могут представлять собой любые имеющиеся носители, к которым может осуществляться доступ при помощи вычислительной системы общего назначения или специального назначения. Считываемые компьютером носители, которые сохраняют исполняемые компьютером команды, представляют собой физические запоминающие носители. Считываемые компьютером носители, которые переносят исполняемые компьютером команды, представляют собой средства передачи. Следовательно, в качестве примера и не ограничения, варианты осуществления изобретения могут содержать, по меньшей мере, два определенно различающихся вида считываемых компьютером носителей: компьютерный запоминающий носитель и средства передачи.
[0025] Компьютерные запоминающие носители включают в себя RAM, ROM, EEPROM, CD-ROM или другое запоминающее устройство на оптическом диске, запоминающее устройство на магнитном диске или другие магнитные запоминающие устройства, или любой другой материальный носитель информации, который может использоваться для того, чтобы сохранять желаемые средства программных кодов в форме исполняемых компьютером команд или структур данных, и доступ к которым может осуществляться при помощи компьютера общего назначения или специального назначения.
[0026] «Сеть» определяется в виде одной или более линий передачи данных, которые предоставляют возможность транспортировки электронных данных между вычислительными системами и/или модулями и/или другими электронными устройствами. Когда информация передается или предоставляется по сети или другому коммуникационному соединению (или проводным способом, беспроводным способом, или комбинацией проводного или беспроводного способа) компьютеру, компьютер должным образом видит соединение в качестве средств передачи. Средства передачи могут включать в себя сеть и/или линии передачи данных, которые могут использоваться для того, чтобы переносить или желаемые средства программных кодов в форме исполняемых компьютером команд, или структуры данных, и к которым может осуществляться доступ при помощи компьютера общего назначения или специального назначения. Комбинации вышеуказанного также должны включаться в состав объема считываемых компьютером носителей.
[0027] Кроме того, после достижения различных компонентов вычислительной системы, средства программных кодов в форме исполняемых компьютером команд или структуры данных могут автоматически передаваться от средств передачи к компьютерному запоминающему носителю (или наоборот). Например, исполняемые компьютером команды или структуры данных, принятые по сети или линии передачи данных, могут помещаться в буфер RAM в пределах сетевого интерфейсного модуля (например, «NIC») и в дальнейшем, по прошествии некоторого времени, передаваться RAM вычислительной системы и/или менее энергозависимому компьютерному запоминающему носителю в вычислительной системе. Таким образом, следует понимать, что компьютерный запоминающий носитель может включаться в состав компонентов вычислительной системы, которые также (или даже в первую очередь) используют средства передачи.
[0028] Исполняемые компьютером команды содержат, например команды и данные, которые будучи исполненными на процессоре, заставляют компьютер общего назначения, компьютер специального назначения или обрабатывающее устройство специального назначения выполнять определенную операцию или группу операций. Исполняемые компьютером команды могут представлять собой, например, двоичные коды, команды промежуточного формата, такого как язык ассемблера, или даже исходный код. Несмотря на то, что изобретение описывалось на языке, характерном для структурных признаков и/или методологических действий, следует понимать то, что изобретение, определенное в прилагаемой формуле изобретения, не обязательно ограничивается описанными признаками или действиями, описанными выше. Скорее, описанные признаки и действия раскрыты в качестве примерных форм реализации формулы изобретения.
[0029] Специалисты в данной области техники примут во внимание то, что изобретение может применяться в сетевых компьютерных средах со многими типами конфигураций вычислительных систем, включающим в себя персональные компьютеры, настольные компьютеры, портативные компьютеры, обработчики сообщений, переносные устройства, мультипроцессорные системы, на основе микропроцессоров или программируемая бытовая электронная аппаратура, множество сетевых PC, миникомпьютеры, универсальные компьютеры, мобильные телефоны, множество PDA, пейджеры, маршрутизаторы, коммутаторы, и подобные им. Изобретение также может применяться в распределенных системных средах, в которых локальные и удаленные вычислительные системы, которые соединяются (или при помощи проводных линий передачи данных, беспроводных линий передачи данных, или при помощи комбинации проводных и беспроводных линий передачи данных) через сеть, обе выполняют задачи. В распределенной системной среде программные модули могут располагаться в обоих локальных и удаленных устройствах хранилищах памяти.
[0030] Фигура 2 иллюстрирует примерную сеть 200, в которой могут применяться принципы, описанные в настоящем документе. Конечно, сетевая технология характеризуется тем, что может применяться практически любая сетевая топология. Соответственно, принципы, описанные в настоящем документе, ни в коем случае, даже хотя бы отчасти, не ограничиваются сетями, имеющими такую же топологию, как и примерная сеть 200, и могут применяться вне зависимости от сетевой топологии. Несмотря на это, поскольку является полезным иметь конкретный пример для того, чтобы описать технические принципы, на сеть 200 в качестве примера будет осуществляться частая ссылка.
[0031] Примерная сеть 200 включает в себя четырнадцать сетевых узлов с 201 по 214. Сетевые узлы включают в себя четыре конечных узла с 201 по 204 (обозначенные прямоугольником), и десять транспортных узлов с 205 по 214 (обозначенные кружками). Конечные узлы с 201 по 204 могут взаимодействовать друг с другом при помощи осуществления отправки сообщений по сетке транспортных узлов с 205 по 214.
[0032] Сетка сконструирована через посредство линий связи, причем каждый сетевой узел соединяется, по меньшей мере, с одним другим сетевым узлом через посредство набора линий связи, причем каждый набор включает в себя, по меньшей мере, одну линию связи. Например, сеть 200 проиллюстрирована, как включающая в себя наборы линий связи с A по V. Каждый набор линий связи с A по V может содержать одну или множество или, возможно, даже бесчисленное количество линий связи.
[0033] «Конечный узел» представляет собой узел, который является конечной точкой передачи данных по сети, в отличие от транзитного узла связи. Например, на Фигуре 2 сетевые узлы с 201 по 204 представляют собой конечные узлы и символически представлены на Фигуре 2 в виде прямоугольников. Другие сетевые узлы с 205 по 214 представляют собой транспортные узлы, как они символически представлены на Фигуре 2 в виде кружков.
[0034] По принципами, описанными в настоящем документе, конечные узлы выполняют совместное действие с системой для того, чтобы обеспечить возможность системе оценить источник сетевых проблем. Так, в частности, конечные узлы отправляют отчет с информацией о потоках, в свою очередь система использует эту информацию о потоках для того, чтобы оценить источник сетевых проблем.
[0035] Фигура 3 иллюстрирует блок-схему способа 300 для того, чтобы конечный узел отправил отчет касательно потоков в сети. Со ссылкой на Фигуру 2, способ 300 может выполняться каждым из конечных узлов с 201 по 204 в сети. Так, в частности, конечный узел отслеживает (действие 301) каждый из, по меньшей мере,  одного потока. Для каждого из отслеживаемых потоков конечная точка создает (действие 302) информацию о потоках, которая включает в себя информацию о конечной точке касательно потока, и которая включает в себя информацию о производительности касательно потока. В дальнейшем конечный узел отправляет отчет (действие 303) с созданной информацией о потоках и сопутствующей информацией о производительности для, по меньшей мере, одного потока, для которого была создана информация о потоках.
[0036] Как это используется в этом описании и в формуле изобретения, «поток» представляет собой набор передач данных по сети, имеющих достаточно обычные характеристики так, что эти передачи данных по сети имеют тенденцию следовать одним и тем же путем последовательных линий связи через сетку транзитных узлов. Соответственно, поток может считаться соответствующим пути, на котором поток включает в себя те передачи данных по сети, которые имеют тенденцию использовать этот путь.
[0037] Фигура 4 иллюстрирует пример информации 400 о потоках, которая может создаваться конечным узлом для каждого отслеживаемого потока. Информация 400 о потоках включает в себя информацию 401 о конечных точках и информацию 402 о производительности.
[0038] Информация 401 о конечных точках включает в себя информацию, которая определяет конечные точки потока, и другую информацию, которая определяет характеристики передачи данных по сети для потока, которые заставляют передачу данных по сети иметь тенденцию передвигаться по тому же пути через транспортные узлы. Например, в одном варианте осуществления, информация 401 о конечных точках определяет информацию о протокольном по Интернет Протоколу (IP) адресе и порте TCP для обоих исходного конечного узла и конечного узла назначения для передачи данных по сети, которые являются включенными в состав потока.
[0039] Информация 402 о производительности может включать в себя любую информацию касательно потока, которая может использоваться для того, чтобы сделать заключение о том, существует ли или нет проблема с путем, соответствующим потоку. Только в качестве примеров, информация 402 о производительности может включать в себя статистику повторных передач для потока, такую как, сколько повторных передач для передачи данных по сети за недавнее время произошло, какова была скорость повторных передач, какой процент осуществленных передач данных по сети заканчиваются тем, что они повторно передаются, максимальное количество раз, которое делалась попытка осуществить одну и ту же передачу данных по сети, усредненное количество раз, которое передача данных по сети, которая должна была повторно осуществляться, закончилась тем, что она повторно передавалась, и тому подобное. Альтернативным образом или дополнительно, информация 402 о производительности может также включать в себя статистику по задержкам для потока. Например, статистика по задержкам может включать в себя любое одно или более усредненное время, затрачиваемое передачей данных по сети для передвижения по пути, стандартное отклонение по времени, затрачиваемом передачей данных по сети для передвижения по пути, максимальное время, затрачиваемое передачей данных по сети для передвижения по пути, и тому подобное.
[0040] Фигура 5 абстрактным образом иллюстрирует систему 500, которая идентифицирует источник сетевой проблемы с использованием информации о потоках, отправленной в отчете от одной или более конечных точек. Например, каждая из множества конечных точек в сети может отправить системе 500 отчет с информацией о потоках для одного или, вполне вероятно, для множества потоков. В дальнейшем это может обеспечить возможность системе 500 идентифицировать или оценить путь для каждого потока, идентифицировать те пути, которые имеют проблемы, используя соответствующую информацию о потоках, и идентифицировать общие сетевые объекты среди этих путей. Система 500 может дополнительно попытаться устранить любые проблемы, которые появляются в сетевых объектах, которые являются общими среди проблематичных потоков.
[0041] Система 500 включает в себя коммуникационный компонент 501, который имеет возможность взаимодействовать с каждым из сетевых узлов в сети. Например, в сети 200 на Фигуре 2 коммуникационный компонент 501 может взаимодействовать с любым из сетевых узлов с 201 по 214. В качестве примера, коммуникационный компонент 501 может принимать информацию о потоках от каждого из конечных узлов с 201 по 204 в ответ на выполнение каждым конечным узлом способа 300.
[0042] Система 500 также включает в себя компонент 502 оценки пути, который выполнен с возможностью использовать информацию о потоках для того, чтобы оценить вероятный путь, по которому сетевой трафик для потока последует через эту сеть. Компонент 502 оценки пути может выполнять эту оценку для каждой, вплоть до всех, информаций о потоках, принятых системой 500. Для того чтобы сделать это, компонент 502 оценки пути может использовать коммуникационный компонент 501 для того, чтобы взаимодействовать с сетевыми узлами, для того чтобы выяснить, каким образом сетевой узел будет маршрутизировать трафик заданного потока. Пример того, как это может выполняться, будет дополнительно описываться ниже.
[0043] Система 500 также включает в себя компонент 503 обнаружения потенциальных проблем, который выполнен с возможностью использовать информацию о производительности из информации о потоках, для того чтобы идентифицировать, по меньшей мере, один потенциальный проблемный сетевой объект, который является общим среди оцененных путей для потоков, которые демонстрируют проблемы в производительности. Для того чтобы сделать это, компонент обнаружения потенциальной проблемы осуществляет доступ к информации 402 о производительности из информации 400 о потоках для одного или более потоков, и также осуществляет доступ к оцененному пути для каждого потока из компонента 402 оценки пути.
[0044] Система 500 также может включать в себя компонент 504 устранения негативного влияния, выполненный с возможностью использовать идентификаторы потенциальных сетевых объектов из компонента 503 обнаружения потенциальных проблем и устранять проблему соответствующим образом. Например, если проблемный сетевой объект представляет собой транзитный узел, то компонент 504 устранения негативного влияния может сконфигурировать соседние транзитные узлы таким образом, чтобы они не использовали проблематичный транзитный узел, или, по меньшей мере, уменьшили количество потоков, которые маршрутизируются через проблематичный транзитный узел. Если проблемный сетевой объект представляет собой линию связи, то компонент 503 устранения негативного влияния может сконфигурировать два транзитных узла на каждом конце линии связи таким образом, чтобы они уменьшили или исключили использование проблематичной линии связи. Компонент устранения негативного влияния также может выполнять другое коррекционное действие, включающее в себя оповещение одного или более других компонентов и/или пользователей проблемы, планирование процессов устранения негативного влияния или подобное этому.
[0045] Система 500 может являться структурированной и функционировать так, как описывалось выше, для вычислительной системы 100 на Фигуре 1. Соответственно, система 500 представляет собой пример вычислительной системы 100 на Фигуре 1. Помимо всего прочего, каждый коммуникационный модуль 501, компонент 502 оценки пути, компонент 503 обнаружения потенциальной проблемы и компонент 504 устранения негативного влияния может представлять собой модули, работающие в этой вычислительной системе. Альтернативным образом или дополнительно, каждый из модулей и компонентов с 501 по 504 может представлять собой отдельные вычислительные системы в распределенной среде.
[0046] Оставшиеся потоки на Фигуре 5 будут описываться по отношению к Фигуре 6. Фигура 6 иллюстрирует блок-схему способа 600 для идентификации источника для сетевой проблемы и потенциального устранения сетевой проблемы. Поскольку способ 600 на Фигуре 6 может выполняться с использованием системы 500 на Фигуре 5, что касается обнаружения проблемы в сети 200 на Фигуре 2, то способ 600 теперь будет описываться с частой ссылкой на Фигуру 6, также как на Фигуры 2 и 5.
[0047] В соответствии со способом 600 система принимает информацию о потоках от конечных узлов в сети (действие 601). Например, коммуникационный модуль 501 на Фигуре 5 может принимать эту информацию о потоках по интерфейсу (представленному стрелкой 511) от одного или более конечных узлов. В качестве примера, коммуникационный модуль 501 может принимать информацию о потоках от каждого из конечных узлов 201, 202 и 204 в сети 200 на Фигуре 2. В этом сценарии допустим, что конечный узел 203 не имеет возможности отправлять отчет с информацией о потоках, и как следствие, не отправляет отчет.
[0048] В дальнейшем система оценивает (действие 602) путь, связанный с каждым потоком, для которого предоставляется информация о потоках. Например, на Фигуре 5 компонент 502 оценки пути может выполнить эту оценку с использованием информации о потоках, принятой (через посредство стрелки 512) от коммуникационного модуля 501.
[0049] Пример того, каким образом эта оценка может происходить, теперь будет описываться по отношению к специальному примеру. В то время, когда отправляется отчет с информацией о потоках, сама информация о потоках не идентифицирует путь, по которому идет соответствующая передача данных по сети этого потока. Однако, компонент 502 оценки пути имеет сведения о сетевой топологии сети, которую он оценивает (например, сети 200 на Фигуре 2), и также знает исходные конечные узлы и конечные узлы назначения для потока на основе информации о конечных точках, включенной в состав информации о потоках.
[0050] Предположим в этом примере, что исходная конечная точка представляет собой конечный узел 201, и конечная точка назначения представляет собой конечный узел 202. При этом компонент 502 оценки пути может при этом запросить один транзитный узел единовременно для того, чтобы спросить этот транзитный узел о том, которым будет следующий узел, на который он будет маршрутизировать передачу данных, принадлежащую этому потоку. Например, запрос (представленный стрелкой 513) будет использовать коммуникационный модуль 501 для взаимодействия с соответствующим транзитным узлом, в свою очередь, ответы будут приниматься от коммуникационного модуля 501, как опять же представлено стрелкой 512.
[0051] Например, в контексте потока, в котором исходный конечный узел представляет собой конечный узел 201, и конечный узел назначения представляет собой конечный узел 202, сначала будет запрашиваться транзитный узел 205. Определяющие поток характеристики будет предоставляться транзитному узлу 205, и будет спрошено о том, куда он направит передачу данных по сети, имеющую эти характеристики, и по которой линии связи. Предположим, что транзитный узел отвечает, что транзитный узел 207 будет являться следующим транзитным узлом, и идентифицирует конкретную линию связи из набора C линий связей. Транзитный узел 207 в дальнейшем будет запрашиваться с такими же параметрами потока. Предположим, что транзитный узел 207 отвечает, что транзитный узел 208 будет следующим транзитным узлом, и идентифицирует конкретную линию связи из набора F линий связи. Транзитный узел 208 в дальнейшем будет запрашиваться с такими же параметрами потока. Предположим, что транзитный узел 208 отвечает, что транзитный узел 211 будет следующим транзитным узлом, и идентифицирует конкретную линию связи из набора O линий связи. Транзитный узел 211 будет запрашиваться с такими же параметрами потока, который ответит при помощи идентификации того, которая линия связи из набора Q линий связи будет использоваться для того, чтобы передавать сообщения потока конечному узлу 202.
[0052] Методология может использоваться для того, чтобы оценивать путь (представляющий собой последовательность идентифицированных узлов и линий связи) для каждого потока. Следует отметить, что для этой оценки не требуется абсолютная точность. Даже может существовать множество возможных путей для потока, каждый из которых имеет оценочную вероятность возникновения. Компонент 503 обнаружения потенциальной проблемы может иметь дело с вероятностными моделями в теории информации для того, чтобы оценивать потенциальный проблемный сетевой компонент, до, возможно, даже высоких уровней вероятности, даже если оценки путей не являются однозначными или имеют более низкие связанные вероятности.
[0053] В дальнейшем система идентифицирует (действие 603), по меньшей мере, один потенциальный проблемный сетевой объект с использованием оценок путей. Например, на Фигуре 5 компонент 503 обнаружения потенциальной проблемы принимает оцененные пути для потоков (как представляется стрелкой 514). Компонент обнаружения потенциальной проблемы также принимает информацию о производительности для каждого потока (как представляется стрелкой 515) или непосредственным образом от коммуникационного модуля 501 или, возможно, опосредованным образом через посредство другого компонента (такого как компонент 502 оценки путей).
[0054] Компонент 503 обнаружения потенциальной проблемы может идентифицировать те потоки, которые имеют проблемы, осуществить доступ к соответствующим потокам и идентифицировать те сетевые объекты, которые являются общими среди этих путей. Эти общие сетевые объекты в дальнейшем становятся потенциальными проблемными сетевыми объектами. Несколько примеров теперь будут предоставлены применительно к Фигурам 7 и 8.
[0055] Фигура 7 иллюстрирует сеть 200 на Фигуре 2, но теперь с наложенными путями потоков более низкой производительности. В этом случае существует четыре выявленных проблематичных пути с 701 по 704. Один общий сетевой объект среди всех из путей с 701 по 704 представляет собой набор G линий связи. На самом деле, может существовать только одна линия связи из набора G линий связи, которая является неисправной. Вследствие этого, четыре проблематичных пути с 701 по 704 могут показывать, что они все используют эту конкретную линию связи в пределах набора G линий связи. Вследствие этого, линия связи в пределах набора G линий связи может оцениваться как неисправная. Чем больше данных собирается в отношении проблематичных потоков, тем более точной эта оценка может становиться.
[0056] Со Ссылкой опять на Фигуру 5, идентификационные данные линии связи будут отправляться (как представляется стрелкой 516) компоненту 504 устранения негативного влияния. Компонент 504 устранения негативного влияния в дальнейшем может попытаться устранить проблему при помощи осуществления отправки команд устранения негативного влияния (как представляется стрелкой 517), для того чтобы коммуникационный модуль 501 мог отправить команды соответствующим транзитным узлам в сети 200. Например, в случае неисправной линии связи среди набора G линий связи, компонент 504 устранения негативного влияния может отдавать команду транзитному узлу 207 маршрутизировать сетевой трафик к транзитному узлу 209 для меньшего количества потоков по этой неисправной линии связи, или даже может отдавать команду этому транзитному узлу 207 совсем не использовать эту неисправную линию связи. Подобным же образом, компонент 504 устранения негативного влияния может отдавать команду транзитному узлу 209 маршрутизировать сетевой трафик к транзитному узлу 207 для меньшего количества потоков по этой неисправной линии связи, или даже может отдавать команду этому транзитному узлу 209 совсем не использовать эту неисправную линию связи.
[0057] Как отмечалось прежде, путь для заданного потока может не иметь возможности обнаруживаться с абсолютной точностью. В таком случае могут использоваться вероятностные модели для того, чтобы все-таки идентифицировать проблемный сетевой объект с более высокими степенями точности. Например, в примере на Фигуре 7, предположим, что существовало 25 возможных путей (некоторые с низкой вероятностью использования), связанных с 8 потоками более низкой производительности. Может не существовать ни одного общего сетевого объекта, связанного со всеми 25 возможными путями. Несмотря на это, предположим, что 23 из возможных путей совместно использовали эту одну и ту же линию связи в пределах набора линий связи, и только 2 возможных пути (с относительно низкой вероятностью использования) не использовали эту линию связи. При этих обстоятельствах, эта линия связи в пределах набора G линий связи все же может оцениваться (почти неизбежно) как являющейся неисправным сетевым объектом. Система передачи данных также может взаимодействовать с сетевыми узлами (или даже другими отслеживающими системами) для того, чтобы собирать дополнительную информацию, которая может повысить или понизить вероятность проблемы линии связи. Например, если линия связи показывает какую-нибудь ошибку (поврежденный входящий пакет, множество сообщений регистрации, рассогласование статусов линии связи и т.д.), то это будет являться очень уместной информацией для вероятности проведения измерений.
[0058] Фигура 8 иллюстрирует сеть 200 на Фигуре 2, но теперь с наложенными путями потоков более низкой производительности. В этом случае существует пять выявленных проблематичных путей с 801 по 805. На этот раз не существует ни одного набора линий связи, который оказывается общим среди всех неисправных путей. Вместо этого, теперь существует целый транзитный узел, который оказывается общим среди всех неисправных путей. Вследствие этого, транзитный узел 208 может оцениваться в качестве потенциального проблемного сетевого объекта. Система передачи данных может также взаимодействовать с сетевыми узлами (или даже другими отслеживающими системами) для того, чтобы собирать дополнительную информацию, которая может повысить или понизить вероятность проблемы для этого потенциального проблемного сетевого объекта. В случае подтверждения высокой вероятности того, что транзитный узел 208 имеет проблему, компонент устранения негативного влияния может проинструктировать каждый из одного или более соседних транзитных узлов 205, 207, 209, 211 и 212 о том, чтобы они не использовали любой из наборов линий связи, которые присоединяют их к транзитному узлу 208.
[0059] В некоторых случаях могут существовать множество идентифицированных потенциальных проблемных сетевых объектов. Например, возможно, комбинация потоков с 701 по 704 на Фигуре 7 и потоков с 801 по 805 идентифицируется, как неисправная. В этом случае оба - транзитный узел 208 и линия связи набора G линий связи - могут идентифицироваться, как неисправные. Компонент устранения негативного влияния может в дальнейшем снизить или устранить зависимость от одного из них или от обоих из этих потенциальных проблемных сетевых объектов.
[0060] Соответственно, принципы, описанные в настоящем документе, обеспечивают эффективный механизм для автоматизации обнаружения потенциальных проблемных сетевых объектов и устранения негативного влияния зависимости от этого потенциального проблемного сетевого объекта. Таким образом, в настоящем документе описывается автоматическое обнаружение исправления сетевых проблем.
[0061] Настоящее изобретение может осуществляться в других специальных формах без выхода за пределы его сущности или существенных характеристик. Описанные варианты осуществления должны рассматриваться во всех аспектах только как иллюстративные и не ограничивающие. Вследствие этого, объем изобретения определяется при помощи прилагающейся формулы изобретения, а не вышеизложенным описанием. Все изменения, которые происходят в пределах смысла формулы изобретения, должны охватываться в пределах ее объема.