Способ гибкой загрузки программных средств и устройство для осуществления способа

Реферат

 

Изобретение относится к системе и способу для загрузки файлов программных средств в системе связи. Техническим результатом является уменьшение объема кодовых данных программ базовых приемопередающих станций. В сетевой системе, содержащей первый узел, связанный со вторым узлом, способ передачи одного или более желательных файлов программных средств во второй узел включает вызов в первом узле меню идентификаторов файлов программных средств, в котором каждый идентификатор файла программных средств идентифицирует соответствующий файл из множества файлов. Идентификаторы файлов программных средств затем передаются ко второму узлу, где каждый из них анализируется и для каждого формируется отклик. Отклик, который указывает, является ли соответствующий файл из множества файлов желательным или нежелательным, передается назад к первому узлу. Первый узел анализирует отклик и вызывает желательные файлы программных средств. Вызванные программные средства затем передаются из первого узла во второй узел. В другом варианте изобретения индикация "нежелательно" может быть расширена и включает индикацию того, что предоставляемый файл "уже загружен" или "запрещен для загрузки". Этапы представления меню, приема отклика и передачи желательных файлов повторяются в каждой из двух фаз, так что на первой фазе второй узел может запрашивать загрузку более сложной программы самозагрузки и запуска, затем в течение второй фазы загрузки более сложная программа загрузки, запускаемая во втором узле, обеспечивает принятие решения о том, какие файлы необходимо передать из первого узла. 4 с. и 12 з.п.ф-лы, 9 ил.

Настоящее изобретение относится к системе и способу для загрузки файлов программных средств из одного узла в системе связи в один или более других узлов и, более конкретно, к системе и способу загрузки файлов программных средств от контроллера базовой станции в базовые приемопередающие станции с системе сотовой связи.

Принципы работы мобильных систем связи хорошо известны. По существу система подразделяется на наземную подсистему и подсистему радиосвязи. Мобильные абоненты осуществляют связь с любой базовой приемопередающей станцией (БПС) из некоторого числа БПС посредством интерфейса радиосвязи. БПС территориально распределены так, что в процессе перемещений между зонами обслуживания (определяемом понятием "роуминг") мобильных абонентов соответствующий мобильный абонент будет находиться в зоне обслуживания по меньшей мере одной БПС системы. Если в процессе осуществления вызова мобильный абонент будет выходить из зоны относящейся к нему БПС и входить в зону соседней БПС, то система сотовой телефонной связи будет перераспределять мобильного абонента и выделять для его обслуживания соседнюю БПС. Данная процедура определяется как "передача связи". Управление процедурой передачи связи, а также другими процедурами, связанными с инициированием и завершением вызова, обрабатываются различными компонентами наземной подсистемы. Наземная подсистема также несет ответственность за маршрутизацию вызовов между мобильными абонентами и за передачу вызовов в коммутируемую телефонную сеть общего пользования.

Множество функций наземной подсистемы выполняется не одним компонентом аппаратных средств, а напротив, распределяется среди ряда ее компонентов, которые связаны между собой коммуникационной сетью. К таким компонентам относятся вышеупомянутые БПС, которые обеспечивают канал радиосвязи между наземной подсистемой и мобильными абонентами.

Наземная подсистема также может включать в себя контроллер базовых станций (КБС), предназначенный для управления операциями высокого уровня сотни и более БПС. Коммутация, передача вызовов и другие функции выполняются центром коммутации мобильных абонентов (ЦКМА), который связан с КБС в системе.

Как показано на фиг. 1(a), сеть в типовом случае состоит из БПС 103-1,.. . , 103-n (далее будут обозначаться ссылочной позицией 103). БПС 103 не обязательно должны быть идентичными одна другой; в типовом случае они будут образованы аппаратурой разных поколений, разных типов, модификаций, что является результатом периодической модернизации и/или наращивания системы с введением в нее новых усовершенствованных блоков аппаратуры. Наращивание аппаратных средств может быть связано с добавлением полностью новых БПС 103 или новых их частей, например приемопередатчиков. Модернизация может быть связана с заменой отдельных частей, например, приемопередатчиков или блоков синхронизации.

