СПОСОБ И СИСТЕМА ДЛЯ ПЛАНИРОВАНИЯ ВЫБОРА ДАННЫХ ДЛЯ ПЕРЕДАЧИ В СЕТИ ПЕРЕДАЧИ ДАННЫХ

1. Система для планирования выбора данных для передачи в сети передачи данных, где сеть передачи данных имеет множество дочерних элементов, включающая в себя:
распределитель кредитов, обеспечивающий:
предоставление кредитов, по меньшей мере, одному из допустимых дочерних элементов и дочерних элементов, имеющих отрицательный счетчик кредита, каждый кредит может использоваться для передачи некоторого объема данных;
поддержку справедливости между дочерними элементами по соотношению предоставленных кредитов;
поддержание кредитного баланса, представляющего суммарный объем нераспределенных кредитов; и
вычитание предоставленных кредитов из кредитного баланса; и
селектор передачи, коммуникативно связанный с распределителем кредитов, селектор передачи, работающий с целью:
выбор, по меньшей мере, одного допустимого и работоспособного дочернего элемента для извлечения из очереди;
настройку выбора, по меньшей мере, одного допустимого и работоспособного дочернего элемента в пользу выбора допустимого и работоспособного дочернего элемента с положительным значением кредита; и
добавление кредитов к кредитному балансу, соответствующему объему данных, выбранному для извлечения из очереди.
2. Система по п.1, дополнительно включающая в себя средство обновления допустимости, определяющее состояние допустимости для каждого дочернего элемента, где состояние допустимости указывает, является ли дочерний элемент допустимым для передачи данных на основании критерия, отличного от справедливой организации очередей с использованием весовых коэффициентов, на которые оказывает влияние распределитель кредитов, включая, по меньшей мере, одно из следующего: ограничение скорости обмена, ограничение всплеска и доступность данных.
3. Система по п.1, где распределитель кредитов способен дополнительно выполнять следующие операции:
снятие всех кредитов с ранее допустимого и работоспособного дочернего элемента, пока дочерний элемент не станет неработоспособным или недопустимым; и
добавление снятых кредитов к кредитному балансу для повторного распределения.
4. Система по п.1, где распределитель кредитов имеет, по меньшей мере, одну циклическую очередь управления, содержащую, по меньшей мере, один идентификатор, по меньшей мере, одного из следующего: допустимый дочерний элемент и дочерний элемент, имеющий отрицательный счетчик кредита, где распределитель кредитов дополнительно выполняет следующие функции:
чередование предоставления кредитов дочерним элементам в рамках первой циклической очереди управления;
предоставление одного кредита каждому дочернему элементу из первой циклической очереди в цикле;
повторение циклов, пока каждому дочернему элементу не достанется объем кредитов, соответствующий весу дочернего элемента;
удаление каждого дочернего элемента из первой циклической очереди управления, когда дочернему элементу предоставляется объем кредитов, соответствующий весу упомянутого дочернего элемента; и
в ответ на предоставление каждому дочернему элементу объема кредитов, соответствующего весу упомянутого дочернего элемента, возвращение дочернего элемента в первую циклическую очередь управления.
5. Система по п.4, где распределитель кредитов планировщик второго измерения с использованием весовых коэффициентов и чередования, поддерживающий несколько циклических очередей управления, каждая циклическая очередь управления содержит, по меньшей мере, один идентификатор, по меньшей мере, одного из следующего: допустимый дочерний элемент и дочерний элемент, имеющий отрицательный счетчик кредита, каждая циклическая очередь управления представляет, по меньшей мере, одно из следующего: категория пропускной способности и категория веса, и каждая циклическая очередь управления получает множитель, где распределитель кредитов дополнительно выполняет следующие функции;
чередование выбора циклических очередей управления для распределения кредитов, где каждая циклическая очередь управления выбирается количество раз, соответствующее ее множителю чередования выбора циклических очередей управления для распределения кредитов, при этом каждая циклическая очередь управления выбирается количество раз, соответствующее ее множителю;
выбор первой циклической очереди управления для распределения кредитов;
предоставление кредитов дочерним элементам в первой циклической очереди управления, где каждому дочернему элементу предоставляется объем кредитов, соответствующий весу, присвоенному упомянутому дочернему элементу для каждого цикла циклической очереди управления, и где кредиты предоставляются дочерним элементам циклическим образом;
выбор циклических очередей управления в чередующемся порядке, пока все циклы не будут исчерпаны; и
предоставление кредитов дочерним элементам, обнаруженным в выбранных циклических очередях управления в порядке очереди.
6. Система по п.1, где распределитель кредитов дополнительно выполняет следующие функции:
поддерживает баланс между предоставлением кредитов и передачей данных;
предоставляет кредит приблизительно с той же скоростью, что и нормальная передача данных; и
реагирует на наличие остатка кредитного баланса, повышая скорость предоставления кредитов.
7. Система по п.6, где кредитный баланс является избыточным до начала цикла, распределитель кредитов, кроме того, работает с целью увеличения скорости предоставления кредитов допустимым дочерним элементам путем объединения циклов в один посредством предоставления нескольких кредитов каждому дочернему элементу за один проход; и
где избыточность включает в себя одно из следующего: превышение заданного порога, превышение объема кредита, большего, чем объем кредита, поглощенный одним событием передачи, и большего нуля.
8. Система по п.1, где селектор передачи имеет множество очередей управления передачей данных для извлечения из очереди, где каждая очередь управления передачей данных содержит, по меньшей мере, один идентификатор допустимого дочернего элемента и дочернего элемента, имеющего уровень приоритета, заданный в соответствии с требованиями к счетчику кредита; и
кроме того, селектор передачи функционирует с целью назначить каждому допустимому дочернему элементу одну из очередей управления передачей данных, при этом каждый допустимый дочерний элемент обладает кредитным состоянием, соответствующим требованиям к счетчику кредита назначенной элементу очереди управления передачей данных.
9. Система по п.8, где очереди управления передачей данных включают в себя очередь положительных кредитов передачи, очередь отрицательных кредитов передачи и очередь экстремальных отрицательных кредитов передачи, и где:
первый порог счетчика кредита между очередью положительных кредитов передачи и очередью отрицательных кредитов передачи равен нулю;
второй порог счетчика кредита между очередью отрицательных кредитов передачи и очередью экстремальных отрицательных кредитов передачи равен отрицательной величине максимального блока передачи для сети передачи данных;
очередь положительных кредитов передачи имеет более высокий приоритет при выборе, чем очередь отрицательных кредитов передачи; и
очередь отрицательных кредитов передачи имеет более высокий приоритет при выборе, чем очередь экстремальных отрицательных кредитов передачи.
10. Система по п.9, где очереди управления передачей данных дополнительно включают в себя, по меньшей мере, одно из следующего: очередь экстремальных положительных кредитов передачи, очередь обхода и очередь неизвестных дочерних элементов:
очередь обхода имеет наивысший уровень приоритета, и при передаче из очереди обхода кредиты в кредитный баланс не возвращаются;
очередь экстремальных положительных кредитов передачи имеет более высокий приоритет, чем очередь положительных кредитов передачи, очередь отрицательных кредитов передачи и очередь экстремальных отрицательных кредитов передачи; и
очередь неизвестных дочерних элементов, содержащая допустимый и работоспособный дочерний элемент с неизвестным кредитным состоянием и имеющий самый низкий уровень приоритета.
11. Система по п.9, где селектор передачи дополнительно способен уменьшать кредиты, потраченные на передачу данных, из очереди экстремальных отрицательных кредитов путем добавления кредитов к кредитному балансу в соответствии с частью объема данных, выбранной для извлечения из очереди.
12. Способ распределения кредитов дочерним элементам в сети передачи данных, где каждый кредит может использоваться для передачи некоторого объема данных, включающий в себя:
предоставление кредитов, по меньшей мере, допустимым и работоспособным дочерним элементам и дочерним элементам, имеющим отрицательный счетчик кредита;
поддержку кредитного баланса, представляющего суммарный имеющийся объем нераспределенных кредитов; и
вычитание предоставленных кредитов из кредитного баланса.
13. Способ по п.12, дополнительно включающий в себя:
снятие всех кредитов с ранее допустимого и работоспособного дочернего элемента, пока дочерний элемент не станет неработоспособным или недопустимым; и
добавление снятых кредитов к кредитному балансу для повторного распределения.
14. Способ по п.12, дополнительно включающий в себя:
реализацию двумерного циклического планировщика с использованием весовых коэффициентов и чередования, имеющего несколько циклических очередей управления, каждая циклическая очередь управления содержит, по меньшей мере, один идентификатор допустимого дочернего элемента или дочернего элемента, имеющего отрицательный счетчик кредита, каждая циклическая очередь управления представляет, по меньшей мере, одно из следующего: категория пропускной способности и категория веса, и каждая циклическая очередь управления получает множитель;
чередование выбора циклических очередей управления для распределения кредитов, при этом каждая циклическая очередь управления выбирается количество раз, соответствующее ее множителю;
выбор первой циклической очереди управления для распределения кредитов;
предоставление кредитов дочерним элементам, обнаруженным в первой циклической очереди управления;
выбор циклической очереди управления с остаточным весом множителя в цикле, пока все циклы не будут исчерпаны; и
предоставление кредитов дочерним элементам, обнаруженным в оставшихся циклических очередях управления в порядке очереди.
15. Способ по п.14, где кредиты предоставляются дочерним элементам, обозначенным в выбранной циклической очереди в соответствии с нормированными весовыми коэффициентами для каждого дочернего элемента; и
где сумма весов для каждого дочернего элемента по всем циклам равна его нормированному весу, помноженному на множитель для его циклической очереди.
16. Способ по п.12, где кредитный баланс больше объема данных, выбранных для извлечения из очереди между событиями распределения кредитов, дополнительно включающий в себя:
реализацию одной или нескольких циклических очередей управления, содержащих один или несколько дочерних элементов для использования при чередующемся предоставлении кредитов между допустимыми и работоспособными дочерними элементами либо дочерними элементами с отрицательным кредитным балансом; и
предоставление дополнительных кредитов дочерним элементам в циклической очереди управления путем объединения нескольких циклов в один посредством предоставления нескольких кредитов каждому дочернему элементу за полный проход по циклической очереди управления.
17. Способ планирования выбора данных для передачи в сети передачи данных, где сеть передачи данных содержит множество дочерних элементов, включающий в себя:
создание множества очередей управления передачей данных для извлечения из очереди, где каждая очередь управления передачей данных способна содержать, по меньшей мере, один идентификатор соответствующего допустимого дочернего элемента, имеющего уровень приоритета в соответствии с требованием к значению счетчика кредита;
назначение каждому допустимому дочернему элементу одной из множества очередей управления передачей данных, при этом каждый допустимый дочерний элемент обладает состоянием кредита, отвечающим требованию к значению счетчика кредита для соответствующей очереди управления передачей данных;
выбор, по меньшей мере, одного допустимого дочернего элемента для извлечения из очереди в соответствии с уровнем приоритета очереди управления передачей данных, соответствующей упомянутому допустимому дочернему элементу;
добавление кредитов к кредитному балансу, соответствующих объему данных, извлеченных из очереди; и
где каждый допустимый и работоспособный дочерний элемент представлен в одной из очередей управления передачей данных.
18. Способ по п.17, где очереди управления передачей данных включают в себя очередь положительных кредитов передачи, очередь отрицательных кредитов передачи и очередь экстремальных отрицательных кредитов передачи, и где:
первый порог счетчика кредита между очередью положительных кредитов передачи и очередью отрицательных кредитов передачи равен нулю;
второй порог счетчика кредита между очередью отрицательных кредитов передачи и очередью экстремальных отрицательных кредитов передачи равен отрицательной величине максимального блока передачи для сети передачи данных;
очередь положительных кредитов передачи имеет более высокий приоритет при выборе, чем очередь отрицательных кредитов передачи; и
очередь отрицательных кредитов передачи имеет более высокий приоритет при выборе, чем очередь экстремальных отрицательных кредитов передачи.
19. Способ по п.18, где очереди управления передачей данных дополнительно включают в себя очередь экстремальных положительных кредитов передачи и очередь обхода:
очередь экстремальных положительных кредитов передачи имеет более высокий приоритет, чем очередь положительных кредитов передачи, очередь отрицательных кредитов передачи и очередь экстремальных отрицательных кредитов передачи; и
очередь обхода имеют наивысший уровень приоритета, и при передаче из очереди обхода кредиты в кредитный баланс не возвращаются.
20. Способ по п.18, где очереди управления передачей данных дополнительно включают в себя очередь неизвестных дочерних элементов, очередь неизвестных дочерних элементов, содержащую допустимый дочерний элемент, активированный родительским планировщиком до перевода в состояние кредитования текущего планировщика.