Как показано на фиг. 1(a), БПС 103 в типовом случае состоит из различных функциональных блоков 113-1-1,., 113-1-m1,..., 113-n-1,...,113-n-m1 (далее будут обозначаться ссылочной позицией 113), например, таких как приемопередатчики (ПРД) и устройство управления группой ПРД для выполнения функций, общих для БПС 103 в целом, таких как так называемые "центральные функции базовой станции" (ЦФБС). Обычно каждый из блоков 113 управляется своим собственным компьютером 117, имеющим память. Блоки 113 на самом высоком уровне, как упомянуто выше, имеют соответствующий канал сигнализации 115-1-1,..., 115-1-m1, . . .,115-n-1,..., 115-n-m1 (далее обозначаются ссылочной позицией 115), с помощью которых они непосредственно управляются от КБС 101. Канал сигнализации 115 может быть образован на основе выделенного временного слота (интервала) с импульсно-кодовой модуляцией (ИКМ). Как вариант, канал сигнализации 115 может быть реализован как канал передачи данных уровня 2 взаимных соединений открытых систем (стандарт OSI), использующий временной слот с ИКМ (для использования в качестве физического уровня). (SOI представляет собой стандарт Международной организации по стандартизации (ISO)). Канал передачи данных уровня 2 стандарта OSI может мультиплексироваться или иным образом уплотняться с другими каналами передачи данных уровня 2 стандарта OSI для других блоков в одном и том же временном слоте с ИКМ. Такой канал или специализированный временной слот с ИКМ рассматривается как прямой канал сигнализации 115 между КБС 101 и блоком 113. Помимо использования канала сигнализации 115 для управления блоками 113, он также используется для передачи сигналов управления между КБС 101 и мобильными станциями (не показаны), которые связаны с БПС 103 по радиоканалам.

В системе, как описано выше, БПС 103 и составляющие их блоки 113 в типовом случае управляются с использованием программных средств (ПС) 119, которые загружаются от КБС 101. Загрузка может выполняться, например, после запуска системы. Другие события также могут потребовать загрузки ПС. Например, новые БПС 103, а также новые части в составе БПС 103 могут потребовать новых прикладных ПС 119, которые отличаются от тех, которые ранее использовались в БПС 103. Эти новые ПС 119 должны загружаться в новые или модифицированные БПС 103 от КБС 101. Кроме того, даже если никакие из аппаратных средств (АС) системы не изменились, однако вся сеть или части сети периодически обновляются за счет загрузки новых (обновленных) прикладных ПС 119. Во всех таких ситуациях, требующих загрузки ПС (например, при запуске, при замене АС или при обновлении ПС), различные версии ПС 119 должны загружаться в различные БПС 103.

Модернизация системы в типовом случае связана с заменой или модифицированием некоторых из блоков 113 при сохранении остальных неизменными. В результате ПС 119, которые должны загружаться в одни БПС 103, могут различаться от ПС 119, связанных с другими БПС 103.

В обычных системах прикладные ПС для такой структуры, как БПС 103, представляют собой пакет программ 121, состоящий из нескольких файлов (далее называемых субфайлами), по одному для каждого блока. Загрузка БПС может выполняться по каналам сигнализации 115. В некоторых вариантах реализации все каналы используются для передачи возможно одних и тех же ПС по всем каналам сигнализации 115. Как вариант, к блокам 113 могут передаваться различающиеся ПС.

В других сетевых конфигурациях, например, как показано на фиг.1(b), используется только один канал сигнализации 115 для каждой БПС 103. Данный канал сигнализации может представлять собой канал, завершающийся в блоке 113-х-1 (1 х n), который выполняет вышеупомянутую функцию ЦФБС. Последующая пересылка ПС 119 к соответствующим остальным блокам 113-х-у (у > 1) в БПС 103-х выполняется затем с помощью внутренней коммуникационной сети 123-х. Такая коммуникационная сеть 123-х может иметь различные ограничения, так что вопрос о том, каким образом распределять субфайлы ПС от КБС 101, зависит от конкретного выполнения системы. Оптимальный выбор может зависеть от типа и варианта БПС 103 и может изменяться по мере введения новых модернизированных версий ПС.

Эти известные способы загрузки программных средств имеют ряд недостатков. Рассмотрим, например, способ, иллюстрируемый на фиг.1(b), в котором КБС 101 передает пакет ПС 121 на БПС 103 посредством одного канала сигнализации 115. КБС 101 должен следить за тем, какие БПС должны загружаться какими пакетами ПС 121. Для осуществления обновления должна иметься одна новая версия пакета ПС 121 для каждого варианта БПС 103, даже если только один субблок 113 претерпел изменения. Кроме того, весь пакет ПС 121 в соответствующем варианте полностью пересылается по всем возможным каналам сигнализации 115. Поскольку имеется множество субблоков 113 и прикладных задач, которые могут потребовать обновленных ПС более или менее независимо, количество версий пакетов может увеличиваться весьма значительно. Таким образом, данный известный способ приводит к большим непроизводительным затратам на пересылку и, следовательно, к увеличению времени загрузки. Данный способ также приводит к непроизводительным затратам объема памяти и к увеличению объема ручной обработки носителей с записью файлов.

В способе, показанном на фиг. 1 (a), каждый из субблоков 113 имеет специализированный канал сигнализации 115 для приема соответствующих субфайлов, причем КБС 101 имеет еще более трудоемкую задачу отслеживания того, какой из пакетов 121 должен передаваться к какому из субблоков 113. Каждый субблок 113 в сети обычно имеет свой уровень версии, зарегистрированный в КБС 101, который, с учетом этого варианта, должен обеспечивать соответствующую модернизацию. Зависимости между версиями для различных субблоков 113 также должны отслеживаться либо вручную, либо системой обработки версий в составе КБС 101, или в особой системе обеспечения процедур функционирования (СОПФ), что также известно из предшествующего уровня техники. С учетом такого большого объема информации такого рода следует, что ручной ввод данных, который по необходимости требуется в некоторые моменты процедуры обработки, создает источник потенциальных ошибок.

Сущность изобретения В соответствии с вышеизложенным задачей изобретения является создание устройства и способа для распределения программных средств (ПС) от контроллера базовых станций (КБС) к одной или более базовых приемопередающих станций (БПС), которые позволяют уменьшить объем кодовых данных программ БПС, который должен храниться в КБС.

Задачей изобретения является также создание способа загрузки ПС, который позволяет уменьшить объем кодовых данных программ БПС, которые должны пересылаться на БПС, путем пересылки на БПС только тех их частей, которые строго необходимы. Это включает ситуацию (но не ограничивается этой ситуацией), когда часть ПС уже хранится в памяти БПС.

Также задачей изобретения является создание способа загрузки ПС, который обладает общностью и гибкостью в условиях непрерывного обновления ПС, направляемого в совокупности БПС различных вариантов и/или типов, при наличии или без наличия значительной унифицированности потребностей в отдельных частях этих ПС, причем на обновления могут влиять от небольшого объема ПС до всех ПС полностью, причем обновления должны быть адаптированными к типу БПС и/или их варианту. Кроме того, задачей изобретения является создание такого способа для условий использования, когда типы и варианты, а также версии файлов ПС размножаются.

Еще одной задачей изобретения является создание способа загрузки ПС, который исключает риск ошибок оператора в предоставлении информации, которая контролирует то, какие ПС должны поступать на какие БПС и на какие субблоки БПС, а также управляет выбором каналов сигнализации для использования при такой загрузке. Кроме того, задачей изобретения является исключение риска в такой системе, связанного с загрузкой несовместимых субфайлов ПС.

В соответствии с одним из аспектов изобретения вышеуказанные результаты достигаются в сетевой системе, содержащей первый узел, связанный с вторым узлом, которые могут представлять собой, например, одну БПС, связанную с другой БПС в сотовой системе связи. Способ и устройство, соответствующие изобретению, обеспечивают передачу одного или более желательных файлов ПС к второму узлу следующим образом. В первом узле вызывается меню, которое содержит перечень идентификаторов файлов программных средств, причем каждый идентификатор файла программных средств идентифицирует один из множества файлов программных средств. Затем перечень идентификаторов файлов программных средств пересылается с первого узла на второй узел. Во втором узле каждый из идентификаторов файлов программных средств анализируется. Формируется отклик, который содержит для каждого из идентификаторов файлов программных средств индикацию того, является ли соответствующий файл из множества файлов желательным или нежелательным. В соответствии с другим аспектом изобретения индикация того, является ли файл программных средств нежелательным, может включать альтернативные индикации того, что данный файл программных средств уже загружен или что он запрещен к загрузке. В случае, когда первый узел принимает индикацию того, что конкретный файл программных средств уже загружен, может осуществляться дальнейшая обработка для определения того, следует ли загружать этот файл программных средств во второй узел, несмотря на индикацию о том, что данные программные средства уже загружены (т.е. для определения того, следует ли принудительно загружать данный файл программных средств во второй узел).

Отклик затем пересылается с второго узла в первый узел, где он анализируется. Первый узел затем вызывает те из множества файлов программных средств, которые соответствуют идентификаторам файлов программных средств, которые были указаны вторым узлом как желательные. В соответствии с одним из аспектов изобретения, если первый узел представляет собой БПС в сотовой сети связи, то желательные файлы программных средств вызываются из памяти, входящей в состав контроллера базовых станций (КБС). В другом варианте КБС запрашивает желательные файлы программных средств из системы обеспечения процедур функционирования (СОПФ), где осуществляется их локальное хранение. После вызова этих файлов из локальной памяти СОПФ затем пересылает желательные файла программных средств в КБС.

После получения желательных файлов программных средств первый узел пересылает их второму узлу.

В другом аспекте изобретения этап передачи перечня идентификаторов файлов программных средств второму узлу включает передачу первым узлом идентификаторов файлов программных средств второму узлу по одному в каждый данный момент времени и ожидание отклика на каждый запрос, прежде чем посылать следующий идентификатор файла программных средств.

Еще в одном из аспектов изобретения этапы предоставления меню (т.е. идентификаторов файлов программных средств) второму узлу, приема отклика в первом узле и передачи желательных файлов от первого узла второму узлу повторяются в каждой из двух фаз, так что в первой фазе второй узел может запросить, чтобы более сложная программа самозагрузки была загружена и запущена. Затем во второй фазе загрузки более сложная программа самозагрузки, запущенная во втором узле, принимает решение о том, какие последующие файлы принимать от первого узла.

Краткое описание чертежей Задачи и преимущества изобретения поясняются в последующем подробном описании, иллюстрируемом чертежами, на которых показано следующее: Фиг. 1(a) и 1(b) - блок-схемы компонентов сотовых систем связи, имеющих отношение к загрузке программных средств в соответствии со способом, известным из предшествующего уровня техники.

Фиг. 2 - блок-схема компонентов сотовой системы связи, включая пакеты программных средств, соответствующая настоящему изобретению.

Фиг. 3 - блок-схема высокого уровня, иллюстрирующая последовательность операций загрузки, осуществляемых в контроллере базовой станции в соответствии с настоящим изобретением.

Фиг. 4(a) и 4(b) - более детальная блок-схема для первой фазы операций загрузки, которые выполняются в контроллере базовой станции в соответствии с настоящим изобретением.

Фиг. 5 (a) и (b) - более детальная блок-схема второй фазы операций загрузки, которые выполняются в контроллере базовой станции в соответствии с настоящим изобретением.

Фиг. 6 - блок-схема последовательности операций загрузки, которые выполняются в базовой приемопередающей станции субблоком в состоянии самозагрузки в соответствии с настоящим изобретением.

Фиг. 7 - блок-схема последовательности операций загрузки, которые выполняются в базовой приемопередающей станции субблоком в состоянии запуска в соответствии с изобретением.

Фиг. 8 - диаграмма состояний перехода для состояний "самозагрузки" и "запуска" для субблока базовой приемопередающей станции в соответствии с настоящим изобретением.

Фиг. 9(a) и (b) - компоненты пакета программных средств, предназначенных для использования в соответствии с изобретением.

Описание предпочтительных вариантов осуществления изобретения Различные признаки изобретения будут описаны ниже со ссылками на чертежи, на которых одинаковые элементы обозначены одинаковыми ссылочными позициями. Хотя изобретение описано в применении к сотовым системам связи, однако оно не ограничивается таким использованием. Напротив, приведенный пример осуществления показан только для иллюстрации.

На фиг. 2 иллюстрируются те компоненты сотовой системы связи, которые имеют отношение к настоящему изобретению. Как показано на чертеже, КБС 201 соединен с некоторым числом n БПС 203-1,..., 203-n (далее обозначены ссылочной позицией 203). Каждая из БПС 203 включает в себя ряд субблоков: в БПС 203-1 это субблоки 213-1-1, 213-1-2,..., 213-1-m1; в БПС 203-n это субблоки 213-n-1, 213-n-2,..., 213-n-mn. В общем случае количество субблоков 213-х в конкретной БПС 203-х не зависит от количества субблоков в любой другой БПС и поэтому выражено значением mx. Субблоки будут обозначаться ссылочной позицией 213, но это не означает, что каждый из этих субблоков выполняет одни и те же функции. Каждый из субблоков 213 включает процессор 217-x-y (1 x n; 1 y mn) и память для хранения субпрограммы 219-х-у. Как упоминалось ранее, субблоки 213-х в одной и той же БПС 203-х имеют, а общем случае, полностью различные функции и конструкцию и поэтому определяются как относящиеся к различным классам. Программный код, загружаемый в любой конкретный субблок 213 должен соответствовать классу субблока. Например, субблок 213-1-1 может относиться к блоку ЦФБС, а субблоки 213-1-2,..., 213-1-m1 могут относиться к классу приемопередатчиков. Субблоки 213 одного и того же класса в различных БПС 203 не обязательно идентичны по своей конструкции, так что загружаемые ПС 219 должны также соответствовать типу и варианту субблока. Могут существовать различные версии ПС для идентичных конструкций субблоков, что обеспечивает субблоки с различными функциональными возможностями.

В типовом случае более высокий уровень версии ПС обеспечивает более высокие функциональные возможности. Уровень версии ПС в одном субблоке 213 может быть или не быть совместимым с версиями ПС в других субблоках в той же самой БПС 203. Это применимо как для ПС одного и того же класса, так и к ПС разных классов. Кроме того, могут иметься субверсии одной версии, обеспечивающей эквивалентные возможности для класса, но с различными свойствами, так что выбор субверсии предоставляется оператору КБС 201 или СОПФ 233 или программе оптимизации СОПФ. Субблоки 213 БПС 203 могут взаимно соединяться посредством шины или системы шин 214, так что они могут обмениваться данными друг с другом более или менее ограниченным способом. В некоторых БПС 203 данная шина 214 может использоваться в целях пересылки загружаемых ПС от одного субблока к другому. Однако эти функциональные возможности могут отсутствовать в других БПС 203.

В соответствии с одним из аспектов изобретения каждый из субблоков 213 работает в одном из по меньшей мере двух состояний: состояние самозагрузки 801 и состояние запуска 803. На фиг. 8 представлена диаграмма перехода состояний, которая показывает, каким образом различные операции, описанные ниже, влияют на состояние субблока 213.

В рассматриваемом варианте осуществления КБС 201 непосредственно соединен с каждым из субблоков 213-1-1,..., 213-1-m1,..., 213-n-1,..., 213-n-mn посредством соответствующих каналов сигнализации 215-1-1,..., 215-1-m1,..., 215-n-1, . .., 215-n-mn. Канал сигнализации 215 может представлять собой соединение Уровня 1 (т.е физическое соединение), например временной слот с ИКМ с использованием или без использования дополнительного мультиплексирования. Как вариант, канал сигнализации 215 может представлять собой канал передачи данных Уровня 2 стандарта OSI на физическом соединении. Как хорошо известно из предшествующего уровня техники, различные каналы передачи данных Уровня 2 могут выполняться на одном и том же физическом соединении. Конкретное выполнение канала сигнализации 215 не существенно для настоящего изобретения и поэтому далее не будет рассматриваться более подробно и на фиг.2 не показано. Конкретный выбор протокола для использования при реализации Уровня 2 и канала связи также не существенны для изобретения, которое применимо к любому протоколу или конфигурации, которые обеспечивают логически независимые каналы сигнализации между КБС 201 и каждым субблоком 213 каждой БПС 203. Примерами хорошо известных уровней каналов передачи данных могут служит LAPD в системе ETS 300 125 (Цифровая сеть с комплексными услугами - ISDN); Применение Рекомендаций MKKTT Q.920/I.440 и Q.921/I.441 к Спецификациям Уровней каналов передачи данных интерфейса "пользователь-сеть"; LAPB в протоколе X. 25 МККТТ или Уровень 2, представленный в Системе сигнализации N 7. Логически, путем комбинирования селекции (коммутации) Уровня 1 и адресации Уровня 2 в каналах сигнализации 215 все субблоки 213 соединяются непосредственно и одинаково с КБС 201 в конфигурации типа звезды. Однако настоящее изобретение не ограничено данной конфигурацией, а включает в себя все возможные схемы, посредством которых КБС 201 осуществляет точное управление тем из субблоков 213, с которым он осуществляет связь (и, разумеется, той БПС 203, в которой находится данный субблок 213).

В соответствии с настоящим изобретением БПС 203 должна быть заранее обеспечена информацией, идентифицирующей, какой пакет ПС 221 должен быть загружен в каждую из БПС 203. Кроме того, либо КБС 201, либо СОПФ 233 должны быть заранее обеспечены и хранить пакеты ПС 221 для БПС 203, предположительно по одному пакету ПС 221 для каждого полностью отличающегося поколения БПС 203 и/или для каждого типа БПС 203 соответствующих изготовителей.

Пакет ПС 221, который используется в рассматриваемом варианте осуществления, показан детально на фиг.9(a) и 9(b). Как можно видеть из фиг.9(a), пакет ПС 221 состоит из ряда субфайлов, включая файл заголовка 911, один или более других субфайлов 921-1,..., 921-k, которые представляют собой субпрограммы, которые должны загружаться в один или более субблоков 213. Каждый из субфайлов 921-1, . . . , 921-k идентифицирован номером пересмотра файла ("FR"). Например, как показано на фиг.9(a), первый субфайл содержит субпрограмму, идентифицированную как FR1, последний субфайл идентифицирован как FRk.

Подобно большинству программных средств, субфайлы БПС регулярно обновляются, иногда для того, чтобы учесть изменения в аппаратных средствах, иногда для введения усовершенствований, связанных исключительно с программными средствами. Такие изменения, которые приводят к новой версии ПС, могут означать изменения в одном или нескольких субфайлах, которые должны работать совместно. Также изменения в числе субфайлов, которые компонуются вместе, могут представлять собой уровень новой версии. Для того чтобы отслеживать эти различные версии, номер пересмотра файла также включает в себя номер версии. В одном из возможных применений такого номера он обновляется не только в измененных субфайлах, но и в неизмененных субфайлах, которые компонуются вместе с измененными субфайлами. Это обеспечивает то, что все субфайлы, которые соответствуют конкретному типу и варианту БПС, будут иметь один и тот же номер версии.

Кроме того, в соответствии с настоящим изобретением файл заголовка 911 содержит меню 930, которое содержит перечень всех идентификаторов пересмотра файлов 931-1, . . . , 931-k в соответствии с номерами пересмотра файлов для субфайлов 921-1,..., 921-k, содержащихся в пакетах ПС 221 для БПС (см. фиг. 9(b)). Каждый из идентификаторов пересмотра файлов 931-1,..., 931-k всеобщим и уникальным образом идентифицирует субфайл 921, так что соответствующий файл может быть локализован и считан с использованием соответствующей системы хранения файлов в КБС 201 или в СОПФ 233.

В соответствии с возможным вариантом осуществления изобретения загрузка осуществляется следующим образом, иллюстрируемым на фиг. 3-7. В возможных других вариантах части этапов или все этапы полностью, описываемые здесь как выполняемые в КБС 201, могут также выполняться в СОПФ 233, о чем будет производиться сигнализация в БПС 203 через КБС 201.

В соответствии с фиг. 3 загрузка инициируется (этап 301) одним из описанных ниже возможных событий: Выдача команды от оператора КБС, требующей, чтобы операция загрузки была нацелена на одну БПС 203-х; Выдача команды от оператора КБС, требующей, чтобы операция загрузки была нацелена на выбранную группу БПС 203; Выдача команды от оператора КБС, требующей, чтобы операция загрузки была нацелена на все БПС 203, соединенные с КБС 201; Выдача команды от оператора СОПФ, требующей, чтобы операция загрузки была нацелена на одну БПС 203-х; Выдача команды от оператора СОПФ, требующей, чтобы операция загрузки была нацелена на выбранную группу БПС 203; Выдача команды от оператора СОПФ, требующей, чтобы операция загрузки была нацелена на все БПС 203, соединенные с КБС 201; Прием КБС 201 сообщения от БПС 203, указывающего, что предшествующий отказ устранен (инициирование загрузки может быть выполнено автоматически КБС 201 после приема такого сообщения); Обнаружение КБС 201 признаков определенных сбоев в БПС, например, отсутствие ответа на некоторые команды.

Для каждой БПС 203-х (1 х n), являющейся потенциальным приемником одной или более субпрограмм 921-1,..., 921-k, локализуется соответствующий файл заголовка 911 и считывается в компьютерную память БПС (этап 303). Затем первый субблок 213-x-i (i=1), связанный с БПС 203, выбирается для обработки. Можно видеть, что проверка на этапе 315 ("Все субблоки обработаны?"), за которой следует выполнение этапа 317 ("выбрать следующий субблок 213-x-(i+1) для обработки") создает цикл обработки, так что этапы 307-313 выполняются для каждого из субблоков 213-x-i,..., 213-х-mх в БПС 203-х. При выполнении этапов 307-313 для конкретного субблока 213-x-i (1 i mx) осуществляется обмен сообщениями с субблоком 213-x-i с использованием соответствующего канала сигнализации 215-x-i. Хотя в рассматриваемом примере каждый субблок 213 обрабатывается один раз последовательно (в процессе выполнения этапов 307-317), это не является обязательным требованием для изобретения. Напротив, специалистам в данной области техники должно быть ясно, что способы, описанные здесь, могут быть применены для обработки всех блоков 213 одновременно.

В рассматриваемом примере осуществления обработка, выполняемая в КБС 210 на этапах 307-313, спроектирована для осуществления двухфазной операции загрузки. На первой фазе выполнения каждому субблоку 213-x-i предоставляется возможность использовать резидентную программу самозагрузки (или, как вариант, выполняемую прикладную программу, которая эмулирует программу самозагрузки) для выбора субфайлов для загрузки и запуска. В соответствии с изобретением субфайлы, переносимые в процессе выполнения этой фазы, сами могут быть программами самозагрузки, которые могут выполнять более сложную операцию загрузки программы, чем операция, выполняемая резидентной программой самозагрузки. Поэтому за первой фазой следует вторая фаза, на которой каждый субблок 213-x-i вновь получает возможность выбрать субфайлы, подлежащие загрузке и запуску. Однако в течение второй фазы именно программа, которая была загружена и запущена в течение первой фазы, принимает решения. Разумеется, возможные варианты осуществления не ограничиваются двумя фазами, а могут быть распространены на любое необходимое число фаз, которое соответствует конкретным условиям использования.

Ниже будут описаны две фазы для рассматриваемого варианта осуществления изобретения. На этапе 307 КБС 201 вызывает процедуру "меню запроса фазы самозагрузки в файле заголовка". Данная процедура (описанная ниже более подробно со ссылками на фиг. 4(a) и (b)) проходит через файл заголовка 911 и определяет для каждого перечисленного идентификатора пересмотра файла 931-1, ..., 931-k, должен ли соответствующий субфайл 921-1,...,921-k передаваться к субблоку 213-x-i. Выполнение на этапе 307 также гарантирует, что выбранные субфайлы загружаются в субблок 213-x-i. В соответствии с предпочтительным вариантом осуществления изобретения выбор субфайла и последующая загрузка выполняются путем поочередного запроса блока 213-x-i относительно субфайла 921-j (1 j k) и затем в зависимости от полученного ответа и возможной другой информации передачи субфайла 921-j к субблоку 213-х-i.

Следует отметить, что поскольку процедура "меню запроса фазы загрузки в файле заголовка" может выполняться без осуществления загрузки вообще (т.е. субблок 213-x-i может отказаться от всех предоставляемых файлов 921), то субблок 213-x-i необязательно должен вводиться в состояние самозагрузки 801 перед выполнением этапа 307. Предпочтительно избегать введения субблока 213-x-i в состояние запуска и выведения его из этого состояния, поскольку переходы между состояниями могут привести к запуску других посторонних процедур, требующих времени, например, связанных с тестированием аппаратных средств. Поэтому в рассматриваемом варианте осуществления такие переходы между состояниями минимизированы. В случае, если субблок 213-x-i находится в состоянии запуска 803 в момент начала выполнения этапа 307, то процедура "меню запроса фазы самозагрузки в файле заголовка" будет вынуждать субблок 213-x-i перейти в состояние самозагрузки 801, если субфайл 921-j действительно выбран для загрузки.

После обработки на этапе 307 КБС 201 использует соответствующий канал сигнализации 215-x-i для передачи команды "установка в состояние запуска" на субблок 213-x-i. Это вынуждает субблок 213-x-i выйти из состояния самозагрузки 801, если он в нем находился, и перейти в состояние запуска 803. Любые субфайлы 921-j, которые были загружены в результате выполнения этапа 307, начнут выполняться. В соответствии с одним из аспектов изобретения эти загруженные субфайлы 921-j могут сами создавать программу самозагрузки, которая будет управлять тем, какие субфайлы 921-j должны загружаться в течение следующей фазы самозагрузки (описано ниже).

Затем на этапе 311 КБС 201 переходит на вторую фазу процесса загрузки путем вызова процедуры "меню запроса фазы запуска в файле заголовка" (описано более детально ниже со ссылками на фиг.5(a) и (b)). Подобно процедуре, вызванной на этапе 307, процедура "меню запроса фазы запуска в файле заголовка" проходит через файл заголовка 911 и определяет для каждого из перечисленных идентификаторов пересмотра файлов 931-1,..., 931-k, должен ли соответствующий субфайл 921-1, ..., 921-k передаваться к субблоку 213-x-i. Выполнение этапа 311, таким образом, гарантирует, что выбранные субфайлы 921 загружаются в субблок 213-x-i.

После завершения вызова этой процедуры передачи субфайлов КБС 201 передает метку "конец пакета" в субблок 213-x-i. Как будет пояснено ниже, прием метки "конец пакета" субблоком 213-x-i обеспечивает то, что субблок 213-x-i сначала определяет, какой из загруженных файлов должен быть запущен и затем запускает эти файлы.

Затем как пояснено выше, на этапе 315 определяется, следует ли выполнять процедуру загрузки для каждого из субблоков 213-x-i,..., 213-х-mх в БПС 203-х. Если да, то обработка завершается в блоке 319. В противном случае на этапе 317 выбирается следующий субблок 213-x-(i-1) и повторяется обработка на этапах 307-313.

Таким образом, для каждого субблока 213-x-i КБС 201 выполняет соответствующую процедуру запроса файлов дважды: один раз на этапе 307 и затем снова на этапе 311. Различные файлы могут быть загружены в процедуре "запроса фазы запуска..." по сравнению с процедурой "запроса фазы самозагрузки...", поскольку принимающий субблок 213-x-i находится в различном состоянии и выполняет разные программы при каждом из этих двух вызовов. Таким образом, при выполнении этапа 307 субблок 213-x-i может быть в состоянии самозагрузки 801, выполняя резидентную программу самозагрузки (или в состоянии запуска 803, выполняя прикладную программу, которая эмулирует резидентную программу самозагрузки). В противоположность этому при выполнении этапа 311 субблок 213-x-i гарантированно находится в состоянии запуска 803 в результате передачи команды "установка запуска" в субблок 213-x-i (этап 309). В состоянии запуска 803 субблок 213-x-i будет использовать либо программу самозагрузки, которая была только что загружена, либо прикладную программу, которая была загружена ранее, в целях принятия решений о загрузке на второй фазе процесса загрузки.

На фиг. 4(a) и 4(b) более детально показаны операции процедуры "меню запроса фазы самозагрузки в файле заголовка" для КБС, вызываемой на этапе 307. Эта процедура передачи субфайлов на фазе 1 начинается при ее вызове (этап 4). На этапе 403 выполняется инициализация процедуры путем выбора идентификатора пересмотра первого файла 931-j (j=1) из меню 930. Затем на этапе 405 КБС 201 использует канал сигнализации 215-x-i для передачи сообщения в субблок 213-x-i, запрашивающего о том, является ли субпрограмма, идентифицированная идентификатором пересмотра файла 931-j, "желательной", "уже загруженной" или "запрещенной" для загрузки.

Субблок 213-x-i генерирует отклик в соответствии с методами, описанными ниже со ссылками на фиг.6 и 7, и затем возвращает отклик в КБС 201. Отклик принимается КБС 201 на этапе 407 и затем на этапе 409 выделяется "ответ состояния самозагрузки". Поскольку субблок 213-x-i может находиться в состоянии запуска 803, то отсутствует требование, чтобы он обеспечивал "ответ состояния самозагрузки" в своем отклике, хотя это является допустимым действием на этапе запуска 803. Таким образом, необходимо на этапе 411 определить, присутствует ли действительно в принятом отклике "ответ состояния самозагрузки".

Если в отклике отсутствует "ответ состояния самозагрузки", то необходимо принудительно перевести субблок 213-x-i в состояние самозагрузки 801, так чтобы запрос мог быть повторен в отношении данной конкретной субпрограммы. Соответственно на этапе 413 канал сигнализации 215-x-i используется для передачи команды "установка в состояние самозагрузки" на субблок 213-x-i. Затем выполнение обработки переходит на этап 405 и процедура повторяется.

Если "ответ состояния самозагрузки" был успешно выделен из отклика, то выполнение обработки переходит на этап 415 для определения сущности ответа. Если субблок 213-x-i указал, что субпрограмма, идентифицированная идентификатором пересмотра программы 931-j, "запрещена" к загрузке, то осуществляется переход на этап 427, где выполняется проверка того, все ли идентификаторы